سرور مجازی لینوکس یکی از محبوبترین گزینهها برای میزبانی وبسایتها و اپلیکیشنهاست. انعطافپذیری، امنیت و کارایی بالا باعث شده است که بسیاری از کاربران به استفاده از سرور مجازی (VPS) روی بیاورند. با این حال، برای بهرهبرداری بهینه از سرور لینوکس، نیاز به کانفیگ دقیق و اصولی داریم. در این مقاله، به آموزش قدم به قدم کانفیگ سرور مجازی لینوکس میپردازیم و با استفاده از دستورهای کاربردی، شما را در این مسیر راهنمایی میکنیم.
کانفیگ سرور مجازی لینوکس
سرور مجازی لینوکس یا VPS، یک ماشین مجازی است که بر روی سرورهای فیزیکی با استفاده از فناوری مجازیسازی اجرا میشود. این سرور به کاربر اجازه میدهد تا مانند یک سرور اختصاصی، دسترسی کامل به منابع سختافزاری و نرمافزاری داشته باشد. سرور مجازی لینوکس مناسب کاربرانی است که نیاز به انعطافپذیری بالا و امکان مدیریت و کانفیگ سرور خود را دارند.

پیشنیازهای کانفیگ سرور لینوکس
قبل از شروع آموزش کانفیگ سرور مجازی لینوکس، باید مطمئن شوید که به پیشنیازهای زیر دسترسی دارید:
۱. دسترسی به یک VPS لینوکس با توزیع محبوبی مثل Ubuntu، CentOS یا Debian.
۲. آشنایی اولیه با دستورات لینوکس و محیط ترمینال.
۳. دسترسی به اینترنت برای دانلود بستههای نرمافزاری.
۴. یک کلاینت SSH مانند PuTTY برای اتصال به سرور.
مراحل اولیه کانفیگ سرور مجازی لینوکس
کانفیگ سرور مجازی شامل چندین مرحله مهم است که هر کدام نقش حیاتی در عملکرد و امنیت سرور شما دارند. این مراحل به ترتیب اجرا میشوند و شما میتوانید از این راهنما به عنوان نقشه راه استفاده کنید.
نصب و تنظیمات اولیه لینوکس
پس از دسترسی به سرور مجازی از طریق SSH، اولین قدم، بهروزرسانی سیستم است. این کار تضمین میکند که آخرین بستههای امنیتی و بهروزرسانیها بر روی سرور نصب شدهاند. دستور زیر را برای بهروزرسانی سیستم اجرا کنید:
sudo apt update && sudo apt upgrade -y
نصب و پیکربندی وبسرور Apache/Nginx
برای راهاندازی وبسایت، نیاز به نصب یک وبسرور دارید. در لینوکس، دو وبسرور محبوب وجود دارد: Apache و Nginx. شما میتوانید بر اساس نیاز خود یکی از این وبسرورها را نصب کنید.
نصب Apache
برای نصب Apache، دستور زیر را اجرا کنید:
sudo apt install apache2
پس از نصب، سرویس Apache را راهاندازی کنید:
sudo systemctl start apache2
sudo systemctl enable apache2
نصب Nginx
برای نصب Nginx، از دستور زیر استفاده کنید:
sudo apt install nginx
پس از نصب، سرویس Nginx را فعال کنید:
sudo systemctl start nginx
sudo systemctl enable nginx
امنیت سرور لینوکس (فایروال، SSH)
امنیت سرور لینوکس بسیار مهم است و شما باید اقداماتی را برای جلوگیری از حملات انجام دهید. در این بخش به تنظیم فایروال و امنیت SSH میپردازیم.
تنظیم فایروال (Firewall)
برای مدیریت ترافیک ورودی و خروجی سرور، از فایروال استفاده میشود. در Ubuntu میتوانید از UFW (Uncomplicated Firewall) استفاده کنید. برای فعالسازی فایروال و باز کردن پورتهای لازم، از دستورات زیر استفاده کنید:
sudo ufw allow OpenSSH
sudo ufw allow ‘Apache Full’
sudo ufw enable
افزایش امنیت SSH
برای افزایش امنیت SSH، به شما توصیه میشود که پورت پیشفرض ۲۲ را تغییر دهید و از کلیدهای SSH استفاده کنید. ابتدا فایل پیکربندی SSH را ویرایش کنید:
sudo nano /etc/ssh/sshd_config
پورت پیشفرض را به پورت دیگری تغییر دهید (مثلا ۲۲۲۲):
Port 2222
سپس سرویس SSH را مجددا راهاندازی کنید:
sudo systemctl restart sshd
نصب دیتابیس MySQL/MariaDB از بخش های مهم کانفیگ سرور مجازی لینوکس
برای میزبانی وبسایتهای دینامیک، نیاز به دیتابیس داریم. MySQL و MariaDB دو دیتابیس محبوب برای سرورهای لینوکسی هستند. برای نصب MySQL یا MariaDB از دستورات زیر استفاده کنید:
نصب MySQL
sudo apt install mysql-server
سپس دیتابیس را امنسازی کنید:
sudo mysql_secure_installation
نصب MariaDB
sudo apt install mariadb-server
پس از نصب، مشابه MySQL، MariaDB را امنسازی کنید.
مدیریت کاربران و سطح دسترسی در لینوکس
مدیریت کاربران و سطح دسترسی یکی از اساسیترین بخشهای امنیتی در سرورهای لینوکس است. کنترل دسترسی کاربران به منابع سیستمی و جلوگیری از دسترسی غیرمجاز به فایلها و سرویسها، به شدت برای امنیت سرور ضروری است.

ایجاد کاربر جدید
برای ایجاد یک کاربر جدید در لینوکس از دستور زیر استفاده کنید:
sudo adduser newuser
این دستور از شما خواستههای مختلفی مانند رمز عبور و اطلاعات اضافی برای کاربر جدید درخواست میکند. پس از ایجاد کاربر، میتوانید او را به گروههای خاصی مانند sudo اضافه کنید تا دسترسی بیشتری داشته باشد:
sudo usermod -aG sudo newuser
با این کار، کاربر newuser میتواند به عنوان مدیر سیستم عمل کند.
حذف کاربر
برای حذف یک کاربر، میتوانید از دستور زیر استفاده کنید:
sudo deluser username
این دستور کاربر مورد نظر را حذف میکند، اما اگر بخواهید همچنین پوشههای خانگی او را نیز پاک کنید، باید گزینه –remove-home را اضافه کنید:
sudo deluser –remove-home username
بهینهسازی عملکرد سرور لینوکس
بهینهسازی عملکرد سرور لینوکس میتواند به افزایش سرعت و کارایی کلی سرور کمک کند. با اعمال تغییراتی در تنظیمات سیستم و استفاده از ابزارهای خاص، میتوانید سرور خود را برای کارایی بهتر پیکربندی کنید.
تنظیمات کش و حافظه
لینوکس از مکانیزمهای مختلفی برای بهینهسازی مدیریت حافظه و پردازشها استفاده میکند. شما میتوانید با تغییر تنظیمات کشها و محدود کردن استفاده از منابع، به سرور کمک کنید تا بهرهوری بهتری داشته باشد. برای مثال، میتوانید swap را کاهش دهید یا تنظیمات vm.swappiness را بهینه کنید:
sudo sysctl vm.swappiness=10
این تنظیمات به سیستم کمک میکند تا کمتر از فضای swap استفاده کند و بیشتر به حافظه فیزیکی تکیه کند.
بهینهسازی سرویسها و برنامهها
میتوانید با بررسی سرویسهایی که در حال اجرا هستند، سرویسهای غیرضروری را متوقف کنید. برای مشاهده سرویسهای فعال از دستور زیر استفاده کنید:
sudo systemctl list-units –type=service
سرویسهایی که نیاز ندارید را میتوانید غیرفعال کنید:
sudo systemctl disable servicename
مانیتورینگ سرور لینوکس
مانیتورینگ منابع و عملکرد سرور یکی از مهمترین وظایف مدیریت سرور است. با استفاده از ابزارهای مناسب میتوانید منابعی مانند پردازشگر، حافظه، و شبکه را نظارت کنید و مشکلات احتمالی را شناسایی کنید.
استفاده از htop برای مانیتورینگ پردازشها
یکی از ابزارهای قدرتمند برای مانیتورینگ پردازشهای سیستم htop است. با نصب و اجرای این ابزار میتوانید بهصورت گرافیکی عملکرد CPU، حافظه و پردازشها را مشاهده کنید:
sudo apt install htop
htop
بررسی وضعیت شبکه با iftop
برای بررسی وضعیت شبکه و مشاهده میزان مصرف پهنای باند از ابزار iftop استفاده کنید. این ابزار میتواند ترافیک ورودی و خروجی سرور را نمایش دهد:
sudo apt install iftop
sudo iftop
پشتیبانگیری از سرور لینوکس
پشتیبانگیری منظم از دادههای سرور، از مهمترین کارهایی است که باید برای حفظ اطلاعات و تنظیمات حیاتی انجام شود. ابزارهایی مانند rsync و tar به شما امکان میدهند تا به راحتی فایلها و پوشههای سرور خود را پشتیبانگیری کنید.
پشتیبانگیری با rsync
rsync ابزاری قدرتمند برای همگامسازی فایلها و پوشهها بین دو سیستم مختلف یا دو مسیر در یک سیستم است. برای مثال، میتوانید از دستور زیر برای ایجاد یک نسخه پشتیبان از دایرکتوری /var/www/ در سرور دیگر استفاده کنید:
rsync -avz /var/www/ user@backup-server:/path/to/backup/
پشتیبانگیری با tar
اگر بخواهید بهصورت محلی پشتیبانگیری کنید، tar یک ابزار عالی برای فشردهسازی و آرشیو کردن فایلهاست. دستور زیر یک فایل فشرده از دایرکتوری /var/www/ ایجاد میکند:
tar -cvzf backup.tar.gz /var/www/
مدیریت بستهها و بهروزرسانیها در لینوکس
مدیریت بهروزرسانیها و بستهها در سرورهای لینوکس به کمک ابزارهایی مانند APT و Yum انجام میشود. این ابزارها به شما کمک میکنند تا نرمافزارها را نصب، بهروزرسانی یا حذف کنید.
نصب و مدیریت بستهها با APT
در توزیعهای Debian و Ubuntu، APT مدیریت بستهها را انجام میدهد. برای بهروزرسانی سیستم و نصب بستهها از دستورات زیر استفاده کنید:
sudo apt update
sudo apt upgrade
sudo apt install package-name
نصب و مدیریت بستهها با Yum
در توزیعهای RedHat و CentOS، مدیریت بستهها توسط Yum انجام میشود. برای نصب و بهروزرسانی بستهها از دستورات زیر استفاده کنید:
sudo yum update
sudo yum install package-name
تنظیمات DNS در سرور لینوکس
برای اینکه بتوانید یک دامنه را به سرور خود متصل کنید، نیاز به تنظیمات DNS دارید. ابزارهایی مانند Bind و Unbound به شما امکان میدهند که DNS سرور خود را پیکربندی کنید.
نصب و پیکربندی Bind
Bind یکی از محبوبترین نرمافزارهای مدیریت DNS در لینوکس است. برای نصب آن از دستور زیر استفاده کنید:
sudo apt install bind9
پس از نصب، فایل /etc/bind/named.conf.options را ویرایش کنید تا DNS سرور خود را تنظیم کنید.
نصب و پیکربندی FTP برای انتقال فایلها
برای انتقال فایلها بین سیستم خود و سرور، میتوانید از FTP یا SFTP استفاده کنید. vsftpd یکی از محبوبترین نرمافزارهای FTP است.
نصب vsftpd
برای نصب vsftpd از دستور زیر استفاده کنید:
sudo apt install vsftpd
پس از نصب، فایل /etc/vsftpd.conf را ویرایش کنید و تنظیمات مورد نظر خود را اعمال کنید.
امنیت SFTP
برای انتقال امن فایلها، بهتر است از SFTP استفاده کنید که بر پایه SSH است. SFTP به شما امکان میدهد فایلها را با امنیت بالا انتقال دهید:
sftp user@your-server
مدیریت لاگها در لینوکس
لاگها منابع اطلاعاتی مهمی برای عیبیابی و مانیتورینگ سرور هستند. با ابزارهایی مانند journalctl و logrotate میتوانید لاگهای سیستم را مشاهده و مدیریت کنید.
مشاهده لاگها با journalctl
برای مشاهده لاگهای سیستمعامل میتوانید از journalctl استفاده کنید:
journalctl -xe
مدیریت خودکار لاگها با logrotate
logrotate ابزاری است که به شما کمک میکند تا لاگهای قدیمی را فشرده کرده و فضای دیسک را مدیریت کنید. برای تنظیم logrotate میتوانید فایل پیکربندی آن را در /etc/logrotate.conf ویرایش کنید.
جمعبندی
در این مقاله به آموزش کانفیگ سرور مجازی لینوکس پرداختیم و مراحل اولیه نصب و پیکربندی را قدم به قدم شرح دادیم. این محتوا به شما کمک میکند که سرور مجازی خود را برای میزبانی وبسایتها یا اپلیکیشنها آماده کنید و همچنین امنیت آن را افزایش دهید. نظرتان را برای آموزش کانفیگ سرور مجازی لینوکس ثبت کنید.
سوالات متداول
سرور مجازی لینوکس یک ماشین مجازی است که به کاربران اجازه میدهد تا به منابع سختافزاری اختصاصی و دسترسی ریشهای به سیستمعامل لینوکس دست یابند.
با تغییر پورت پیشفرض SSH و استفاده از کلیدهای SSH به جای رمز عبور، میتوان امنیت این سرویس را بهبود بخشید.
انتخاب وبسرور به نیاز شما بستگی دارد. Apache بیشتر برای سایتهای داینامیک مناسب است و Nginx برای سایتهای استاتیک و پر بازدید کارایی بهتری دارد.
با اجرای دستور sudo apt update && sudo apt upgrade -y میتوانید سیستمعامل لینوکس خود را بهروزرسانی کنید.
بله، فعالسازی فایروال برای جلوگیری از حملات و دسترسیهای غیرمجاز به سرور توصیه میشود.
برای نصب MySQL دستور sudo apt install mysql-server و برای نصب MariaDB دستور sudo apt install mariadb-server را اجرا کنید.
با ویرایش فایل /etc/ssh/sshd_config و تغییر مقدار Port میتوانید پورت SSH را تغییر دهید.