httpd-2.4.41 httpd.conf の編集項目

----------------------------------------------------------------------------
ErrorLog・CustomLog 書込みフォーマットは、あなたの仕様に合わせてください。
/var/www/html/www.smiyasaka.com は、私の場合の DocumentRoot です。
----------------------------------------------------------------------------
編集コマンド  指定行へのジャンプは、:[行番号]
              最終行へのジャンプは、[Shift]g
              先頭行へのジャンプは、1[Shift]g

vi /usr/local/apache2/conf/httpd.conf

行番号の追加コマンド ---> :set number

行番号は httpd のバージョンによって多少の誤差がありますので注意してください。

アクセスログの収集設定と圧縮処理は、別モジュールにしてsedコマンドを簡素化して
います。
---------------------------------------------------------------------------------

100行目あたり SSI を利用するための

LoadModule include_module modules/mod_include.so のコメントを外す

104行目あたり # が無いか確認する(圧縮モジュールの組込み)

LoadModule deflate_module modules/mod_deflate.so のコメントを外す

143行目あたり  ここ忘れると SSI 動かない

 LoadModule cgid_module modules/mod_cgid.so のコメントを外す

163行目あたり   ○○○○は、ユーザー名
          ここのユーザー名と DocumentRoot 内のファイルの所有者を合わせてください。
User daemon
Group daemon
    ↓   ↓
User ○○○○ 
Group ○○○○

185行目あたり   ○○○○@○○○○は、貴方または、管理者のメールアドレス

#ServerAdmin you@example.com
ServerAdmin ○○○○@○○○○

194行目あたり   ○○○○は、サーバ構築時のホスト名

#ServerName www.example.com:80
ServerName ○○○○:80

201〜204行目あたり コメントアウト

#<<Directory />
#    AllowOverride none
#    Require all denied
#</Directory>

218行目あたり

  あなたの環境でのドキュメントルートを設定する。
  下記は、私のサーバ機でのドキュメントルートです。

#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 を必ず作成してください。


232行目あたり IndexesをIncludesに書換える。
    -Indexesディレクトリを直接リクエストされインデックスが存在しない時に
    ファイルの一覧を作成させない。

    Includes : SSI の利用を許可する。
    ExecCGI :  CGI の利用を許可する。
    -Indexes : インデックス表示を無効にする。
    ( MultiViews : 多言語対応のホームページでない時には不要です。)

Options Indexes FollowSymLinks
    ↓   ↓   ↓
Options Includes FollowSymLinks ExecCGI
Options -Indexes

239行目あたり  .htaccessの有効化
                私の場合、ホームページアクセス時のエラー表示で使用しています。

#AllowOverride None
    ↓   ↓   ↓
AllowOverride All

251行目あたり インデックスファイルを設定 index.cgi を追加する。

<IfModule dir_module>
   DirectoryIndex index.html index.cgi
</IfModule>

259行目あたり

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>

270(270)行目あたり

#ErrorLog logs/error_log
    ↓   ↓   ↓
ErrorLog "| /usr/local/apache2/bin/rotatelogs\
 /usr/local/apache2/logs/www.smiyasaka.com_elog_%Y%m%d 86400 540"

299行目あたり コメントアウトして追加する

#    CustomLog logs/access_log common

#******************************************************************************
#	不要なログの記録をさせない設定
#******************************************************************************
# 
Include conf/extra/httpd-log.conf/
#
------------------------------------------------------------
ここは、別ドキュメントルートが必要な場合に記述してください。

320行目行目あたり
 # 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>

------------------------------------------------------------

335行目あたり   コメントアウト DocumentRoot 内で CGI 使用可能している為

#    ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"

350〜354(413〜417)行目あたり   コメントアウト

#<Directory "/usr/local/apache2/cgi-bin">
#    AllowOverride None
#    Options None
#    Require all granted
#</Directory>

399行目あたり   # を取り .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

410〜411行目あたり   # を取り .htmlの追加  ssiの実行ファイルを.html .shtml
                        をOKにする

   AddType text/html .shtml .html
   AddOutputFilter INCLUDES .shtml .html
</IfModule>


最終行504行目あたりに追加する

# 転送データの圧縮設定(画像以外全て圧縮する)
#
Include conf/extra/httpd-zgip.conf/
#
#--------------------------------------------------
# セキュリティ対策のため、最終行に追加しておきます。
# サーバ情報(バージョン)の非表示
ServerTokens Prod
# サーバ署名(バージョンとサーバ名)のOFF
ServerSignature Off

---------------------------------------------------------------------------

〇 httpd-log.conf の作成手順

1. 空のファイル作成

touch /usr/local/apache2/conf/extra/httpd-log.conf

2. ログ設定条件の作成

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への対処
#
SetEnvIf Request_Method "(GET)|(POST)|(PUT)|(DELETE)|(HEAD)" logfile
SetEnvIf Request_Method "(OPTIONS)" no-logfile
#
# ログファイルは、www.smiyasaka.com_alog_( 年月日 )のファイル名で保存されます
#
CustomLog "| /usr/local/apache2/bin/rotatelogs \
/usr/local/apache2/logs/www.smiyasaka.com_alog_%Y%m%d 86400 540"\
 combined env=!no-logfile
</IfModule>

---------------------------------------------------------------------------

〇 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>

---------------------------------------------------------------------------