Apache modüllerini RedHat'taki komut satırından nasıl etkinleştirebilirim?
Debian/Ubuntu sistemlerinde modülleri komut satırından etkinleştirmek için a2enmod kullanıyorum.
RedHat/CentOS tipi sistemler için bir eşdeğer var mı?
Eşdeğeri yok.
Debian/Ubuntu, Apache yapılandırmasını çok sayıda dosyaya yerleştirir, burada modların ve etkinleştirilen sitelerin dizinleri diğer yapılandırma dosyalarının snippet'lerine bağlanır. A2enmod/a2ensite komut dosyaları bu sembolik bağlantıları kullanır.
debian$ ls /etc/Apache2/mods-enabled
lrwxrwxrwx 1 root root 28 2009-03-12 18:02 alias.conf -> ../mods-available/alias.conf
lrwxrwxrwx 1 root root 28 2009-03-12 18:02 alias.load -> ../mods-available/alias.load
lrwxrwxrwx 1 root root 33 2009-03-12 18:02 auth_basic.load -> ../mods-available/auth_basic.load
lrwxrwxrwx 1 root root 33 2009-03-12 18:02 authn_file.load -> ../mods-available/authn_file.load
lrwxrwxrwx 1 root root 36 2009-03-12 18:02 authz_default.load -> ../mods-available/autoindex.load
lrwxrwxrwx 1 root root 26 2009-03-12 18:02 env.load -> ../mods-available/env.load
lrwxrwxrwx 1 root root 27 2009-03-12 18:02 mime.conf -> ../mods-available/mime.conf
lrwxrwxrwx 1 root root 27 2009-03-12 18:02 mime.load -> ../mods-available/mime.load
lrwxrwxrwx 1 root root 34 2009-03-12 18:02 negotiation.conf -> ../mods-available/negotiation.conf
lrwxrwxrwx 1 root root 34 2009-03-12 18:02 negotiation.load -> ../mods-available/negotiation.load
lrwxrwxrwx 1 root root 27 2009-06-16 21:47 php5.conf -> ../mods-available/php5.conf
lrwxrwxrwx 1 root root 27 2009-06-16 21:47 php5.load -> ../mods-available/php5.load
Redhat sistemlerinde Apache yapılandırması varsayılan olarak /etc/httpd/conf/httpd.conf dosyasında tutulur. Tüm modüller bu dosyadan yüklenir ve uygun LoadModule deyimi yorumlanarak devre dışı bırakılabilir.
...
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule ldap_module modules/mod_ldap.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule include_module modules/mod_include.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
LoadModule mime_module modules/mod_mime.so
LoadModule dav_module modules/mod_dav.so
...
RedHat/CentOS'un yaptığı şey, oldukça güzel bir Apache kurulumu sunarken, debian kendi "geliştirmelerini" ekliyor. Elbette, debian split config sistemini kendi şablonunuzu oluşturmak için bir şablon olarak kullanabilirsiniz ve komut dosyalarını kopyalayabilirsiniz. Bununla birlikte, debian kurulumunun ana argümanı, Apache modül paketlerinin kendi yapılandırma dosyalarını yükleyebilmesidir, böylece onsuz önemli ölçüde daha az yararlıdır.
Edit: Bu komut dosyası eşdeğer bir yol arıyorsanız /etc/httpd/conf.d dizinini kullanmanızı öneririz, burada herhangi bir yapılandırma dosyaları dahil edilecektir. Komut dosyasının ne kadar karmaşık olduğuna bağlı olarak, bir satır dosyasını doğrudan conf.d'ye yazmak veya daha karmaşık bitler için sembolik bağlantıları kullanmak mantıklı olabilir.
Tipik olarak, bir Redhat sisteminde, /etc/httpd/conf/httpd.conf
İçinde şöyle görünen bir satır bulacaksınız:
Conf.d/*. Conf öğesini dahil et
Bir yapılandırma dosyasını /etc/httpd/conf.d
İçine kopyaladığınızda ve bir .conf
Dosya uzantısına sahip olduğunuzda, Apache başlar başlamaz alınacak ve işlenecektir. Genellikle mod_php
Ve mod_svn
Gibi uzantılar için yapılandırma dosyalarını ve bu klasör içinde trac
gibi web sunucusuyla tümleştirilmiş uygulamaları bulabilirsiniz.
Yan not: RPM kullanan diğer sistemlerde OpenSuSE gibi mod_php
Veya mod_auth_mysql
Gibi Apache modülleri için, düzenlenmesi gereken başka yapılandırma dosyaları (/etc/sysconfig/Apache2
Gibi) olabilir Apache'nin yeni bir modül alması için. Bunlardan bazıları, kullanılan sistem yönetim aracına, yani yast2'ye bağlıdır. Bazıları, plesk/cpanel gibi kurulabilen satış sonrası ürünlere bağlıdır. Ancak, yukarıdaki klasör başlamak için en iyi yerdir.
yum list mod\*
istediğiniz modülleri yükleyin
örneğin mod_Perl
rpm -ql mod_Perl.x86_64 | grep /etc/
/etc/httpd/conf.d/Perl.conf
/etc/httpd/conf.modules.d/02-Perl.conf
etkinleştirmek için /etc/httpd/conf.d/Perl.conf
Varsayılan olarak, birini yüklemek istemiyorsanız, yüklendiğinde tüm modlar yüklenir
/etc/httpd/conf.modules.d/02-Perl.conf
içindeki dosyayı düzenle ve yorumla Karma işaretli satırı yükle (#
)
'Etkinleştir' Modülleri "LoadModules" den farklıdır ve Install
service enable httpd
yum install -y <mod_name>
yum list mod\*
Zaten etkinleştirilmiş ve yüklenmişse taslak kullanmak üzere onları yüklemek için httpd.conf veya *. Conf dosyaları,LoadModule ldap_module modules/mod_ldap.so
Doğru Yüklendiğinde ve kullanıma hazırsa, doğrulamak için apachectl -M