|
ErrorLog・CustomLog 書込みフォーマットは、あなたの仕様に合わせてください。
/var/www/html/www.smiyasaka.com は、私の場合の DocumentRoot です。 |
|
|
|
編集コマンド 指定行へのジャンプは、:[行番号]
最終行へのジャンプは、[Shift]g
先頭行へのジャンプは、1[Shift]g
vi /usr/local/apache2/conf/httpd.conf
行番号の追加コマンド ---> :set number
行番号は httpd のバージョンによって多少の誤差がありますので注意してください。 |
|
|
|
101行目あたり SSI を利用するための
LoadModule include_module modules/mod_include.so のコメントを外す
105行目あたり # が無いか確認する(圧縮モジュールの組込み)
LoadModule deflate_module modules/mod_deflate.so のコメントを外す
146行目あたり ここ忘れると SSI 動かない
LoadModule cgid_module modules/mod_cgid.so のコメントを外す
166行目あたり ○○○○は、ユーザー名
ここのユーザー名と DocumentRoot 内のファイルの所有者を合わせてください。
User daemon
Group daemon
↓ ↓
User ○○○○
Group ○○○○
188行目あたり ○○○○@○○○○は、貴方または、管理者のメールアドレス
#ServerAdmin you@example.com
ServerAdmin ○○○○@○○○○
197行目あたり ○○○○は、サーバ構築時のホスト名
#ServerName www.example.com:80
ServerName ○○○○:80
204~207行目あたり コメントアウト
#<<Directory />
# AllowOverride none
# Require all denied
#</Directory>
221行目あたり
あなたの環境でのドキュメントルートを設定する。
下記は、私のサーバ機でのドキュメントルートです。
#DocumentRoot "/usr/local/apache2/htdocs"
<Directory "/usr/local/apache2/htdocs">
↓ ↓ ↓
DocumentRoot "/var/www/html/www.smiyasaka.com" <---- configtest の時、
<Directory "/var/www/html/www.smiyasaka.com">
/var/www/html/www.smiyasaka.com のディレクトリが無いと Syntax error になります。
DocumentRoot を必ず作成してください。
235行目あたり IndexesをIncludesに書換える。
-Indexesディレクトリを直接リクエストされインデックスが存在しない時に
ファイルの一覧を作成させない。
Includes : SSI の利用を許可する。
ExecCGI : CGI の利用を許可する。
-Indexes : インデックス表示を無効にする。
( MultiViews : 多言語対応のホームページでない時には不要です。)
Options Indexes FollowSymLinks
↓ ↓ ↓
Options Includes FollowSymLinks ExecCGI
Options -Indexes
242行目あたり .htaccessの有効化
私の場合、ホームページアクセス時のエラー表示で使用しています。
#AllowOverride None
↓ ↓ ↓
AllowOverride All
254行目あたり インデックスファイルを設定 index.cgi を追加する。
<IfModule dir_module>
DirectoryIndex index.html index.cgi
</IfModule>
262行目あたり
ForceType text/html : HTML文書の拡張子 .htm .html をMIMEタイプの拡張子 text/html
として扱われます。
SetOutputFilter INCLUDES : SSI処理のための mod_include モジュールで提供される INCLUDES
フィルタを 出力フィルタとして挿入、拡張子 .html で SSI を有効にします。
<Files ".ht*">
Require all denied
</Files>
↓ ↓ ↓
<Files *.html>
ForceType text/html
SetOutputFilter INCLUDES
</Files>
273行目あたり
#ErrorLog logs/error_log
↓ ↓ ↓
ErrorLog "| /usr/local/apache2/bin/rotatelogs \
/usr/local/apache2/logs/www.smiyasaka.com_elog_%Y%m%d 86400 540"
302行目あたり コメントアウトして追加する
# CustomLog logs/access_log common
Include conf/extra/httpd-log.conf <---- 下記ログの設定を httpd-log.conf として作成する。 |
|
|
|
〇 httpd-log.conf の作成手順
空のファイル作成
touch /usr/local/apache2/conf/extra/httpd-log.conf
vi /usr/local/apache2/conf/extra/httpd-log.conf
下記を貼り付け(コピペ)ます |
|
|
|
<IfModule log_config_module>
#
#--------------------------------------------------------------------------
# 不要なログの記録をさせない設定
#--------------------------------------------------------------------------
#
# 拡張子による制限
SetEnvIf Request_URI ".(gif)|(jpg)|(jpeg)|(png)|(bmp)|(ico)|(css)|(swf)$" no-logfile
#
#内部からのアクセスをログに記録しない対策
# IPアドレスによる制限 ローカル
SetEnvIf Remote_Addr "192.168.0." no-logfile
# サーチエンジンのログは取らない。
SetEnvIf User-Agent "Gigabot" no-logfile
SetEnvIf User-Agent "Googlebot" no-logfile
SetEnvIf User-Agent "MJ12bot" no-logfile
SetEnvIf User-Agent "msnbot" no-logfile
SetEnvIf User-Agent "psbot" no-logfile
SetEnvIf User-Agent "TurnitinBot" no-logfile
SetEnvIf User-Agent "Yahoo! Slurp" no-logfile
SetEnvIf User-Agent "Zealbot" no-logfile
# ワームによる制限のログは取らない。
SetEnvIf Request_URI "default\.ida" no-logfile
SetEnvIf Request_URI "null\.ida" no-logfile
SetEnvIf Request_URI "NULL\.IDA" no-logfile
SetEnvIf Request_URI "cmd\.exe" no-logfile
SetEnvIf Request_URI "root\.exe" no-logfile
SetEnvIf Request_URI "Admin\.dll" no-logfile
SetEnvIf Request_URI "^/_mem_bin/" no-logfile
SetEnvIf Request_URI "^/_vti_bin/" no-logfile
SetEnvIf Request_URI "^/c/" no-logfile
SetEnvIf Request_URI "^/d/" no-logfile
SetEnvIf Request_URI "^/msadc/" no-logfile
SetEnvIf Request_URI "^/scripts/" no-logfile
# CGIディレクトリ
SetEnvIf Request_URI "^/cgi-bin/" no-logfile
# 巡回ロボットがアクセスする robots.txt
SetEnvIf Request_URI "robots\.txt" no-logfile
# 長いURLへの対処
#
# ログファイルは、www.smiyasaka.com_alog_( 年月日 )のファイル名で保存されます。
#
SetEnvIf Request_Method "(GET)|(POST)|(PUT)|(DELETE)|(HEAD)" logfile
SetEnvIf Request_Method "(OPTIONS)" no-logfile
CustomLog "| /usr/local/apache2/bin/rotatelogs \
/usr/local/apache2/logs/www.smiyasaka.com_alog_%Y%m%d 86400 540" \
combined env=!no-logfile
</IfModule> |
|
|
|
ここは、別ドキュメントルートが必要な場合に記述してください。
323行目行目あたり
# Alias /webpath /full/filesystem/path
↓ ↓ ↓
Alias "/home" "/home/miyasaka/www"
# /home/○○○○ でのアクセスは、/home/miyasaka/wwww/○○○○ へ移行させる処理 CGI, SSI も有効にする。
# ここに書込まないと無効になる。
<Directory "/home/miyasaka/www">
AllowOverride None
Options Includes FollowSymLinks ExecCGI
AddHandler cgi-script .cgi .pl
Require all granted
</Directory> |
|
|
|
338行目あたり コメントアウト DocumentRoot 内で CGI 使用可能している為
# ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"
354~358行目あたり コメントアウト
#<Directory "/usr/local/apache2/cgi-bin">
# AllowOverride None
# Options None
# Require all granted
#</Directory>
402行目あたり # を取り .pl を追加する
# To use CGI scripts outside of ScriptAliased directories:
# (You will also need to add "ExecCGI" to the "Options" directive.)
#
AddHandler cgi-script .cgi .pl
413~414行目あたり # を取り .htmlの追加 ssiの実行ファイルを.html .shtml をOKにする
AddType text/html .shtml .html
AddOutputFilter INCLUDES .shtml .html
</IfModule>
最終行507行目あたりに追加する
Include conf/extra/httpd-zgip.conf <---- 下記圧縮の設定を httpd-zgip.conf として作成する。
#--------------------------------------------------
# セキュリティ対策のため、最終行に追加しておきます。
# サーバ情報(バージョン)の非表示
ServerTokens Prod
# サーバ署名(バージョンとサーバ名)のOFF
ServerSignature Off |
|
|
|
〇 httpd-zgip.conf の作成手順
空のファイル作成
touch /usr/local/apache2/conf/extra/httpd-zgip.conf
vi /usr/local/apache2/conf/extra/httpd-zgip.conf
下記を貼り付け(コピペ)ます。 |
|
|
|
<IfModule mod_deflate.c>
#---------------------------------------------------------------
# 転送データの圧縮設定(画像以外全て圧縮する)
# 実際の圧縮率は、1 も 3 も大差ありません
#---------------------------------------------------------------
# 圧縮レベル 1 に設定
DeflateCompressionLevel 1
#
# 全てを圧縮する設定
SetOutputFilter DEFLATE
#
# gzip圧縮に対応していない古いブラウザを除外
# Netscape 4.x has some problems...
# 送信先ブラウザがNetscape 4.xの場合はtext/htmlのみ圧縮
BrowserMatch ^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08 have some more problems
# 送信先ブラウザがNetscape 4.06-4.08の場合は圧縮しない
BrowserMatch ^Mozilla/4\.0[678] no-gzip
# MSIE masquerades as Netscape, but it is fine
# 送信先ブラウザがMSIEの場合は全て圧縮する
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
#
# 画像以外全て圧縮する
# Don't compress images
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
#
# Make sure proxies don't deliver the wrong content
# プロキシサーバーが圧縮未対応ブラウザへ圧縮ファイルを送信しないようにする
Header append Vary User-Agent env=!dont-vary
# html や css, js, javescript などは個別指定
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/js
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/js
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
#
DeflateFilterNote Input instream
DeflateFilterNote Output outstream
DeflateFilterNote Ratio ratio
# 圧縮率の確認用ログ設定
# 不要になったら、# で無効にしておく事。
# Deflateが有効になっているか確認するログの出力
#
LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%) %{User-agent}i' deflate
CustomLog "logs/deflate_log" deflate
</IfModule> |
|
|
|
|