میزبانی وب

جامع ترین آموزش تنظیمات آپاچی در لینوکس (۶ مرحله)

بطور خلاصه وب سرور یک سرویس دهنده محتوای وب می‌باشد که یکی از آنها وب سرور Apache نام دارد. در این مقاله به معرفی کامل وب سرور آپاچی چیست می پردازیم و به شما عزیزان آموزش تتنظیمات آپاچی در لینوکس را توضیح خواهیم داد.

روند مقاله بصورتی است که ابتدا تعریفی از وب سرور برای آن عزیزانی که مفهوم آنرا نمیدانند ارائه خواهیم کرد و پس از آن به پاسخ این سوال میرسیم که اصلا آپاچی چیست و چگونه در توزیع های لینوکس پیکر بندی می شود.

معرفی وب سرور (Apache Web Server)

اگر بخواهیم بگوییم وب سرور چیست باید گفت: وب سرور، یک سرویس دهنده محتوای وب می‌باشد. وظیفه اصلی وب سرور پاسخ به درخواست‌های محتوای وب سرور از مرورگرهای وب، مانند اینترنت اکسپلورر؛ Chrome Google و Firefox است. چند مثال از معروف‌ترین وب سرورها عبارت است از:

  • وب سرور Apache (آپاچی)
  • وب سرور IIS
  • وب سرور Nginx
  • وب سرور litespeed

از لحاظ فنی، یک وب سرور شامل چندین بخش از جمله یک سرور HTTP است. در این مقاله وب سرور Apache (آپاچی) محبوب‌ترین وب سرور حال حاضر دنیا، مورد بررسی قرار خواهد گرفت.

وب سرور apache چیست (Apache HTTPD)

وب سرور آپاچی یا سرور Apache http یکی از پرطرفدارترین و پرکاربردترین سرورها در اینترنت است. این نرم افزار توسط بنیاد نرم افزار Apache توسعه داده شده است. اما دقیقا وب سرور آپاچی چیست ؟

آپاچی یک وب سرور یا نرم افزار منبع باز  (open source) است که به صورت رایگان در دسترس قرار گرفته است. علاوه بر این وب سرور IIS و Nginx نیز از جمله متداول‌ترین سرورهای وب هستند. براساس نظرسنجی انجام شده توسط سایت news.netcraft.com در ژوئن سال ۲۰۱۶، سرعت حیرت انگیز گسترش و محبوبیت وب سرور Apache منجر به کنار کشیدن مایکروسافت IIS از رقابت با این وب سرور و کاهش محبوبیت آن گردید. در ادامه بر آموزش تنظیمات آپاچی در لینوکس خواهیم پرداخت.

پیشنهاد ایران هاست برای وب سایت های لینوکس، استفاده از سرورهای ابری با سرعت و Uptime بالاست.

همین امروز سفارش دهید

شما می توانید تفاوت میان Nginx و apache را در مقاله ای مجزا مطالعه نمایید

نظرسنجی انجام شده در مورد محبوبترین وب سروورها توسط سایتnews.netcraft.com در ژوئن سال2016

 

علاوه برآن به گزارش پورتال builtwith در تاریخ ۱۸ ژوئیه ۲۰۱۶، آمار بدست آمده از وب سرورها نشان می‌دهد که از کل وب سرورهای موجود در دنیای اینترنت، ۴۶٪ به وب سرور آپاچی، ۲۹٪ به وب سرور IIS مایکروسافت و ۱۹٪ به وب سرور Nginx اختصاص دارد.

 

گزارش پورتال builtwith در تاریخ 18 ژوئیه 2016

 

استفاده از پکیج‌های وب سرور Apache در نسخه‌های RHEL و CentOS از توزیع لینوکس

حال که میدانید وب سرور آپاچی چیست و چقدر در میان کاربران محبوبیت دارد، به استفاده از آن در نسخه های RHEL و CentOS از توزیع های لینوکس میپردازیم.

در نسخه‌های Red Hat Enterprise Linux 7 و CentOS 7 از توزیع لینوکس‌، گروهی از پکیج‌ها تحت عنوان Web Server  وجود دارد. این پکیج‌ها شامل موارد زیر است:

  • httpd
  • httpd-tools
  • httpd-manual
  • crypto-utils
  • mod_fcgid
  • mod_ssl
  • perl-Newt

اگر از Apache برای توسعه سرور یا مدیریت لینوکس خود استفاده می‌کنید، باید به این نکته توجه داشته باشید که چگونگی تنظیم و پیکربندی وب سرور آپاچی بسیار مهم و حائز اهمیت خواهد بود.

نصب و تنظیمات وب سرور آپاچی در لینوکس

تا به اینجای مقاله با تعریف آپاچی چیست آشنا شده اید، حالا وقت آن است که نصب و تنظیمات آپاچی در لینوکس را فرا بگیرید.

در این قسمت، مراحل نصب و تنظیمات آپاچی در لینوکس RHEL7/CentOS7 توضیح خواهیم داد. لطفاً برای اجرای دستورات زیر به سرور CentOS7 خود وارد شوید.

مرحله اول: نحوه نصب وب سرور با Apache با دستور:

yum install httpd –y #

 

مرحله دوم: نصب وب سرور Apache از پکیج‌های گروه آپاچی با دستور:

yum groupinstall "Web Server" -y #

 

مرحله سوم: نحوه شروع؛ متوقف کردن و راه اندازی مجدد وب سرور لینوکس آپاچی

مراحل زیر نحوه شروع؛ توقف و راه اندازی مجدد وب سرور آپاچی برای سیستم عامل توزیع لینوکس RHEL7/CentOS7 را نشان می‌دهد. این دستور در سایر توزیع‌های لینوکس کمی متفاوت است.

  • برای شروع سرویس آپاچی:

systemctl start httpd #

  • برای توقف سرویس آپاچی:

systemctl stop httpd #

  • برای راه اندازی مجدد سرویس آپاچی:

systemctl restart httpd #

مرحله چهارم: نحوه فعال سازی وب سرور آپاچی در قسمت بوت:

systemctl enable httpd #

Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

مرحله پنجم: تنظیمات آپاچی در لینوکس ( Apache http در لینوکس )

پیش از آنکه بخواهیم تنظیمات آپاچی در لینوکس را توضیح دهیم لازم است تا مروری بر روی apache httpd conf file داشته باشیم.

httpd.conf فایل پیکربندی اولیه در وب سرور Apache بوده و درتوزیع‌های لینوکس RHEL و CentOS بکار می‌رود. این فایل، در پوشه / etc / httpd / conf قرار دارد. httpd.conf یک فایل متنی است و از دایرکتوری‌ها؛ کانتینرها و کامنت‌ها تشکیل شده است.

مثالی از دایرکتوری‌ها (directives) در httpd.conf:

  • ServerRoot
  • Listen
  • Include
  • AllowOverride

مثالی از کانتینرها (containers):

کانتیرها یک یا چند دایرکتوری را ضمیمه می‌کنند.

<Directory />

AllowOverride none

Require all denied

</Directory>

مثالی از کامنت‌ها (comments):

Listen: Allows you to bind Apache to specific IP addresses and/or # 

ports, instead of the default. See also the # 

directive. #
پیکربندی فایل Apache httpd.conf configuration 

پیش از شروع اجرای وب سرور آپاچی، باید چندین مورد از تنظیمات این سرور را تغییر دهید. کل فایل پیکربندی اصلی، از فایل httpd.conf تشکیل شده است:

vi /etc/httpd/conf/httpd.conf #

دایرکتوری‌های زیر را تغییر داده و مقدار آن را با محیط وب سرور خود مطابقت دهید:

  • آدرس ایمیل ServerAdmin:

در این قسمت، مشکل شما با سرور باید از طریق پست الکترونیکی(ایمیل) ارسال شود. این آدرس در برخی از صفحات ایجاد شده توسط سرور مانند error documents  ظاهر می‌شود.

برای مثال:

ServerAdmin   admin@your-domain.com

  • DocumentRoot:

استفاده از دایرکتوری سطح بالا برای محتوای سرور آپاچی. هیچگاه اسلش(/) را در انتهای مسیر دایرکتوری(directory)  قرار ندهید.

برای مثال:

DocumentRoot /var/www/html

  • نام سرور FQDN:

FQDN باید در یک آدرس IP مجاز باشد. در صورتی که FQDN را مشخص نکنید، سرور بر روی آدرس IP یک جستجوی نام معکوس انجام می‌دهد. در صورت مشخص نکردن پورت نیز، سرور از پورت متناسب با درخواست ورودی استفاده می‌کند.

برای مثال:

ServerName www.ehowstuff.local:80

  • انجام تنظیمات دستور AllowOverride:

در نسخه ۲.۴ آپاچی، AllowOverride به‌صورت پیش فرض روی حالت None تنظیم شده‌است. بنابراین، فایل‌های سیستمیhtaccess .کاملاً نادیده گرفته می‌شوند. در این حالت، سرور کوچکترین تلاشی برای خواندن فایل‌های سیستمی  نخواهد کرد. اما، زمانی که دستور AllowOverride روی All تنظیم شده باشد، آنگاه سرور هر دستوری که دارای محتوای htaccess . است را خوانده و اجرا می‌کند.

برای مثال:

AllowOverride All

اگر یک وب سایت واحد را اداره می‌کنید، تنظیمات فوق برای وب سرور apache شما کافی است. برای اعمال پیکربندی جدید، وب سرویس Apache را بارگیری مجدد (restart  یا   reload)کنید:

systemctl restart httpd #

یا

systemctl reload httpd #

دسترسی به آدرس IP وب سرور:

نحوه نصب و راه اندازی Apache Web Server در لینوکس

 

  • پیکر بندی میزبانهای مجازی Apache 

در صورتی که چندین وب سایت را اداره می‌کنید، می‌توانید میزبان مجازی (هاست مجازی یا Virtual Host) Apache را مطابق مراحل زیر پیکربندی کنید:

میزبان مجازی Apache به یک وب سرور httpd اجازه می‌دهد تا محتوا را برای چندین دامنه یا وب سایت ارائه دهد. میزبان مجازی در یک کانتیر میزبان مجازی(VirtualHost) تعریف می‌شود. چندین کانتینر مجازی برای چندین دامنه در دایرکتوری میزبان مجازی مشخص شده است.

در کجا می‌توان دستورالعمل میزبان مجازی را مشخص کرد؟

میزبان‌های مجازی با استفاده از بلوک < virtualhost >در پیکربندی اصلی مشخص می‌شوند. برای سهولت در استفاده، بهتر است بلوک هاست مجازی در داخل /etc/httpd/conf/httpd.conf تعریف نشده باشد. در عوض، فایل‌های پیکربندی جداگانه جدیدی را در etc/httpd/conf.d/ / ایجاد نمایید. برای مشخص کردن بلوک < virtualhost> ، فایل پیکربندی جداگانه ایجاد کنید:

vi /etc/httpd/conf.d/multiple-sites.conf #

برای مثال:

<VirtualHost 10.1.1.106:80>

DocumentRoot    /var/www/html/website1

ServerName      website1.ehowstuff.local

ServerAdmin     admin@ehowstuff.local

ErrorLog        "logs/website1.ehowstuff.local_error_log"

CustomLog       "logs/website1.ehowstuff.local_access_log" combined

</VirtualHost>
<VirtualHost 10.1.1.106:80>

DocumentRoot    /var/www/html/website2

ServerName      website2.ehowstuff.local

ServerAdmin     admin@ehowstuff.local

ErrorLog        "logs/website2.ehowstuff.local_error_log"

CustomLog       "logs/website2.ehowstuff.local_access_log" combined

</VirtualHost>

یکی از نمونه های index.html یا index.php را در هر دو document root بارگذاری کنید.

(/var/www/html/website1 and /var/www/html/website2).

برای اعمال پیکربندی جدید، وب سرویس Apache را بارگیری مجدد  restart) یا (reload کنید:

systemctl restart httpd #

یا

systemctl reload httpd #

مرحله ششم:تنظیم فایروال

مرحله آخر در تنظیمات آپاچی در لینوکس ، تنظیم Firewall است.

Firewall را به گونه‌ای تنظیم کنید تا در لینوکس، امکان دسترسی به سرور Apache http وجود داشته باشد.

به طور پیش فرض، پورت ۸۰ مسدود شده است. سرویس HTTP را در فایروال مجاز کنید.

(host-based firewall for centOS 7)

HTTP uses 80/TCP and HTTPS uses 443/TCP


# firewall-cmd --add-service=http –permanent

# firewall-cmd --add-service=https --permanent

# firewall-cmd –reload

در پایان، شما می‌توانید به هر دو آدرس اینترنتی مجازی(URL مجازی) دسترسی پیدا کنید. نتیجه به دست آمده از تنظیمات آپاچی در لینوکس خود را می‌توانید در زیر مشاهده نمایید:

پایان نصب و تنظیمات آپاچی در لینوکس

پایان نصب و تنظیمات آپاچی در لینوکس

سوالات متداول

وب سرور apache چیست (Apache HTTPD)

آپاچی یک وب سرور یا نرم افزار منبع باز  (open source) است که به صورت رایگان در دسترس قرار گرفته است. علاوه بر این وب سرور IIS و Nginx نیز از جمله متداول‌ترین سرورهای وب هستند. براساس نظرسنجی انجام شده توسط سایت news.netcraft.com در ژوئن سال ۲۰۱۶، سرعت حیرت انگیز گسترش و محبوبیت وب سرور Apache منجر به کنار کشیدن مایکروسافت IIS از رقابت با این وب سرور و کاهش محبوبیت آن گردید.

چه زمان باید اقدام به تنظیم میزبان مجازی در آپاچی نمود

در صورتی که چندین وب سایت را اداره می‌کنید، می‌توانید میزبان مجازی (هاست مجازی یا Virtual Host) Apache را پیکربندی کنید.

در کجا می‌توان دستورالعمل میزبان مجازی را مشخص کرد؟

میزبان‌های مجازی با استفاده از بلوک < virtualhost >در پیکربندی اصلی مشخص می‌شوند. برای سهولت در استفاده، بهتر است بلوک هاست مجازی در داخل /etc/httpd/conf/httpd.conf تعریف نشده باشد. در عوض، فایل‌های پیکربندی جداگانه جدیدی را در etc/httpd/conf.d/ / ایجاد نمایید. برای مشخص کردن بلوک < virtualhost> ، فایل پیکربندی جداگانه ایجاد کنید

با کارت بانکی باشگاه ایران هاست پولتان به حسابتان باز می گردد.

همین حالا رایگان عضو شوید

سلیم شهری

علاقه‌مند به IT

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نوشته های مشابه

دکمه بازگشت به بالا