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


29

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

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

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

回答:


27

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

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は、debianが独自の「改善」を追加している間に、かなり標準的なApacheセットアップを提供しています。もちろん、debian分割構成システムをテンプレートとして使用して、独自のシステムを作成し、スクリプトをコピーすることもできます。ただし、debianセットアップの主な引数は、apacheモジュールパッケージが独自の設定ファイルをインストールできるようにすることです。


編集:これをスクリプト化する同等の方法を探している場合、/ etc / httpd / conf.dディレクトリを使用することをお勧めします。ここにある設定ファイルはすべて含まれます。スクリプトの複雑さに応じて、conf.dに1行のファイルを直接書き込むか、より複雑なビットにシンボリックリンクを使用するのが理にかなっている場合があります。


新しいサーバービルドスクリプトで何をするのですか?awk / sed craziness?独自の構成ファイルを作成し、それらをコピーして配置しますか?これらのオプションはどれも魅力的ではありません。
マーシャル

1
誰もがあなたの答えを急いでいる理由はわかりません。Red Hat-alikesでa2enmodスクリプトが見つからない理由を正しく説明しています。個人的には、RHELボックスで同様のレイアウトを管理するために人形を使用する予定です。
チャドハニーカット2009

1
@womble-debianは小さなファイルを使いすぎており、たとえば、apacheがリッスンするポートを設定するためのファイル全体を持っていると思います。構成ファイルが実際にどのように機能するかを理解していないユーザーを混乱させるポイント。私はその苦いとは言いません。
もう1つは、

10年後のコメント、少なくともRHEL / CentOS 7では、チェックインする必要があります/etc/httpd/conf.modules.d
cdmo

3

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

conf.d / *。confを含める

構成ファイルをにコピーし/etc/httpd/conf.d.confファイル拡張子が付いている場合、Apacheの起動時にそのファイルが選択されて処理されます。あなたは、通常のような拡張のための設定ファイルを見つけることができますmod_phpし、mod_svnのようなWebサーバと統合され、そしてアプリケーションtracこのフォルダの中に、。

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


Fedora 21(および場合によっては他のバージョンまたは他のRHファミリーディストリビューション)で作業している人のために、モジュールのロードは/etc/httpd/conf.modules.d/という新しいディレクトリに移動されました。Include conf.modules.d/*.confその場合、httpd.confに次の行が表示されます。
夜のフクロウ

1
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とコメントハッシュ記号付きの行の読み込み(#


これは質問に対する完璧な答えです。「有効化」は「ロードモジュール」とは異なります。
Raghav Tallam

0

「有効化」モジュールは「LoadModules」およびインストールとは異なります

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

  • 確認するには、正しくロードされ、使用準備ができている場合、 apachectl -M

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.