راهاندازی و نصب آپاچی در توزیعهای لینوکس مثل Ubuntu، Fedora و RHEL برای توسعهدهندگان وب و مدیران سیستم کاری رایج است. Apache به دلیل انعطافپذیری، امنیت قوی و سازگاری با فناوریهای مختلف وب، از دیگر وبسرورها متمایز است.در این مقاله، نحوه نصب Apache روی توزیعهای مختلف لینوکس از جمله Ubuntu، Fedora و RHEL را به شما آموزش خواهیم داد. چه تازهکار باشید و چه کاربر باتجربه، این راهنما به شما کمک میکند تا Apache را بهسادگی روی سرور لینوکسی خود نصب کنید.
همچنین، توصیه میکنم برای آشنایی بیشتر با وبسرور آپاچی ، مقاله “وب سرور آپاچی چیست؟ آشنایی با مزایا، معایب و کاربردهای آپاچی” را بخوانید.
جهت نصب و پیکربندی و آزمایش سرور آپاچی در توزیع های مختلف لینوکس، این مقاله را دنبال کنید.
گام اول : بررسی توزیع لینوکس سرور
برای نصب وب سرور آپاچی، اولین گام مهم این است که توزیع لینوکس خود را مشخص کنید، زیرا دستورات نصب ممکن است در توزیعهای مختلف کمی متفاوت باشد. بهطور کلی، توزیعهای معروف لینوکس شامل Ubuntu/Debian، CentOS/RHEL، و Fedora هستند.
جهت اطلاع از اینکه در سرور از چه توزیع لینوکسی استفاده میشود، از دستور زیر استفاده کنید:
grep -E '^(VERSION|NAME)=' /etc/os-release
این دستور اطلاعاتی از جمله نام توزیع، نسخه و کد نام (codename) توزیع لینوکس سرور را نمایش میدهد.
مثال یک:
مثال دو:
گام دوم: بهروزرسانی سرور
جهت نصب آپاچی، بروز رسانی سرور ضروری است تا مطمئن شویم که سرور با آخرین وصلههای امنیتی و بهینهسازیهای عملکردی بهروز شده است. این کار به کاهش خطرات امنیتی و جلوگیری از مشکلات احتمالی در نصب و اجرای آپاچی کمک میکند. همچنین، بروزرسانی باعث سازگاری بهتر با نسخههای جدید نرمافزار و کتابخانهها میشود.
در سیستمهای مبتنی بر اوبونتو/دبیان دستور زیر را اجرا کنید:
sudo apt update && sudo apt upgrade
در سیستمهای مبتنی بر Fedora دستور زیر را اجرا کنید:
sudo dnf update -y
در سیستمهای مبتنی بر RHEL (مانند CentOs،AlmaLinux) دستور زیر را اجرا کنید:
sudo yum update -y
گام سوم : نصب وب سرور آپاچی در لینوکس
در سیستمهای مبتنی بر اوبونتو/دبیان دستور زیر را اجرا کنید:
sudo apt install apache2 -y
در سیستمهای مبتنی بر Fedora دستور زیر را اجرا کنید:
sudo dnf install httpd -y
در سیستمهای مبتنی بر RHEL (مانند CentOs،AlmaLinux) دستور زیر را اجرا کنید:
sudo yum install httpd -y
گام چهارم : راهاندازی و فعالسازی سرویس آپاچی در لینوکس
در سیستمهای مبتنی بر اوبونتو/دبیان دستور زیر را اجرا کنید:
sudo systemctl enable apache2
در سیستمهای مبتنی بر Fedora دستور زیر را اجرا کنید:
sudo systemctl enable httpd.service
در سیستمهای مبتنی بر RHEL (مانند CentOs،AlmaLinux) دستور زیر را اجرا کنید:
sudo systemctl enable httpd.service
پس از این مراحل، وب سرور آپاچی نصب و در حال اجرا خواهد بود و میتوانید با باز کردن آدرس http://localhost در مرورگر، صفحه پیشفرض آپاچی را مشاهده کنید.
گام پنجم: تست صحت نصب با میزبانی وبسایت ساده
با استفاده از دستور زیر یک دایرکتوری برای وبسایت آزمایشی ایجاد کنید:
sudo mkdir /var/www/html/test_website/
حال، با استفاده از اجرای دستور زیر یک فایل index.html با کد تستی ایجاد کنید.
حال، فایل index.html را برای وبسایت آزمایشی خود با کد آزمایشی اضافه خواهیم کرد. از دستور زیر استفاده کنید:
echo '<html><head><title>Example</title></head><body><h1>GFG</h1><p>This is a test.</p></body></html>' | sudo tee /var/www/html/test_website/index.html
در مرحله بعد، یا اجرای دستور زیر فایل پیکربندی آپاچی را ایجاد کنید:
sudo echo '<VirtualHost *:80> ServerName web.testingserver.com DocumentRoot /var/www/html/website DirectoryIndex index.html ErrorLog /var/log/httpd/example.com_error.log CustomLog /var/log/httpd/example.com_requests.log combined </VirtualHost>' > /etc/httpd/conf.d/web.conf
پس از ایجاد فایل پیکربندی و وبسایت آزمایشی، باید مالکیت دایرکتوری وبسایت Apache را برای تنظیم مجوزها تغییر دهید. از دستورات chown و chmod به صورت زیر استفاده کنید:
sudo chown -R apache:apache /var/www/html/test_website sudo chmod -R 755 /var/www/html/test_website
اکنون میتوانید وبسایت را در آدرس localhost مشاهده کنید.
اگر مراحل بالا را به درستی انجام داده باشید، وبسرور Apache به خوبی اجرا خواهد شد! اما اگر موفق نشدید، میتوانید وبسرور Apache را حذف کنید و نصب را دوباره انجام دهید.
چگونه وبسرور Apache را حذف کنیم؟
در سیستمهای مبتنی بر اوبونتو/دبیان دستور زیر را اجرا کنید:
sudo apt remove apache2
در سیستمهای مبتنی بر Fedora دستور زیر را اجرا کنید:
sudo dnf remove httpd
در سیستمهای مبتنی بر RHEL (مانند CentOs،AlmaLinux) دستور زیر را اجرا کنید:
sudo yum remove httpd
بیشتر بخوانید: آموزش چگونگی نصب آپاچی در CentOS 8 و Ubunto 20.04
خطاهای متداول در زمان نصب وب سرور آپاچی
در زمان نصب وبسرور آپاچی بر روی سیستمعاملهای لینوکس، ممکن است با خطاهای مختلفی روبرو شوید. در ادامه، خطاهای متداول و راهحلهای مربوط به هر یک را مرور میکنیم:
1. خطای Package not found
این خطا زمانی رخ می دهد که مخازن نرمافزاری بهروز نباشد یا نام بسته نادرست وارد شده باشد.
جهت رفع مشکل بصورت زیر اقدام کنید:
ابتدا مخازن را بهروز کنید:
-
- برای Ubuntu/Debian: sudo apt update
- برای CentOS/RHEL: sudo yum update یا sudo dnf update
اطمینان حاصل کنید که از نام صحیح بسته استفاده میکنید:
-
- برای Ubuntu/Debian: sudo apt install apache2
- برای CentOS/RHEL: sudo yum install httpd
2. خطای Port 80 is already in use
این خطا زمانی رخ میدهد که پورت 80 توسط سرویس دیگری (مانند Nginx) استفاده میشود.
جهت رفع مشکل ابتدا با استفاده از دستور زیر شناسایی کنید، چه سرویسی در حال استفاده از پورت 80 می باشد:
sudo netstat -tuln | grep :80
سپس جهت رفع مشکل دو راهکار دارید:
راهکار اول: سرویس دیگر را با دستور زیر غیرفعال کنید
sudo systemctl stop <service-name>
راهکار دوم: پورت پیش فرض آپاچی را به پورت دیگری مثلا 8081 تغییر دهید.
مسیر فایل پیکربندی آپاچی در سیستم های مبتنی بر Ubuntu/Debian در مسیر /etc/apache2/ports.conf می باشد و در سرویس های مبتنی بر RHEL در مسیر etc/httpd/conf/httpd.conf/ می باشد.
3. خطای 403 Forbidden
در صورت مشاهده چنین خطایی مشکل در مجوزهای دسترسی یا پیکربندیهای نادرست وجود دارد.
جهت رفع مشکل نیاز است بررسی کنید که مجوزهای فایل و دایرکتوریها به درستی تنظیم شده و دسترسی فایل های پیکربندی آپاچی صحیح باشد.
4. خطای 404 Not Found
این خطا اغلب بهدلیل اشتباه بودن مسیر فایل یا دایرکتوری و یا نبودن فایل در مسیر مورد نظر رخ میدهد.
5. خطای Connection Refused
درصورت رویداد چنین خطایی، سرویس آپاچی به درستی راهاندازی نشده است یا فایروال پورت را مسدود کرده است.
با دستورات گام 4 فعال بودن سرویس بدون خطا را ابتدا بررسی کنید.
در صورت عدم مشکل از باز بودن پورت 80 و 443 در فایروال سرور اطمینان حاصل کنید.
در سرویس های مبتنی بر RHEL که از firewalld استفاده میکنند، دستورات زیر را اجرا کنید:
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
در سرویس های مبتنی بر Ubuntu که از ufw استفاده میکنند، دستور زیر را اجرا کنید:
sudo ufw allow 'Apache Full'
7. خطای Syntax error در پیکربندی آپاچی
خطا در فایل پیکربندی آپاچی (مانند syntax نادرست یا اشتباه تایپی) رخ میدهد. برای اینکه فایل های پیکربندی Apache را بررسی و علت خطا را متوجه شوید دستور زیر را اجرا کنید:
apachectl configtest
پس از اجرای این دستور در خروجی جزئیات خطا را می توانید مشاهده و براساس آن مشکل را رفع کنید.
این خطاها از رایجترین مشکلاتی هستند که ممکن است هنگام نصب و راهاندازی وبسرور آپاچی با آنها مواجه شوید. اگر شما با خطای دیگری مواجه شدید در بخش کامنت ها به اشتراک بگذارید.
جمع بندی
نصب وبسرور Apache روی سیستمهای لینوکس مثل Ubuntu، Fedora و RHEL کار پیچیدهای نیست، به شرطی که مراحل را بطور صحیح انجام دهید. بعد از نصب Apache، میتوانید از امکانات قدرتمند آن برای مدیریت و میزبانی وبسایتهای خود بهره ببرید. برای حفظ امنیت و کارایی سرور Apache، انجام بهروزرسانیها بسیار مهم است.
بیشتر بخوانید: راهنمای گام به گام نحوه ایجاد CDN با DNS
سوالات متداولی که شما می پرسید؟
1. آیا نصب آپاچی به همراه سایر وبسرورها مثل Nginx ممکن است؟
بله، میتوانید از آپاچی و Nginx به طور همزمان استفاده کنید، اما باید پورتهای مختلفی را برای هر کدام تنظیم کنید.
2. چگونه میتوانم وبسایتهای مختلف را با استفاده از آپاچی میزبانی کنم؟
از Virtual Hosts برای میزبانی چندین وبسایت بر روی یک سرور استفاده کنید. تنظیمات مربوط به Virtual Hosts در فایلهای پیکربندی آپاچی قرار دارند.
3. چگونه میتوانم پیکربندی آپاچی را پس از تغییرات تست کنم؟
میتوانید از دستور apachectl configtest برای بررسی صحت پیکربندی استفاده کنید.
4. چگونه میتوانم خطاهای رایج در لاگهای آپاچی را شناسایی کنم؟
فایلهای لاگ معمولاً در /var/log/httpd/ یا /var/log/apache2/ قرار دارند. خطاها معمولاً در فایل error_log ثبت میشوند.
منابع