Arvan Docs

مستندات فنی

دسترسی به تمامی مستندات محصولات ابر آروان

دسته‌بندی‌های سایت مشاهده دسته‌بندی‌ها بستن دسته‌بندی‌ها

مشاهده همه دسته‌ها

فعال کردن ماژول‌های مختلف Apache برای JetBrains YouTrack

Time To Read ۴ دقیقه
Date ۲۵ فروردین ۱۴۰۰

نکته: ما در حال تغییر ساختار فایل و پیکربندی بسیاری از استک‌های بیتنامی هستیم. در نتیجه‌ی این تغییرات، مسیر فایل‌هایی که در این آموزش به آن‌ها اشاره شده ممکن است تغییر کند که این موضوع هم بستگی دارد که استک بیتنامی شما از پکیج‌های سیستمی نیتیو لینوکس استفاده می‌کند (رویکرد A) یا نسخه‌ای self-contained است (رویکرد B). برای تشخیص نوع استک‌تان و انتخاب رویکرد متناسب، دستور زیر را اجرا کنید:

test ! -f "/opt/bitnami/common/bin/openssl" && echo "Approach A: Using system packages." || echo "Approach B: Self-contained installation."

خروجی این دستور نشان می‌دهد که اپلیکیشن شما از کدام رویکرد (A یا B) استفاده می‌کند و به شما کمک می‌کند که در این راهنما مسیر، پیکربندی و دستورات متناسب با آن را انتخاب کنید. برای اطلاعات بیشتر راجع به این تغییرات، به بخش سوالات رایج مراجعه کنید.

LDAP

استک‌های بیتنامی همراه با ماژول LDAP نصب شده در آپاچی عرضه می‌شوند، اما این ماژول به صورت پیش‌فرض فعال نشده است. برای فعال‌سازی این ماژول، مراحل زیر را دنبال کنید:

  • ماژول LDAP را فعال کنید. فایل پیکربندی اصلی آپاچی را که در آدرس /opt/bitnami/apache2/conf/httpd.conf قرار دارد ویرایش کنید. خط mod_authnz_ldap را از حالت کامنت خارج کرده و خط mod_ldap را به انتهای بخش LoadModule اضافه کنید:
...
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
...
LoadModule ldap_module modules/mod_ldap.so
  • سرور آپاچی را دوباره راه‌اندازی کنید و بررسی کنید که ماژول فعال شده باشد:
sudo /opt/bitnami/ctlscript.sh restart apache
/opt/bitnami/apache2/bin/apachectl -M | grep ldap
...
authnz_ldap_module (shared)
ldap_module (shared)
...

Mod_evasive

مراحل زیر را طی کنید:

  • آخرین نسخه را دانلود کنید:
git clone https://github.com/jzdziarski/mod_evasive/
  • ماژول را بیلد و پیکربندی و نصب کنید:
cd mod_evasive
cp mod_evasive{20,24}.c
sed s/remote_ip/client_ip/g -i mod_evasive24.c
sudo apxs -i -a -c mod_evasive24.c
  • پیکربندی ماژول آپاچی را به‌روز کنید:
echo Include conf/modevasion.conf | sudo tee -a /opt/bitnami/apache2/conf/httpd.conf
sudo tee /opt/bitnami/apache2/conf/modevasion.conf <<EOF
#increases size of hash table. Good, but uses more RAM."
DOSHashTableSize    3097"
#Interval, in seconds, of the page interval."
DOSPageInterval     1"
#Interval, in seconds, of the site interval."
DOSSiteInterval     1"
#period, in seconds, a client is blocked.  The counter is reset to 0 with every access within this interval."
DOSBlockingPeriod   10"
#threshold of requests per page, per page interval.  If hit == block."
DOSPageCount        2"
#threshold of requests for any object by the same ip, on the same listener, per site interval."
DOSSiteCount        50"
#locking mechanism prevents repeated calls.  email can be sent when host is blocked (leverages the following by default "/bin/mail -t %s")"
DOSEmailNotify      mbrown@domainy.com"
#locking mechanism prevents repeated calls.  A command can be executed when a host is blocked.  %s is the host IP."
#DOSSystemCommand    \"su - someuser -c \'/sbin/... %s ...\'\""
#DOSLogDir           \"/var/lock/mod_evasive\""
#whitelist an IP., leverage wildcards, not CIDR, like 127.0.0.*"
#DOSWhiteList 127.0.0.1"
EOF
  • آپاچی را دوباره راه‌اندازی کنید:
sudo /opt/bitnami/ctlscript.sh restart apache

Mod_proxy_html

مراحل زیر را طی کنید:

رویکرد A: اپلیکشین‌هایی که از پکیج‌های سیستمی استفاده می‌کنند

  • پکیج سیستمی توسعه‌ی libxml2 را نصب کنید:
    • Debian:
sudo apt-get install libxml2-dev
    • CentOS:
$ sudo yum install libxml2-deve
  • آخرین نسخه را دانلود و محتوایش را از حالت فشرده خارج کنید:
wget http://apache.webthing.com/mod_proxy_html/mod_proxy_html.tar.bz2
tar -jxf mod_proxy_html.tar.bz2
cd mod_proxy_html/
  • ماژول را نصب کنید:
sudo apxs -c $(xml2-config --cflags) $(xml2-config --libs) -i mod_proxy_html.c
sudo apxs -c $(xml2-config --cflags) $(xml2-config --libs) -i mod_xml2enc.c
sudo chmod 755 /opt/bitnami/apache2/modules/mod_proxy_html.so /opt/bitnami/apache2/modules/mod_xml2enc.so
  • با اضافه کردن خطوط زیر به انتهای فایل پیکربندی /opt/bitnami/apache2/conf/httpd.conf، ماژول را فعال کنید:
LoadModule proxy_html_module modules/mod_proxy_html.so
LoadModule xml2enc_module modules/mod_xml2enc.so

رویکرد B: اپلیکیشن‌های Self-contained بیتنامی

  • آخرین نسخه را دانلود و محتوایش را از حالت فشرده خارج کنید:
wget http://apache.webthing.com/mod_proxy_html/mod_proxy_html.tar.bz2
tar -jxf mod_proxy_html.tar.bz2
cd mod_proxy_html/
  • ماژول را نصب کنید:
sudo apxs -c -I /opt/bitnami/common/include/libxml2 -I. -i mod_proxy_html.c
sudo apxs -c -I /opt/bitnami/common/include/libxml2 -I. -i mod_xml2enc.c
sudo chmod 755 /opt/bitnami/apache2/modules/mod_proxy_html.so /opt/bitnami/apache2/modules/mod_xml2enc.so
  • با اضافه کردن خطوط زیر به انتهای فایل پیکربندی /opt/bitnami/apache2/conf/httpd.conf، ماژول را فعال کنید:
LoadFile /opt/bitnami/common/lib/libxml2.so
LoadModule proxy_html_module modules/mod_proxy_html.so
LoadModule xml2enc_module modules/mod_xml2enc.so

Mod_security

رویکرد A: اپلیکشین‌هایی که از پکیج‌های سیستمی استفاده می‌کنند

استک‌های بیتنامی همراه با ماژول mod_security3 نصب شده در آپاچی عرضه می‌شوند، اما این ماژول به صورت پیش‌فرض فعال نشده است. برای فعال‌سازی این ماژول، مراحل زیر را دنبال کنید:

  • ماژول mod_security3 و mod_unique_id را در آپاچی فعال کنید. فایل پیکربندی اصلی آپاچی را ویرایش و unique_id_module را از حالت کامنت خارج کنید و خط mod_security3 را به انتهای بخش LoadModule اضافه کنید:
...
LoadModule unique_id_module modules/mod_unique_id.so
...
LoadModule security3_module modules/mod_security3.so
  • ModSecurity را در فایل تمام هاست‌های مجازی فعال کنید. برای مثال، پیکربندی زیر را به فایل /opt/bitnami/apache2/conf/vhosts/APPNAME-vhost.conf اضافه کنید:
<VirtualHost _default_:80>
...
<Directory "/path/to/htdocs">
  ...
  modsecurity on
  modsecurity_rules_file "conf/modsecurity.conf"
  • سرور آپاچی را دوباره راه‌اندازی کنید:
sudo /opt/bitnami/ctlscript.sh restart apache
tail /opt/bitnami/apache2/logs/error_log

...
[Thu Jun 04 16:42:24.775180 2020] [:notice] [pid 4634:tid 140252742151040] ModSecurity: ModSecurity-Apache v0.1.1-beta configured.
...

رویکرد B: اپلیکیشن‌های Self-contained بیتنامی

  • ماژول mod_security2 و mod_unique_id را در آپاچی فعال کنید. فایل پیکربندی اصلی آپاچی را ویرایش و unique_id_module را از حالت کامنت خارج کنید و خط mod_security2 را به انتهای بخش LoadModule اضافه کنید:
...
LoadModule unique_id_module modules/mod_unique_id.so
...
LoadModule security2_module modules/mod_security2.so
  • به انتهای فایل پیکربندی آپاچی، فایل پیکربندی پیش‌فرض mod_security را اضافه کنید:
Include "/opt/bitnami/apache2/conf/modsecurity.conf"
  • سرور آپاچی را دوباره راه‌اندازی کنید و بررسی کنید که ماژول فعال شده باشد:
sudo /opt/bitnami/ctlscript.sh restart apache
tail /opt/bitnami/apache2/logs/error_log

...
[Thu Jan 30 18:42:14.004246 2014] [:notice] [pid 1127] ModSecurity for Apache/2.6.7 (http://www.modsecurity.org/) configured.
...

در برخی نسخه‌های قدیمی‌تر استک، لازم است که فایلی اضافی را برای این ماژول دانلود کنید. از دستورات زیر استفاده کنید:

cd /opt/bitnami/apache2/conf
sudo wget https://raw.githubusercontent.com/SpiderLabs/ModSecurity/v2/master/unicode.mapping

Mod_xsendfile

رویکرد A: اپلیکشین‌هایی که از پکیج‌های سیستمی استفاده می‌کنند

مراحل زیر را طی کنید:

  • آخرین نسخه‌ی ماژول را دانلود کنید:

wget https://tn123.org/mod_xsendfile/mod_xsendfile-0.12.tar.gz

  • محتوا را از حالت فشرده خارج و ماژول را نصب کنید:
tar -xzvf mod_xsendfile-0.12.tar.gz
cd mod_xsendfile-0.12
sudo apxs -aci mod_xsendfile.c

اگر همه چیز خوب پیش برود، ماژول در مسیر /opt/bitnami/apache2/modules/mod_xsendfile.so نصب می‌شود. برای اینکه ببینید چطور این ماژول را برای برنامه‌تان پیکربندی کنید، صفحه‌ی مربوط به پیکربندی mod_xsendfile را مطالعه کنید.

رویکرد B: اپلیکیشن‌های Self-contained بیتنامی

ماژول mod_xsendfile در نسخه‌های 5.4.13-2 و بالاتر استک‌های LAMP/MAMP/WAMP وجود دارد. برای فعال‌سازی این ماژول، خط زیر را به فایل پیکربندی آپاچی اضافه کنید:

اگر از نسخه‌های قدیمی استفاده می‌کنید، نصب این ماژول در سرور آپاچی موجودتان کار راحتی است. مراحل زیر را طی کنید:

  • آخرین نسخه را دانلود کنید:

wget https://tn123.org/mod_xsendfile/mod_xsendfile-0.12.tar.gz

  • محتوا را از حالت فشرده خارج و ماژول را نصب کنید:
tar -xzvf mod_xsendfile-0.12.tar.gz
cd mod_xsendfile-0.12
sudo /opt/bitnami/apache2/bin/apxs -aci mod_xsendfile.c

اگر همه چیز خوب پیش برود، ماژول در مسیر /opt/bitnami/apache2/modules/mod_xsendfile.so نصب می‌شود. برای اینکه ببینید چطور این ماژول را برای برنامه‌تان پیکربندی کنید، صفحه‌ی مربوط به پیکربندی mod_xsendfile را مطالعه کنید.

Mod_http2

استک‌های بیتنامی همراه با ماژول mod_http2 عرضه می‌شوند، اما به صورت پیش‌فرض فعال نشده است. برای فعال‌سازی این ماژول، مراحل زیر را دنبال کنید:

  • فایل پیکربندی اصلی آپاچی را که در آدرس /opt/bitnami/apache2/conf/httpd.conf قرار دارد ویرایش و خط زیر را از حالت کامنت خارج کنید:
...
LoadModule http2_module modules/mod_http2.so
  • آپاچی را دوباره راه‌اندازی کنید و مطمئن شوید که ماژول فعال شده باشد:
sudo /opt/bitnami/ctlscript.sh restart apache
sudo apachectl -M | grep http2