امروزه وب سرور Apache به خاطر انعطاف پذیری، ثابت و تنوع قابلیت های آن یکی از بیشترین استفاده را در وب سرورهای اینترنت دارد، بعضی از آنها در حال حاضر روی وب سرورهای رقیب دیگر، همانند Nginx وجود ندارند.
برخی از مهمترین قابلیت ها آپاچی عبارتند از توانایی load و اجرای انواع مختلف از ماژول ها و تنظیمات ویژه در زمان اجرا، در واقع بدون متوقف کردن سرور یا بدتر اینکه، کامپایل کردن نرم افزار هر بار یک ماژول جدیدی اضافه میشود و اجرای رول های ویژه توسط فایل .htaccess که میتوانید تنظیمات خاص وب سرور در دایرکتوری webroot را تغییر دهد.
به صورت پیش فرض، وب سرور آپاچی طوری شده که کانکشن های ورودی را listen کند و روی پورت 80 بایند شود. اگر شما بخواهید که تنظیمات TLS را انجام دهید سرور برای ارتباطات امن روی پورت 443 لیسن (listen) خواهد کرد.
به منظور کانفیگ کردن وب سرور آپاچی به نحوی که ترافیک وب را روی پورت های دیگری (به جز پورت های استاندارد وب) bind و listen کند شما نیاز دارید که یک عبارت جدید شامل پورت جدید برای بایند کردن اضافه کنید.
در سیستم های برپایه Debian/Ubuntu، فایل تنظیماتی که احتیاج هست تغییر کند فایل /etc/apache2/ports.conf میباشد و در توزیع های برپایه RHEL/CentOS فایل /etc/httpd/conf/httpd.conf باید ویرایش شود.
با استفاده از ادیتور متن مورد علاقه خود، و بر اساس توزیعی که دارید فایل مورد نظر خود را باز کنید و پورت جدید را همانطور که در زیر توضیح داده شده اضافه کنید.
در این مثال ما میخواهیم سرور Apache HTTP را برای گوش دادن به کانکشن ها روی پورت 8081 کانفیگ کنیم. مطمئن شوید همانند تصویر زیر خط زیر را بعد از خط "Listen 80" به فایل تان اضافه کرده اید.
بعد از اینکه خط بالا را اضافه کردید، به منظور شروع کردن پروسه Binding و خصوصا برای تجهیزات ویرچوال هاست خودتان، شما نیاز دارید که یک ویرچوال هاست آپاچی در توزیع های بر پایه Debian/Ubuntu ایجاد و یا تغییر دهید.
در توزیع های CentOS/RHEL تغییرات مستقیما درون ویرچوال هاست پیش فرض اعمال میشود. در مثال زیر ما ویرچوال هاست پیش فرض وب سرور را تغییر خواهیم داد و تعریف میکنیم که آپاچی برای ترافیک وب به جای پورت 80 به پورت 8081 گوش کند. (listen کند)
فایل 000-default.conf را باز و ویرایش کنید و پورت را به 8081 همانند زیر تغییر دهید.
در نهایت برای اعمال تغییرات و بایند کردن آپاچی روی پورت جدید سرویس را ریستارت کنید و جدول سوکت های شبکه لوکال را با استفاده از دستور netstat یا دستور ss بررسی کنید. پورت در حال لیسن 8081 باید در جدول شبکه سرورتان نمایش داده شود.
شما همچنین میتوانید یک مرورگر باز کنید و ip سرور یا domain name آنرا روی پورت 8081 در مرورگر وارد کنید. صفحه پیش فرض آپاچی باید در مرورگر نمایش داده شود. به هر حال اگر شما نتوانید این صفحه را ببینید به کنسول سرور برگردید و از تنظیمات درست فایروال مطمئن شوید به نحوی که ترافیک پورت مورد نظر را نبسته باشد.
روی توزیع های لینوکسی بر پایه CentOS پکیج policycoreutils را به منظور اضافه کردن رول های مورد نیاز selinux برای آپاچی (به منظور بایند شدن روی پورت جدید) نصب کنید و سرور Apache را برای اعمال تغییرات ریستارت کنید.
رول های selinux را برای پورت 8081 اضافه کنید.
وب سرور آپاچی را ریستارت کنید.
دستور netstat یا ss را برای بررسی اینکه آیا پورت جدید با موفقیت برای ترافیک ورودی بایند و در حال listen باشد را اجرا کنید.
یک مرورگر باز کنید و ip یا domain name سرور خود را با پورت 8081 وارد کنید و بررسی کنید که آیا پورت وب جدید در شبکه شما در دسترس باشد. در اینجا باید صفحه پیش فرض آپاچی در مرورگرتان باید نمایش داده شود.
در صورتیکه صفحه پیش فرض نمایش داده نشد، مطمئن شوید که رول های فایروال درست را در جدول فایروال سرورتان اضافه کرده باشید.
برخی از مهمترین قابلیت ها آپاچی عبارتند از توانایی load و اجرای انواع مختلف از ماژول ها و تنظیمات ویژه در زمان اجرا، در واقع بدون متوقف کردن سرور یا بدتر اینکه، کامپایل کردن نرم افزار هر بار یک ماژول جدیدی اضافه میشود و اجرای رول های ویژه توسط فایل .htaccess که میتوانید تنظیمات خاص وب سرور در دایرکتوری webroot را تغییر دهد.
به صورت پیش فرض، وب سرور آپاچی طوری شده که کانکشن های ورودی را listen کند و روی پورت 80 بایند شود. اگر شما بخواهید که تنظیمات TLS را انجام دهید سرور برای ارتباطات امن روی پورت 443 لیسن (listen) خواهد کرد.
به منظور کانفیگ کردن وب سرور آپاچی به نحوی که ترافیک وب را روی پورت های دیگری (به جز پورت های استاندارد وب) bind و listen کند شما نیاز دارید که یک عبارت جدید شامل پورت جدید برای بایند کردن اضافه کنید.
در سیستم های برپایه Debian/Ubuntu، فایل تنظیماتی که احتیاج هست تغییر کند فایل /etc/apache2/ports.conf میباشد و در توزیع های برپایه RHEL/CentOS فایل /etc/httpd/conf/httpd.conf باید ویرایش شود.
با استفاده از ادیتور متن مورد علاقه خود، و بر اساس توزیعی که دارید فایل مورد نظر خود را باز کنید و پورت جدید را همانطور که در زیر توضیح داده شده اضافه کنید.
کد PHP:
# nano /etc/apache2/ports.conf [On Debian/Ubuntu]
# nano /etc/httpd/conf/httpd.conf [On RHEL/CentOS]
کد PHP:
Listen 8081
بعد از اینکه خط بالا را اضافه کردید، به منظور شروع کردن پروسه Binding و خصوصا برای تجهیزات ویرچوال هاست خودتان، شما نیاز دارید که یک ویرچوال هاست آپاچی در توزیع های بر پایه Debian/Ubuntu ایجاد و یا تغییر دهید.
در توزیع های CentOS/RHEL تغییرات مستقیما درون ویرچوال هاست پیش فرض اعمال میشود. در مثال زیر ما ویرچوال هاست پیش فرض وب سرور را تغییر خواهیم داد و تعریف میکنیم که آپاچی برای ترافیک وب به جای پورت 80 به پورت 8081 گوش کند. (listen کند)
فایل 000-default.conf را باز و ویرایش کنید و پورت را به 8081 همانند زیر تغییر دهید.
کد PHP:
# nano /etc/apache2/sites-enabled/000-default.conf
در نهایت برای اعمال تغییرات و بایند کردن آپاچی روی پورت جدید سرویس را ریستارت کنید و جدول سوکت های شبکه لوکال را با استفاده از دستور netstat یا دستور ss بررسی کنید. پورت در حال لیسن 8081 باید در جدول شبکه سرورتان نمایش داده شود.
کد PHP:
# systemctl restart apache2
# netstat -tlpn| grep apache
# ss -tlpn| grep apache
شما همچنین میتوانید یک مرورگر باز کنید و ip سرور یا domain name آنرا روی پورت 8081 در مرورگر وارد کنید. صفحه پیش فرض آپاچی باید در مرورگر نمایش داده شود. به هر حال اگر شما نتوانید این صفحه را ببینید به کنسول سرور برگردید و از تنظیمات درست فایروال مطمئن شوید به نحوی که ترافیک پورت مورد نظر را نبسته باشد.
کد PHP:
http://server.ip:8081
روی توزیع های لینوکسی بر پایه CentOS پکیج policycoreutils را به منظور اضافه کردن رول های مورد نیاز selinux برای آپاچی (به منظور بایند شدن روی پورت جدید) نصب کنید و سرور Apache را برای اعمال تغییرات ریستارت کنید.
کد PHP:
# yum install policycoreutils
کد PHP:
# semanage port -a -t http_port_t -p tcp 8081
# semanage port -m -t http_port_t -p tcp 8081
کد PHP:
# systemctl restart httpd.service
کد PHP:
# netstat -tlpn| grep httpd
# ss -tlpn| grep httpd
یک مرورگر باز کنید و ip یا domain name سرور خود را با پورت 8081 وارد کنید و بررسی کنید که آیا پورت وب جدید در شبکه شما در دسترس باشد. در اینجا باید صفحه پیش فرض آپاچی در مرورگرتان باید نمایش داده شود.
کد PHP:
http://server.ip:8081