Apache/a2enmodとa2dismodコマンドの動作について
の編集
Top
/
Apache
/
a2enmodとa2dismodコマンドの動作について
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
#navi(../) * a2enmodとa2dismodコマンドの動作について [#v8f243cf] Apache2をインストールしてモジュールを有効化(a2enmod)、無効化(a2dismod)する場合はコマンドを使うと便利です。~ (Ubuntu, Debianで確認しました。他のディストリビューションでは確認していません…)~ aptコマンドでApacheをインストールしたあと、/etc/apache2/apache2.conf をみてみてください。~ modに関する設定がぜんぜんないのが確認できます。~ しかし、以下の宣言により、modの設定を読み込んでいるのが確認できます。 # Include module configuration: IncludeOptional mods-enabled/*.load IncludeOptional mods-enabled/*.conf 以下、a2enmodとa2dismodの動作をrewrite_modを例にし記します。 #contents #htmlinsertpcsp(web-top.html,web-sp.html) * modの宣言ファイル [#wcc56f22] 以下のコマンドでApache2のmod一覧が表示されます。 $ ls /etc/apache2/mods-available/ access_compat.load buffer.load headers.load negotiation.conf sed.load actions.conf cache.load heartbeat.load negotiation.load session.load actions.load cache_disk.conf heartmonitor.load php5.conf session_cookie.load alias.conf cache_disk.load ident.load php5.load session_crypto.load <snip> 上記の通り、/etc/apache2/mods-availableにファイルがあるのが確認できます。 * a2enmodの動作 [#r685f44d] 詳細は、man a2enmodを確認してください。~ 以下の例で rewrite_mod を有効にしてみます。 + rewrite_modがあるかどうかを確認します。~ 以下の通りmodが表示されます。 $ ls /etc/apache2/mods-available/ access_compat.load buffer.load headers.load negotiation.conf sed.load actions.conf cache.load heartbeat.load negotiation.load session.load actions.load cache_disk.conf heartmonitor.load php5.conf session_cookie.load alias.conf cache_disk.load ident.load php5.load session_crypto.load <snip> +たくさん表示されたので、grepをしてみます。~ rewriteが存在することが確認できます。 $ ls -1 /etc/apache2/mods-available/ | grep rewrite rewrite.load +見つけたファイルをcatするとmodを有効化する設定が記述されています。 $ cat /etc/apache2/mods-available/rewrite.load LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so + a2enmodでrewriteを有効にします。 a2enmod rewrite 構文は以下のようになります。 a2enmod モジュール Ubuntuなどの場合は、sudoをつけて実行してください。 + 以下、実際に実行したときの出力です。~ modを有効にするため、Apache2の再起動が促されます。 $ sudo a2enmod rewrite Enabling module rewrite. To activate the new configuration, you need to run: service apache2 restart +a2enmodで何が行われているかを以下に説明します。~ 最初に記述した通り、apache2.confには以下の記述があります。 IncludeOptional mods-enabled/*.load a2enmodコマンドで、/etc/apache2/mods-available/rewrite.load のリンクを /etc/apache2/mods-enabled/ に作成しています。 $ ls -l /etc/apache2/mods-enabled/rewrite.load lrwxrwxrwx 1 root root 30 12月 17 11:02 /etc/apache2/mods-enabled/rewrite.load -> ../mods-available/rewrite.load これにより、IncludeOptional mods-enabled/*.load 内にrewriteのリンクが存在するうようになるので、Apache2再起動によりrewriteが有効になります。 * a2dismodの動作 [#v2e8b3d0] a2enmodの動作でも記述しましたが、a2dismodによりa2enmodで作成したリンクを削除します。~ これにより、rewriteの設定がなくなるのでApache2再起動によりrewriteが無効になります。~ 以下に実行例を記します。 $ ls -l /etc/apache2/mods-enabled/rewrite.load lrwxrwxrwx 1 root root 30 12月 17 11:02 /etc/apache2/mods-enabled/rewrite.load -> ../mods-available/rewrite.load $ sudo a2dismod rewrite Module rewrite disabled. To activate the new configuration, you need to run: service apache2 restart $ ls -l /etc/apache2/mods-enabled/rewrite.load ls: /etc/apache2/mods-enabled/rewrite.load にアクセスできません: そのようなファイルやディレクトリはありません $ * a2enmod, a2dismodとは [#e0d1623b] a2enmodとa2dismodをfileコマンドで確認すると、perlスクリプトであることが確認できます。~ また、a2dismodはa2enmodへのリンクであることが確認できます。 $ file `which a2enmod` /usr/sbin/a2enmod: a /usr/bin/perl -w script, ASCII text executable $ file `which a2dismod` /usr/sbin/a2dismod: symbolic link to a2enmod $ ls -l `which a2dismod` lrwxrwxrwx 1 root root 7 9月 18 01:51 /usr/sbin/a2dismod -> a2enmod $ head -20 `which a2enmod` #!/usr/bin/perl -w # # a2enmod by Stefan Fritsch <sf@debian.org> # Licensed under Apache License 2.0 # # The coding style is "perltidy -pbp" use strict; use Cwd 'realpath'; use File::Spec; use File::Basename; use File::Path; use Getopt::Long; my $quiet; my $force; my $maintmode; my $purge; Getopt::Long::Configure('bundling'); 興味のある方は、スクリプトを読んでみてください。 以上、a2enmodおよびa2dismodについての簡単な説明でした。~ 詳細については、man a2enmodなどで確認してください。 ''設定変更後は、Apache2の再起動を忘れずに'' #htmlinsertpcsp(web-btm.html,web-sp.html)
タイムスタンプを変更しない
#navi(../) * a2enmodとa2dismodコマンドの動作について [#v8f243cf] Apache2をインストールしてモジュールを有効化(a2enmod)、無効化(a2dismod)する場合はコマンドを使うと便利です。~ (Ubuntu, Debianで確認しました。他のディストリビューションでは確認していません…)~ aptコマンドでApacheをインストールしたあと、/etc/apache2/apache2.conf をみてみてください。~ modに関する設定がぜんぜんないのが確認できます。~ しかし、以下の宣言により、modの設定を読み込んでいるのが確認できます。 # Include module configuration: IncludeOptional mods-enabled/*.load IncludeOptional mods-enabled/*.conf 以下、a2enmodとa2dismodの動作をrewrite_modを例にし記します。 #contents #htmlinsertpcsp(web-top.html,web-sp.html) * modの宣言ファイル [#wcc56f22] 以下のコマンドでApache2のmod一覧が表示されます。 $ ls /etc/apache2/mods-available/ access_compat.load buffer.load headers.load negotiation.conf sed.load actions.conf cache.load heartbeat.load negotiation.load session.load actions.load cache_disk.conf heartmonitor.load php5.conf session_cookie.load alias.conf cache_disk.load ident.load php5.load session_crypto.load <snip> 上記の通り、/etc/apache2/mods-availableにファイルがあるのが確認できます。 * a2enmodの動作 [#r685f44d] 詳細は、man a2enmodを確認してください。~ 以下の例で rewrite_mod を有効にしてみます。 + rewrite_modがあるかどうかを確認します。~ 以下の通りmodが表示されます。 $ ls /etc/apache2/mods-available/ access_compat.load buffer.load headers.load negotiation.conf sed.load actions.conf cache.load heartbeat.load negotiation.load session.load actions.load cache_disk.conf heartmonitor.load php5.conf session_cookie.load alias.conf cache_disk.load ident.load php5.load session_crypto.load <snip> +たくさん表示されたので、grepをしてみます。~ rewriteが存在することが確認できます。 $ ls -1 /etc/apache2/mods-available/ | grep rewrite rewrite.load +見つけたファイルをcatするとmodを有効化する設定が記述されています。 $ cat /etc/apache2/mods-available/rewrite.load LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so + a2enmodでrewriteを有効にします。 a2enmod rewrite 構文は以下のようになります。 a2enmod モジュール Ubuntuなどの場合は、sudoをつけて実行してください。 + 以下、実際に実行したときの出力です。~ modを有効にするため、Apache2の再起動が促されます。 $ sudo a2enmod rewrite Enabling module rewrite. To activate the new configuration, you need to run: service apache2 restart +a2enmodで何が行われているかを以下に説明します。~ 最初に記述した通り、apache2.confには以下の記述があります。 IncludeOptional mods-enabled/*.load a2enmodコマンドで、/etc/apache2/mods-available/rewrite.load のリンクを /etc/apache2/mods-enabled/ に作成しています。 $ ls -l /etc/apache2/mods-enabled/rewrite.load lrwxrwxrwx 1 root root 30 12月 17 11:02 /etc/apache2/mods-enabled/rewrite.load -> ../mods-available/rewrite.load これにより、IncludeOptional mods-enabled/*.load 内にrewriteのリンクが存在するうようになるので、Apache2再起動によりrewriteが有効になります。 * a2dismodの動作 [#v2e8b3d0] a2enmodの動作でも記述しましたが、a2dismodによりa2enmodで作成したリンクを削除します。~ これにより、rewriteの設定がなくなるのでApache2再起動によりrewriteが無効になります。~ 以下に実行例を記します。 $ ls -l /etc/apache2/mods-enabled/rewrite.load lrwxrwxrwx 1 root root 30 12月 17 11:02 /etc/apache2/mods-enabled/rewrite.load -> ../mods-available/rewrite.load $ sudo a2dismod rewrite Module rewrite disabled. To activate the new configuration, you need to run: service apache2 restart $ ls -l /etc/apache2/mods-enabled/rewrite.load ls: /etc/apache2/mods-enabled/rewrite.load にアクセスできません: そのようなファイルやディレクトリはありません $ * a2enmod, a2dismodとは [#e0d1623b] a2enmodとa2dismodをfileコマンドで確認すると、perlスクリプトであることが確認できます。~ また、a2dismodはa2enmodへのリンクであることが確認できます。 $ file `which a2enmod` /usr/sbin/a2enmod: a /usr/bin/perl -w script, ASCII text executable $ file `which a2dismod` /usr/sbin/a2dismod: symbolic link to a2enmod $ ls -l `which a2dismod` lrwxrwxrwx 1 root root 7 9月 18 01:51 /usr/sbin/a2dismod -> a2enmod $ head -20 `which a2enmod` #!/usr/bin/perl -w # # a2enmod by Stefan Fritsch <sf@debian.org> # Licensed under Apache License 2.0 # # The coding style is "perltidy -pbp" use strict; use Cwd 'realpath'; use File::Spec; use File::Basename; use File::Path; use Getopt::Long; my $quiet; my $force; my $maintmode; my $purge; Getopt::Long::Configure('bundling'); 興味のある方は、スクリプトを読んでみてください。 以上、a2enmodおよびa2dismodについての簡単な説明でした。~ 詳細については、man a2enmodなどで確認してください。 ''設定変更後は、Apache2の再起動を忘れずに'' #htmlinsertpcsp(web-btm.html,web-sp.html)
テキスト整形のルールを表示する