www.smiyasaka.com は、 2022 年 11月から Oracle LInux 8.X にOSを変更しました。 |
● Oracle Linux 8.X httpd-2.4.37-XX の ● |
- 2,964 1 |
httpd.conf・ssl.conf 以外の設定については、
「 Oracle Linux 8.XX httpd-2.4.62 のインストールと自宅サーバ構築 」を参照してください。 |
目 次 |
||
1. [ httpd-2.4.37-XX + zgip httpd.conf の 編集・設定・起動 ] | ||
2. [ httpd-2.4.37-XX + Brotli + http2 ssl.conf の 編集・設定 ] | ||
3. [ SELinux を有効( enforcing )にした時のホームページへのポリシーの設定 ] | ||
1. httpd-2.4.37-XX + zgip の 編集・設定・起動 |
||
※※※ 注意事項 ※※※ |
<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 #CustomLog logs/ssl_access_logs combined env=!no-logfile #------------------------------------------------------------------ # Apacheのログローテートの 86400 540 の意味 # ローテートする周期を"秒"で指定します。 # 86400 ---> 24時間周期で行う指示 60秒 × 60分 × 24時間 = 86400秒 # 540 ---> Apacheの時間管理は、UTC なので # 日本時間用のオフセット値 60分 × 9 = 540分 # # ログファイルは、/var/log/httpd/ に # smiyasaka_access_log_yyyymmdd( 年月日 )のファイル名で保存されます。 #------------------------------------------------------------------ CustomLog "|/usr/sbin/rotatelogs \ /var/log/httpd/smiyasaka_access_log_%Y%m%d 86400 540" combined env=!no-logfile # </IfModule> |
|
<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 # # 圧縮の確認用ログ設定 # 不要になったら、# で無効にしておく事。 # Deflateが有効になっているか確認するログの出力 # DeflateFilterNote Input instream DeflateFilterNote Output outstream DeflateFilterNote Ratio ratio LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%) %{User-agent}i' deflate CustomLog "logs/deflate_log" deflate </IfModule> |
6. sed コマンドによる一括編集 |
cp /etc/httpd/conf/httpd.conf /home/miyasaka/httpd-2.4.37.conf.bak sed -i -e "1s/^#/# *** CentOS8\.X httpd-2\.4\.37 Edited httpd\.conf ***/ s/User apache/User miyasaka/ s/Group apache/Group miyasaka/ # s/ServerAdmin root@localhost/ServerAdmin sample@hotmail\.co\.jp/ s/#ServerName www\.example\.com:80/ServerName sample:80/ # /# <Directory> blocks below/,/# below/s/<Directory \/>/#<Directory \/>/ /# <Directory> blocks below/,/# below/s/\ AllowOverride/# AllowOverride/ /# <Directory> blocks below/,/# below/s/\ Require/# Require/g /# <Directory> blocks below/,/# below/s/<\/Directory/#<\/Directory>/ # #------------------------------------------------------------------ # DocumentRoot の設定 ( ここは、コメントです。) #------------------------------------------------------------------ s/DocumentRoot \"\/var\/www\/html\"/DocumentRoot \"\/var\/www\/html\/www.smiyasaka.com\"/g # /<Directory \"\/var\/www\">/,/# Further relax access/s/^/#/ #------------------------------------------------------------------ # SSI, CGI の設定 ( ここは、コメントです。) #------------------------------------------------------------------ # s/Options Indexes FollowSymLinks/Options Includes FollowSymLinks ExecCGI\n\ Options -Indexes/ s/AllowOverride None/AllowOverride All/ # /DirectoryIndex index\.html/s/$/ index\.cgi/ # s/<Files \"\.ht\*\">/<Files \*\.html>/ /<Files \*\.html>/,/<\/Files>\/html/s/Require all denied/ForceType text\/html\n\ SetOutputFilter INCLUDES/g # /ErrorLog \"logs\/error_log\"/s/^/#/ /CustomLog \"logs\/access_log\"/s/^/#/ /CustomLog \"logs\/access_log\" combined/a\ #---------------------------------------------------------------------\n\ # 不要なログの記録をさせない設定\n\ #---------------------------------------------------------------------\n\ Include conf\.d\/httpd-log\.conf\n\ #\n\ # #------------------------------------------------------------------ # Alias が不要な場合は、削除して下さい。( ここは、コメントです。) #------------------------------------------------------------------ s/# Alias \/webpath \/full\/filesystem\/path/Alias \"\/home\" \"\/home\/miyasaka\/www\"\n\ # \.cgi \.pl を有効にする。ここに書込まないと無効になる。\n\ <Directory \"\/home\/miyasaka\/www\">\n\ AllowOverride None\n\ Options Includes FollowSymLinks ExecCGI\n\ AddHandler cgi-script \.cgi \.pl\n\ Require all granted\n\ <\/Directory>/ #------------------------------------------------------------------- /ScriptAlias \/cgi-bin/s/^/#/ # # /<Directory \"\/var\/www\/cgi-bin\">/,/<\/Directory>/s/^/#/ # s/#AddHandler cgi-script \.cgi/AddHandler cgi-script \.cgi \.pl/g # /\.shtml/s/$/ \.html/ # # AddDefaultCharset UTF-8 --> Off s/UTF-8/Off/ # # SSL を使用する時 #/IncludeOptional/s/*\.conf/ssl\.conf/ # # SSL を使用しない時 /IncludeOptional/s/^/#/ # $a#---------------------------------------------------------------------\n\ # 圧縮処理( zgip )の設定\n\ #---------------------------------------------------------------------\n\ #\n\ Include conf\.d\/httpd-zgip\.conf\n\ #\n\ #---------------------------------------------------\n\ # セキュリティ対策のため、最終行に追加しておきます。\n\ # サーバ情報\(バージョン\)の非表示\n\ ServerTokens Prod\n\ # サーバ署名\(バージョンとサーバ名\)のOFF\n\ ServerSignature Off" /etc/httpd/conf/httpd.conf |
. ホームページの書き込み先のフォルダを作成・所有者の変更・属性変更をします。 |
||
これは、httpd.conf の設定後、設定したユーザグループに apache を参加させてないために起こる現象です。 |
||
|
2. httpd-2.4.37-XX + Brotli + http2 ssl.conf の 編集・設定 |
||
|
<IfModule brotli_module> #--------------------------------------------------- # Brotli 圧縮設定 #--------------------------------------------------- # ## 圧縮レベル: 0-11 (default: 11) BrotliCompressionQuality 5 # ## BrotliWindowSize: 10-24 (default: 22) BrotliCompressionWindow 18 # AddOutputFilterByType BROTLI_COMPRESS text/html text/plain\ text/css text/xml text/javascript\ application/json application/javascript\ application/x-javascript\ application/xml\ application/xml+rss # SetOutputFilter BROTLI_COMPRESS SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-brotli # BrotliFilterNote Input instream BrotliFilterNote Output outstream BrotliFilterNote Ratio ratio # # 圧縮率の確認用ログ設定 # 不要になったら、# で無効にしておく事。 # BROTLI_COMPRESSが有効になっているか確認するログの出力 # LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%) %{User-agent}i' brotli # CustomLog "logs/Brotil_access_log" brotli #--------------------------------------------------- </IfModule> |
7. SSL 有効時の ssl.conf の編集コマンド |
cp /etc/httpd/conf.d/ssl.conf /home/miyasaka/httpd-2.4.37.ssl.conf.bak sed -i -e "1s/^#/# *** httpd-2\.4\.37 httpd-ssl\.conf HTTP\/2 対応版 ***/ s/#DocumentRoot \"\/var\/www\/html\"/DocumentRoot \ \"\/var\/www\/html\/www\.smiyasaka\.com\"/g s/#ServerName www\.example\.com:443/ServerName ○○○○:443/g # /TransferLog/s/^/#/ #--------------------------------------------------------------------- /SSLEngine on/a\ #---- HTTP/1\.1 HTTP\/2 add ----\n\ <IfModule http2_module>\n\ ProtocolsHonorOrder On\n\ Protocols h2 http\/1\.1\n\ <\/IfModule>\n\ \n\ Header set Strict-Transport-Security \"max-age=315360000;includeSubDomains\" # #--------------------------------------------------------------------- s/#SSLProtocol all -SSLv3/SSLProtocol -all +TLSv1\.2 +TLSv1\.3/ s/#SSLProxyProtocol all -SSLv3/SSLProxyProtocol -all +TLSv1\.2 +TLSv1\.3/ #--------------------------------------------------------------------- /SSLCipherSuite PROFILE=SYSTEM/s/^/#/ # ( \ 4個で \ 1個挿入 ) /SSLCipherSuite PROFILE=SYSTEM/a\#\n\ SSLCipherSuite \"TLS_AES_256_GCM_SHA384 \\\\\n\ TLS_CHACHA20_POLY1305_SHA256 \\\\\n\ ECDHE-RSA-AES128-GCM-SHA256 \\\\\n\ ECDHE-RSA-AES256-GCM-SHA384 \\\\\n\ ECDHE-RSA-AES256-SHA \\\\\n\ ECDHE-RSA-AES256-SHA384 \\\\\n\ DHE-RSA-AES256-GCM-SHA384 \\\\\n\ DHE-RSA-AES256-SHA \\\\\n\ DHE-RSA-AES256-SHA256\"\n\ # /SSLProxyCipherSuite PROFILE=SYSTEM/s/^/#/ # ( \ 4個で \ 1個挿入 ) /SSLProxyCipherSuite PROFILE=SYSTEM/a\#\n\ SSLCipherSuite \"TLS_AES_256_GCM_SHA384 \\\\\n\ TLS_CHACHA20_POLY1305_SHA256 \\\\\n\ ECDHE-RSA-AES128-GCM-SHA256 \\\\\n\ ECDHE-RSA-AES256-GCM-SHA384 \\\\\n\ ECDHE-RSA-AES256-SHA \\\\\n\ ECDHE-RSA-AES256-SHA384 \\\\\n\ DHE-RSA-AES256-GCM-SHA384 \\\\\n\ DHE-RSA-AES256-SHA \\\\\n\ DHE-RSA-AES256-SHA256\"\n\ # #--------------------------------------------------------------------- s/\/etc\/pki\/tls\/certs\/localhost\.crt/\ \"\/etc\/letsencrypt\/live\/www\.smiyasaka\.com\/cert\.pem\"/g s/\/etc\/pki\/tls\/private\/localhost\.key/\ \"\/etc\/letsencrypt\/live\/www\.smiyasaka\.com\/privkey\.pem\"/g s/#SSLCertificateChainFile \/etc\/pki\/tls\/certs\/server-chain\.crt/\ SSLCertificateChainFile \ \"\/etc\/letsencrypt\/live\/www\.smiyasaka\.com\/chain\.pem\"/g #-------------------------------------------------------------------- # SSL 関連の標準的な環境変数を、CGI/SSI で使用できるようになる s/php/php\|html\|system/ #-------------------------------------------------------------------- s/<Directory \"\/var\/www\/cgi-bin\">/<Directory \"\/var\/www\/html\/www\.smiyasaka\.com\">/ #--------------------------------------------------------------------- /CustomLog/s/^/#/ /SSL_PROTOCOL/s/^/#/ # s/<\/VirtualHost>/#\n\ #---------------------------------------------------------------------\n\ # 不要なログの記録をさせない設定\n\ #---------------------------------------------------------------------\n\ Include conf\.d\/httpd-log\.conf\n\ #\n\ #---------------------------------------------------------------------\n\ # 圧縮処理( Brotli )の設定\n\ #---------------------------------------------------------------------\n\ #\n\ Include conf\.d\/httpd-Brotli\.conf\n\ #---------------------------------------------------\n\ # セキュリティ対策のため、最終行に追加しておきます。\n\ # サーバ署名\(バージョンとサーバ名\)のOFF\n\ ServerSignature Off\n\ #\n\ <\/VirtualHost>/" /etc/httpd/conf.d/ssl.conf |
|
3. SELinux を有効( enforcing )にした時のホームページへのポリシーの設定 |
||
1. SELinux 有効化でポリシーの設定 |