نصب Debian بهعنوان سرور
راهنمای تخصصی نصب Debian Stable برای محیط سرور: نصب حداقلی، پارتیشنبندی LVM، شبکه، SSH و نقشهای سرور با tasksel.
Debian یکی از محبوبترین توزیعها برای سرور است؛ پایداری بالا، پشتیبانی بلندمدت و منابع کم، آن را به انتخابی ایدهآل برای سرورهای تولیدی تبدیل میکند. در این آموزش، نصب Debian بهعنوان سرور را بهصورت تخصصی بررسی میکنیم.
تفاوت نصب سرور با دسکتاپ
| معیار | سرور | دسکتاپ |
|---|---|---|
| دسکتاپ گرافیکی | ندارد | دارد |
| نصب نرمافزار | حداقلی | کامل |
| پارتیشنبندی | LVM + پارتیشنهای جدا | ساده |
| SSH | فعال | اختیاری |
| منابع | حداقل | متوسط |
| ابزارها | سرویسها، ابزار مدیریتی | برنامههای کاربردی |
پیشنیازها
- ISO netinst از آموزش دانلود
- دسترسی فیزیکی یا کنسول به سرور
- اتصال شبکه (ترجیحاً کابلی)
- آدرس IP ثابت (یا اطلاعات DHCP)
- حداقل ۲ گیگابایت رم، ۲۰ گیگابایت دیسک
مرحله ۱: بوت با Install (متنی) بهجای Graphical
برای سرورها، گزینهٔ Install (نه Graphical Install) را انتخاب کنید. این نصبگر متنی سبکتر است و روی سرورهای بدون گرافیک یا کنسول سریال بهتر کار میکند:
Debian GNU/Linux installer menu
Graphical Install
Install ← این گزینه را انتخاب کنید
Advanced options
Helpنصب از راه دور با serial console
اگر سرور از راه دور از طریق IPMI/iLO/iDRAC متصل است، گزینهٔ Advanced options → Expert install یا پارامتر بوت console=ttyS0,115200 را اضافه کنید تا نصبگر از کنسول سریال استفاده کند.
مرحله ۲: تنظیمات اولیه
مشابه نصب گامبهگام دسکتاپ:
- زبان: English (بهترین انتخاب برای سرور)
- کشور: نزدیکترین کشور با mirror سریع (مثلاً Germany یا Netherlands)
- کیبورد: American English
- نام میزبان:
web-server-01یاdb-prod-01(با الگوی نامگذاری سازمان) - دامنه:
example.localیاcorp.example.com
مرحله ۳: پارتیشنبندی LVM
برای سرور، LVM بهشدت توصیه میشود:
Partition disks
Guided - use entire disk and set up LVM
(انتخاب دیسک: /dev/sda)
Separate /home, /var, and /tmp partitions? Yesطرح پیشنهادی سرور:
| LV | اندازهٔ پیشنهادی | نقطهٔ سوار شدن | دلیل |
|---|---|---|---|
| root | ۲۰ گیگابایت | / | سیستم |
| var | ۵۰ گیگابایت | /var | لاگها، بستهها، دادههای سرویسها |
| tmp | ۵ گیگابایت | /tmp | فایلهای موقت |
| home | ۱۰ گیگابایت | /home | فایلهای کاربران |
| swap | ۱ تا ۲ برابر رم | swap | حافظهٔ مجازی |
چرا /var را جدا کنیم؟
پارتیشن /var شامل لاگها، دادههای دیتابیس، کش APT و فایلهای وبسرور است. اگر /var در همان / باشد، پر شدن ناگهانی آن میتواند کل سیستم را از کار بیندازد. جداسازی از این مشکل جلوگیری میکند.
مرحله ۴: نصب سیستم پایه
پس از تأیید پارتیشنبندی، نصبگر شروع به نصب سیستم پایه میکند. این مرحله ۱۰ تا ۲۰ دقیقه طول میکشد.
مرحله ۵: پیکربندی Package Manager
Debian archive mirror country: Germany
Debian archive mirror: deb.debian.org
Use non-free firmware? Yes
Use non-free software? No ← برای سرور معمولاً نیازی نیست
Use contrib software? Yes
Use source packages? Noفعالکردن non-free فقط در صورت نیاز
برای سرورها، بهترتیب اولویت فقط main و contrib را فعال کنید. اگر کارت شبکه یا RAID خاصی دارید که نیاز به درایور غیرآزاد دارد، آنگاه non-free-firmware و non-free را اضافه کنید.
مرحله ۶: انتخاب نرمافزار با tasksel
مهمترین مرحله در نصب سرور، انتخاب نقشهاست:
Software selection:
[ ] Debian desktop environment ← باید خاموش باشد
[ ] ... GNOME
[ ] ... KDE Plasma
[ ] ... Xfce
[ ] web server
[ ] print server
[ ] SSH server ← حتماً فعال کنید
[*] standard system utilities ← حتماً فعال باشددسکتاپ را خاموش کنید
برای سرور، هیچ دسکتاپی را فعال نکنید. نصب دسکتاپ نهتنها فضای دیسک اشغال میکند، بلکه سرویسهای گرافیکی، صوتی و دیگر سرویسهای غیرضروری را نصب میکند که سطح حمله را افزایش میدهند.
نقشهای پیشفرض tasksel:
| نقش | بستههای نصبشده | مناسب برای |
|---|---|---|
| web server | Apache 2، apache2-utils | سرور وب |
| print server | CUPS | سرور چاپ |
| SSH server | OpenSSH | ورود از راه دور (توصیه میشود) |
| standard system utilities | ابزارهای پایه | همهٔ سرورها |
نصب نقشها بعد از نصب
میتوانید بعد از نصب با tasksel نقشهای جدید اضافه کنید:
sudo tasksel install web-server
sudo tasksel install dns-serverاین کار از نصب نرمافزارهای تکراری در زمان نصب جلوگیری میکند.
مرحله ۷: نصب GRUB و اتمام
- GRUB را روی
/dev/sda(یا nvme0n1) نصب کنید. - پس از اتمام نصب، فلش را جدا و ریاستارت کنید.
مرحله ۸: ورود و تنظیمات پس از نصب
پس از بوت، با کاربری که ساختید وارد شوید. سپس تنظیمات اولیهٔ سرور را انجام دهید:
۸.۱: بهروزرسانی سیستم
sudo apt update
sudo apt full-upgrade -y
sudo apt autoremove -y۸.۲: تأیید سرویس SSH
sudo systemctl status ssh
# Active: active (running)
# اگر نصب نبود:
sudo apt install openssh-server
sudo systemctl enable --now ssh۸.۳: تنظیم hostname و timezone
# تنظیم hostname
sudo hostnamectl set-hostname web-server-01
# تنظیم timezone
sudo timedatectl set-timezone Asia/Tehran
# تأیید
hostnamectl
timedatectl۸.۴: تنظیم IP ثابت (در صورت نیاز)
اگر از DHCP استفاده نمیکنید، IP ثابت تنظیم کنید:
# با ifupdown (پیشفرض در سرورهای بدون GUI)
sudo nano /etc/network/interfaces# /etc/network/interfaces
source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
auto ens18
iface ens18 inet static
address 192.168.1.10/24
gateway 192.168.1.1
dns-nameservers 8.8.8.8 1.1.1.1sudo systemctl restart networking
ip addr show ens18برای جزئیات بیشتر به آموزش تنظیم شبکه مراجعه کنید.
۸.۵: نصب ابزارهای ضروری
sudo apt install -y curl wget vim htop tmux ufw fail2ban| بسته | کاربرد |
|---|---|
| curl، wget | دانلود فایل |
| vim | ویرایشگر متن |
| htop | مانیتورینگ منابع |
| tmux | مدیریت نشست ترمینال |
| ufw | فایروال ساده |
| fail2ban | محافظت از SSH در برابر brute-force |
۸.۶: فعالسازی فایروال
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw enable
sudo ufw status verboseپورت SSH را باز بگذارید
قبل از فعالکردن ufw، مطمئن شوید پورت SSH (۲۲) را باز کردهاید. در غیر این صورت، دسترسی خود را از دست میدهید.
مرحله ۹: نصب سرویسهای سرور
برای نصب سرویسهای رایج، میتوانید از tasksel یا apt استفاده کنید:
# وبسرور Apache
sudo apt install -y apache2
# وبسرور Nginx
sudo apt install -y nginx
# دیتابیس PostgreSQL
sudo apt install -y postgresql postgresql-contrib
# دیتابیس MariaDB (MySQL)
sudo apt install -y mariadb-server
# وبسرور با PHP
sudo apt install -y php php-fpm php-mysql
# Docker
sudo apt install -y docker.io docker-composeمرحله ۱۰: بهینهسازی سرور
کاهش swappiness
# پیشفرض ۶۰ است، برای سرور ۱۰ توصیه میشود
echo 'vm.swappiness=10' | sudo tee /etc/sysctl.d/99-swappiness.conf
sudo sysctl -p /etc/sysctl.d/99-swappiness.confفعالسازی بهروزرسانی خودکار امنیتی
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgradesبهروزرسانی خودکار امنیتی
برای سرورهای تولیدی، فعالکردن unattended-upgrades ایدهٔ خوبی است. بهروزرسانیهای امنیتی بهطور خودکار نصب میشوند، اما بهروزرسانیهای معمولی نصب نمیشوند تا شکستگی پیش نیاید.
خطاهای رایج
۱. عدم دسترسی SSH پس از نصب
مشکل: پس از نصب، نمیتوانید SSH کنید.
راهحل:
# بررسی وضعیت SSH
sudo systemctl status ssh
# بررسی پورت
sudo ss -tlnp | grep :22
# بررسی فایروال
sudo ufw status
# اگر ufw فعال است و SSH را باز نکردهاید:
sudo ufw allow ssh۲. نصب متوقف در "Select and install software"
مشکل: نصبگر در این مرحله گیر میکند.
راهحل: معمولاً مشکل از mirror است. با Ctrl+Alt+F2 به یک ترمینال بروید و اتصال شبکه را بررسی کنید:
ping -c 3 deb.debian.org۳. خطای پارتیشن LVM
مشکل: پس از نصب با LVM، سیستم به initramfs میافتد.
راهحل: مطمئن شوید /boot بهصورت پارتیشن جداگانه (نه LV) ساخته شده است.
خلاصه و مرحلهٔ بعد
نصب Debian بهعنوان سرور فرایندی متفاوت با دسکتاپ است: نصبگر متنی، پارتیشنبندی LVM با پارتیشنهای جدا، انتخاب فقط SSH و standard utilities، و سپس نصب سرویسها با tasksel یا apt. این رویکرد حداقلی، سروری سبک، امن و پایدار به شما میدهد.
بهعنوان گام بعدی:
- آموزش تنظیم شبکه را برای پیکربندی IP و DNS ببینید
- آموزش SSH را برای امنسازی ورود از راه دور بخوانید
- آموزش systemd را برای مدیریت سرویسها مطالعه کنید
این صفحه در تاریخ ۹ تیر ۱۴۰۵ بهروزرسانی شده است.