learn

نصب Apache در اوبونتو؛ راه‌اندازی سایت و VirtualHost

مراحل راه‌اندازی یک سایت HTML با Apache در Ubuntu و بررسی مسیر، دامنه و پاسخ واقعی.

نصب Apache در اوبونتو با بستهٔ apache2 انجام می‌شود. این راهنما برای سرور مستقل Ubuntu با نسخهٔ پشتیبانی‌شده، مانند 24.04 LTS، و دسترسی sudo است. روی سروری که پنل میزبانی وب‌سرور را مدیریت می‌کند، نصب دستی موازی انجام ندهید؛ تنظیمات پنل ممکن است با آن تعارض داشته باشد.

پیش از نصب Apache در اوبونتو

نسخهٔ سیستم و سرویس‌های موجود را مشخص کنید. اگر Nginx یا برنامهٔ دیگری پورت 80 را گرفته، نصب Apache بدون طراحی پورت‌ها مشکل را حل نمی‌کند. این مراحل برای شروع یک سایت HTML است؛ نصب PHP، دیتابیس و گواهی TLS بخش‌های جداگانه‌اند.

آموزش قدیمی مبتنی بر 20.04 را نباید بدون بررسی چرخهٔ پشتیبانی Ubuntu مبنای سرور تازه قرار داد. همچنین درصدهای قدیمی سهم بازار، دلیل فنی انتخاب وب‌سرور برای پروژهٔ شما نیستند.

نصب بسته و بررسی سرویس

در ترمینال سرور، فهرست بسته‌ها را تازه و بسته را نصب کنید. مطابق راهنمای نصب Ubuntu، نام سرویس در این توزیع apache2 است.

sudo apt update
sudo apt install apache2
systemctl status apache2 --no-pager

اگر سرویس فعال نشد، پیام وضعیت و لاگ را بخوانید. active بودن سرویس هنوز اثبات نمی‌کند دامنه از اینترنت به آن می‌رسد. رکورد DNS، فایروال هاست یا شبکه و آدرس مقصد را جدا بررسی کنید.

ساخت پوشه و صفحهٔ نمونه

دامنهٔ مثال را در همهٔ مراحل با دامنهٔ خودتان عوض کنید. برای سایت جدید پوشه بسازید و یک فایل index.html شامل متن مشخص آزمایشی داخل آن قرار دهید:

sudo mkdir -p /var/www/example.com/public
sudo nano /var/www/example.com/public/index.html

فایل باید برای فرایند وب‌سرور خواندنی و پوشه‌های مسیر قابل پیمایش باشند. به کل سایت مجوز 777 ندهید و فایل‌های معمولی را بی‌دلیل اجرایی نکنید. مالکیت محتوا را متناسب با روش استقرار نگه دارید.

تعریف VirtualHost

فایل جدید /etc/apache2/sites-available/example.com.conf را با پیکربندی زیر بسازید. این نمونه فقط HTTP و محتوای ایستا را پوشش می‌دهد.

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/example.com/public
    <Directory /var/www/example.com/public>
        Options -Indexes
        AllowOverride None
        Require all granted
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/example-error.log
    CustomLog ${APACHE_LOG_DIR}/example-access.log combined
</VirtualHost>

سپس سایت را فعال کنید، پیکربندی را بیازمایید و فقط در صورت موفقیت آزمون، بارگذاری مجدد انجام دهید:

sudo a2ensite example.com.conf
sudo apache2ctl configtest
sudo systemctl reload apache2

reload با restart یکی نیست؛ برای تغییرات قابل بارگذاری، اجرای دوبارهٔ کامل سرویس الزام همیشگی ندارد. برای قواعد اختصاصی برنامه، تنظیم AllowOverride باید آگاهانه انتخاب شود؛ نمونهٔ بالا htaccess را فعال نمی‌کند. تنظیمات Apache در Ubuntu مرجع این تصمیم است.

دسترسی و نتیجهٔ نهایی

اگر UFW فعال است، قاعدهٔ HTTP را متناسب با سیاست سرویس تنظیم کنید؛ روشن‌کردن ناگهانی فایروال از راه SSH بدون اجازهٔ اتصال مدیریتی ممکن است دسترسی را قطع کند. بازشدن 443 هم به‌تنهایی HTTPS ایجاد نمی‌کند؛ گواهی و VirtualHost مناسب لازم است.

دامنه را باز کنید و متن مخصوص سایت را ببینید. نمایش صفحهٔ پیش‌فرض فقط رسیدن به یک وب‌سرور را ثابت می‌کند. اگر سایت اشتباه دیده شد، ServerName، DNS و ترتیب میزبان‌ها را طبق نمونه‌های VirtualHost بررسی کنید؛ فایل پیکربندی سایت‌های دیگر را حذف نکنید.

مطالعهٔ مرتبط

بازبینی فنی: ۱۳ آبان ۱۴۰۵. تاریخ انتشار اولیه و نشانی قبلی حفظ شده‌اند.

مطالب مرتبط

ارسال نظر

فهرست مطالب