web-dev-qa-db-ja.com

RedHatのコマンドラインからApacheモジュールを有効にするにはどうすればよいですか?

RedHatのコマンドラインからApacheモジュールを有効にするにはどうすればよいですか?

Debian/Ubuntuシステムでは、コマンドラインからモジュールを有効にするためにa2enmodを使用します。

RedHat/CentOSタイプのシステムに相当するものはありますか?

30
MarshallY

同等のものはありません。

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に書き込むか、より複雑なビットにはシンボリックリンクを使用するのが理にかなっています。

27
theotherreceive

通常、Redhatシステムでは、/etc/httpd/conf/httpd.conf内に次のような行があります。

Conf.d/*。confを含める

構成ファイルを/etc/httpd/conf.dにコピーし、ファイル拡張子が.confの場合、Apacheの起動時に取得されて処理されます。通常、mod_phpmod_svnなどの拡張機能の構成ファイルと、tracなどのWebサーバーと統合されているアプリケーションが、このフォルダー内にあります。

補足:OpenSuSEなど、RPMを使用する他のシステムでのmod_phpmod_auth_mysqlなどのApacheモジュールの場合、他の構成ファイル(/etc/sysconfig/Apache2など)を編集する必要がある場合があります。 Apacheが新しいモジュールを取得します。これの一部は、使用されているシステム管理ツール、つまりyast2に依存しています。 plesk/cpanelなど、インストール可能なアフターマーケット製品に依存しているものもあります。ただし、上記のフォルダーは開始するのに最適な場所です。

3
Karl Katzke
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のファイルを編集し、ハッシュ記号を付けてコメント行を読み込みます(#

1
Sérgio

「有効」モジュールは「LoadModules」とは異なり、インストールします

  • すでにインストールされていてオフラインの場合、rootユーザーはservice enable httpdを実行できます
  • モジュールとそのconfファイルが利用できない場合、rootユーザーはyum install -y <mod_name>
  • yum list mod\*で空室状況を確認
  • すでに有効化されてインストールされている場合、それらをロードしてドラフトを使用するにはhttpd.confまたは*。confファイルとして、
    LoadModule ldap_module modules/mod_ldap.so

  • 確認するには、正しく読み込まれ、使用できる状態であれば、apachectl -M

0
Raghav Tallam