RedHatのコマンドラインからApacheモジュールを有効にするにはどうすればよいですか?
Debian/Ubuntuシステムでは、コマンドラインからモジュールを有効にするためにa2enmodを使用します。
RedHat/CentOSタイプのシステムに相当するものはありますか?
同等のものはありません。
Debian/Ubuntuは、Apache構成を多数のファイルに肉付けします。そこでは、有効にされたMODのディレクトリとサイトが、構成ファイルの他のスニペットにシンボリックリンクされています。 a2enmod/a2ensiteスクリプトは、これらのシンボリックリンクを操作するだけです。
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システムでは、Apache設定はデフォルトで1つのファイル/etc/httpd/conf/httpd.confに保持されます。すべてのモジュールはこのファイルからロードされ、適切なLoadModuleステートメントをコメント化することで無効にできます。
...
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がやっていることは、かなり標準的なApacheセットアップを提供しているのに対し、debianは独自の「改善」を追加しています。もちろん、debian split configシステムをテンプレートとして使用して独自のスクリプトを作成し、スクリプトをコピーすることもできます。ただし、debianセットアップの主な引数は、Apacheモジュールパッケージが独自の構成ファイルをインストールできるようにするためであり、そうしないと、あまり役に立たなくなります。
編集:これと同等のスクリプトを作成する方法を探している場合は、/ etc/httpd/conf.dディレクトリを使用することをお勧めします。ここにある構成ファイルはすべて含まれます。スクリプトの複雑さによっては、1行のファイルを直接conf.dに書き込むか、より複雑なビットにはシンボリックリンクを使用するのが理にかなっています。
通常、Redhatシステムでは、/etc/httpd/conf/httpd.conf
内に次のような行があります。
Conf.d/*。confを含める
構成ファイルを/etc/httpd/conf.d
にコピーし、ファイル拡張子が.conf
の場合、Apacheの起動時に取得されて処理されます。通常、mod_php
やmod_svn
などの拡張機能の構成ファイルと、trac
などのWebサーバーと統合されているアプリケーションが、このフォルダー内にあります。
補足:OpenSuSEなど、RPMを使用する他のシステムでのmod_php
やmod_auth_mysql
などのApacheモジュールの場合、他の構成ファイル(/etc/sysconfig/Apache2
など)を編集する必要がある場合があります。 Apacheが新しいモジュールを取得します。これの一部は、使用されているシステム管理ツール、つまりyast2に依存しています。 plesk/cpanelなど、インストール可能なアフターマーケット製品に依存しているものもあります。ただし、上記のフォルダーは開始するのに最適な場所です。
yum list mod\*
必要なモジュールをインストールする
たとえばmod_Perl
rpm -ql mod_Perl.x86_64 | grep /etc/
/etc/httpd/conf.d/Perl.conf
/etc/httpd/conf.modules.d/02-Perl.conf
/etc/httpd/conf.d/Perl.conf
を編集して有効にします
デフォルトでは、誰かがロードしたくない場合は、インストール時にすべてのmodがロードされます。
/etc/httpd/conf.modules.d/02-Perl.conf
のファイルを編集し、ハッシュ記号を付けてコメント行を読み込みます(#
)
「有効」モジュールは「LoadModules」とは異なり、インストールします
service enable httpd
を実行できますyum install -y <mod_name>
yum list mod\*
で空室状況を確認すでに有効化されてインストールされている場合、それらをロードしてドラフトを使用するにはhttpd.confまたは*。confファイルとして、LoadModule ldap_module modules/mod_ldap.so
確認するには、正しく読み込まれ、使用できる状態であれば、apachectl -M