Fedora(14)でmod_pagespeedを使用してApacheを実行していますが、エラーメッセージが表示されます。
[error] an unknown filter was not added: DEFLATE
たくさん。これはmod_deflateがロードされていないためですが、それは問題ありません。ロードしたくありません(ロードバランサーがgzip圧縮などを処理し、deflateがWebサーバー上にある場合も予期しない結果が発生します)。
しかし、どこで参照されているのかわからないので、このコマンドを使用して/ etc/httpd内のすべてのファイルを調べました。
find . -type f -exec grep -li "deflate" {} \;
pdateこのコマンドはconf.dサブディレクトリも検索します。同様の方法を使用して、サーバー上のすべての.htaccessファイルを調べました
find . -type f -name ".htaccess" -exec grep -li "deflate" {} \;
唯一の参照は.confファイルにあり、それらは#
でコメント化されています(Apacheが再起動されました)pdate例
# LoadModule deflate_module modules/mod_deflate.so
参照されている場所を見つけて削除するにはどうすればよいですか?
pdatea2enmod
およびa2dismod
を実行しようとしましたが、そのようなコマンドはありません。 yum install a2dismod
は、インストールするものが何も見つかりません。それらのコマンドの名前と私がubuntuで遭遇した/etc/Apache2/mods-enabled
ディレクトリ、同等のFedora/Fedora-installed-via-yumコマンドがわかりません
インストールされているモジュールのリスト(ただし、エラーはフィルターが不明であるため、何を探しているのかわかりませんか?mod_deflateがこのリストにあれば、エラーは発生しませんか?)
Loaded Modules:
core_module (static)
mpm_prefork_module (static)
http_module (static)
so_module (static)
auth_basic_module (shared)
auth_digest_module (shared)
authn_file_module (shared)
authn_alias_module (shared)
authn_anon_module (shared)
authn_dbm_module (shared)
authn_default_module (shared)
authz_Host_module (shared)
authz_user_module (shared)
authz_owner_module (shared)
authz_groupfile_module (shared)
authz_dbm_module (shared)
authz_default_module (shared)
ldap_module (shared)
authnz_ldap_module (shared)
include_module (shared)
log_config_module (shared)
logio_module (shared)
env_module (shared)
ext_filter_module (shared)
mime_magic_module (shared)
expires_module (shared)
headers_module (shared)
usertrack_module (shared)
setenvif_module (shared)
mime_module (shared)
dav_module (shared)
status_module (shared)
autoindex_module (shared)
info_module (shared)
dav_fs_module (shared)
vhost_alias_module (shared)
negotiation_module (shared)
dir_module (shared)
actions_module (shared)
speling_module (shared)
userdir_module (shared)
alias_module (shared)
substitute_module (shared)
rewrite_module (shared)
proxy_module (shared)
proxy_balancer_module (shared)
proxy_ftp_module (shared)
proxy_http_module (shared)
proxy_ajp_module (shared)
proxy_connect_module (shared)
cache_module (shared)
suexec_module (shared)
disk_cache_module (shared)
cgi_module (shared)
version_module (shared)
cband_module (shared)
dnssd_module (shared)
pagespeed_module (shared)
Perl_module (shared)
php5_module (shared)
python_module (shared)
ssl_module (shared)
表示されるエラーメッセージは、現在のApache構成をロードする必要があるmod-deflate
を実際に意味します。 Apacheがmod-deflate
を処理フィルターとして使用することを望んでいます。送信フィルターまたは受信フィルターのいずれかです。
フィルターに関するApacheドキュメント を参照してください。
mod-deflate
を使用したくないので、これを無効にしましたが、DUMP_MODULES
の出力には表示されません。次に、mod-deflate
を使用するフィルター命令を探し、それらを非アクティブ化する必要があります。キーワードDEFLATE
を探すのは良いスタートですが、INFLATE
も探します(mod-deflate
は、受信した応答本体の解凍にも使用されます)。また、何も見つからない場合は、Filter
を探しても役立つ場合があります(ただし、一致するリストが長くなる可能性があります)。次のようなコマンドを試してください:
grep -r Filter /etc/Apache2/*
find /var/www -type f -name .htaccess -exec grep Filter {} \;
一部のパッケージ(phpmyadminなどの一部のWebアプリケーション)は通常、Apache構成ディレクティブを別のディレクトリにインストールするため、他のインクルードファイルを探す必要がある場合もあります(少なくとも、これは一部のDebian/Ubuntuパッケージの場合で、Fedoraではわかりません)。
フィルターモジュール(mod-filter
)とMIMEモジュール(mod-mime
、Add/RemoveFilterディレクティブを定義)を完全に非アクティブ化することもできますが、これにより、おそらく必要な他の機能が非アクティブ化されます。
Fedoraのどのバージョンを使用していますか?
deflate
Wordを検索するだけでなく、Apache構成ファイルでinclude
ステートメントを検索する必要もあります。ほとんどのLinuxディストリビューションは、/etc/Apache2/conf.d/
などのディレクトリからすべてのファイルを自動的にApache構成に含めます。それはあなたの場合かもしれません。
おそらくディストリビューションには、Apacheモジュールの管理に役立つa2enmod
およびa2dismod
Apacheユーティリティが含まれています。これらのユーティリティは通常、/etc/Apache2/mods-enabled
ディレクトリ内のリンクのみを管理します。リンクは上記で説明したように含まれます。これらのコマンドを使用して、Apacheが使用しているモジュールのリストを管理してみてください。
Htaccessファイルを確認してください。
AddOutputFilterByType DEFLATE text/plain