وب‌سرور Apache یکی از پراستفاده‌ترین وب‌سرورها است، اما برای بهبود عملکرد، کاهش مصرف منابع و افزایش امنیت، نیاز به بهینه‌سازی دارد. در این مقاله، ترکیبی از بهترین روش‌های بهینه‌سازی Apache ارائه شده است.

۱. افزایش امنیت Apache

۱.۱ محدود کردن دسترسی کاربر Apache به Shell

کاربر Apache نباید به Shell دسترسی داشته باشد. برای بررسی این موضوع:

# grep -i apache /etc/passwd

اگر مقدار /bin/sh مشاهده شد، آن را به /sbin/nologin تغییر دهید:

# usermod -s /sbin/nologin apache

۱.۲ غیر فعال کردن فهرست دایرکتوری

برای جلوگیری از نمایش فهرست فایل‌های دایرکتوری در مرورگر، مقدار زیر را در فایل /etc/httpd/conf/httpd.conf تغییر دهید:

Options None

همچنین، بررسی کنید که در دایرکتوری‌های خاص این مقدار نادیده گرفته نشده باشد.

۱.۳ مخفی کردن نسخه Apache و اطلاعات سیستم

برای جلوگیری از نمایش نسخه Apache و اطلاعات سرور:

ServerTokens Prod  # فقط "Apache" را در هدر HTTP نمایش می‌دهد.
ServerSignature Off  # اطلاعات سیستم را مخفی می‌کند.

۱.۴ غیرفعال کردن ماژول‌های غیرضروری

برای کاهش سطح حملات و بهینه‌سازی، ماژول‌های غیرضروری را غیرفعال کنید:

# a2dismod autoindex
# systemctl restart apache2

۲. بهینه‌سازی عملکرد Apache

۲.۱ انتخاب MPM مناسب

به‌جای mpm_prefork، از mpm_event استفاده کنید:

# a2dismod mpm_prefork
# a2enmod mpm_event
# systemctl restart apache2

۲.۲ فعال‌سازی KeepAlive

برای افزایش سرعت بارگذاری صفحات و کاهش مصرف منابع:

KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5

۲.۳ کاهش Timeout

برای جلوگیری از اشغال طولانی‌مدت منابع:

Timeout 120  # برای VPS توصیه می‌شود بین ۱۰۰ تا ۱۲۰ تنظیم شود.

۲.۴ تنظیم محدودیت درخواست‌ها

محدودیت اندازه فایل‌های آپلودی:

<Directory "/var/www/uploads">
   LimitRequestBody 102400  # 100KB
</Directory>

محدودیت اندازه درخواست‌های HTTP:

LimitRequestFieldSize 4094  # کاهش از مقدار پیش‌فرض ۸KB به ۴KB

۲.۵ بهینه‌سازی منابع سرور

برای مدیریت بهتر منابع، این مقادیر را تنظیم کنید:

MinSpareServers 5  # برای VPS: ۵، برای سرور اختصاصی: ۱۰ تا ۲۵
MaxSpareServers 10  # دو برابر مقدار MinSpareServers
StartServers 5  # وابسته به مقدار MinSpareServers
MaxClients 150  # برای VPS: ۱۵۰، برای سرور اختصاصی: ۲۵۰
MaxRequestsPerChild 300  # برای VPS: ۳۰۰، برای سرور اختصاصی: ۵۰۰ تا ۱۰۰۰

۲.۶ فعال‌سازی کش و فشرده‌سازی محتوا

برای کاهش حجم صفحات:

<IfModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript
</IfModule>

برای تنظیم کش:

<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 1 month"
</IfModule>

 می توانید تنظیمات  تخصوصی در این  مورد را  در  لینک  زیر مشاهده کنید.
https://httpd.apache.org/docs/2.4/mod/quickreference.html#T
نتیجه‌گیری

با اعمال این تنظیمات، می‌توانید عملکرد Apache را بهینه کنید، امنیت سرور را افزایش دهید و مصرف منابع را کاهش دهید. این تنظیمات برای سرورهای VPS و اختصاصی قابل تنظیم هستند و می‌توانند بسته به نیاز شما تغییر کنند.

آیا این پاسخ مفید بود؟ 0 کاربر این مقاله را مفید می دانند (0 رای)