www.smiyasaka.com は、 2019 年2月から SSL 化し 通信を暗号化した方式で発信をしています。

sed コマンドによる httpd-2.4.XX の
httpd-ssl.conf (圧縮あり) の一括編集

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

正規表現でエスケープした文字 ", ', ^, $, &, %, !, /, \, ., |, *, (, ) これらを文字 として使う時には、 \ を付加して使用する必要があります。
改行のある文字列は、行末に
\n\( \n : 改行 \ : 継続 )を付加する必要があります。

※ 注意 ※

私のスキルの範囲で、行番号の指定無しで sed コマンドを構築してみました。
同じ文字列が多々あるので、置換範囲を指定して置換しています。
( /○○○/,/△△△/s/…… の様に置換範囲 文字列"○○○"から文字列"△△△"の様に 指定して 置換しています。)
CGI, SSI は、ドキュメントルートで使用できるように設定しています。
ドキュメントは、圧縮する様に設定しています。圧縮レベルは、1にしています。

----------------------------------------------------------------------
sed 〜 /usr/local/apache2/conf/httpd.conf までをコピペします。
ただし、MMMMMM は、ユーザ・グループ名、NNNNNN は、サーバ名、XXXXXX は、メールアド レス、LLLLLL は、アクセスログ名、XXXXXX は、ドキュメントルート、HHHHHH は、別ドキ ュメントルートです。
使用する時には、テキストエディタで「すべて置換」をし、使用ください。

CentOS のバージョンでも変わりますので必ず確認して下さい。
( vi の編集モードで :set number を入力して行番号を表示させ確認します。 )
----------------------------------------------------------------------
必ず、バックアップを取ってから、コマンドを実行してください。

-i オプションは、ファイルを直接書き換える指定です。
※※ 行番号での指定は、先頭行以外無しにしています。※※


========================================

sed -i -e "1s/^#/# ***  httpd-2\.4\.41 httpd-ssl\.conf(圧縮あり) ***/
/SSLCipherSuite/s/\$/\:\!DH/
/SSLProxyCipherSuite/s/\$/\:\!DH/
#---------------------------------------------------------------------
/SSLProtocol/s/-SSLv3/-SSLv2 -SSLv3/
/SSLProxyProtocol/s/-SSLv3/-SSLv2 -SSLv3/
#---------------------------------------------------------------------
s/DocumentRoot \"\/usr\/local\/apache2\/htdocs\"/DocumentRoot\
 \"\/var\/www\/html\/HHHHHH"/g
s/ServerName www\.example\.com:443/ServerName XXXXXX:443/g
s/ServerAdmin you@example\.com/ServerAdmin XXXXXX/g
#---------------------------------------------------------------------
s/ErrorLog \"\/usr\/local\/apache2\/logs\/error_log\"/\n\
ErrorLog \"| \/usr\/local\/apache2\/bin\/rotatelogs\
 \/usr\/local\/apache2\/logs\/HHHHHH_error_log_\%Y\%m\%d\
 86400 540\"/
#---------------------------------------------------------------------
/SSLEngine on/a#\n\
Header set Strict-Transport-Security \"max-age=315360000;\
includeSubDomains\"\n\
Header edit Set-Cookie \^\(\.*\)\$ \$1;HttpOnly;Secure\n\
Header always set X-Frame-Options SAMEORIGIN

#---------------------------------------------------------------------
s/\/usr\/local\/apache2\/conf\/server\.crt/\/etc\/letsencrypt\/\
live\/HHHHHH\/cert\.pem/g
s/\/usr\/local\/apache2\/conf\/server\.key/\/etc\/letsencrypt\/
live\/HHHHHH\/privkey\.pem/g
s/#SSLCertificateChainFile \"\/usr\/local\/apache2\/conf\/\
server\-ca\.crt\"/\
SSLCertificateChainFile \"\/etc\/letsencrypt\/live\/HHHHHH/\
chain\.pem\"/g
#----------------------------------------------------------------
s/cgi|shtml|phtml|php/cgi|pl|shtml|phtml|html|php/g
s/<Directory \"\/usr\/local\/apache2\/cgi\-bin\">/<Directory\
 \"\/var\/www\/html\/HHHHHH\">/g
#----------------------------------------------------------------
/CustomLog/s/^/#/
s/<\/VirtualHost>/#\n\
#=======================================\n\
#   不要なログの記録をさせない設定\n\
#=======================================\n\
#\n\
#      拡張子による制限\n\
SetEnvIf Request_URI \"\.\(gif\)\|\(jpg\)\|\(jpeg\)\|\(\
png\)\|\(bmp\)\|\(i\
co\)\|\(css\)\|\(swf\)\$\" no-logfile\n\
#\n\
#内部からのアクセスをログに記録しない対策\n\
# IPアドレスによる制限 ローカル\n\
SetEnvIf Remote_Addr \"192\.168\.0\.\" no-logfile\n\
\n\
# サーチエンジンのログは取らない。\n\
SetEnvIf User-Agent \"Gigabot\" no-logfile\n\
SetEnvIf User-Agent \"Googlebot\" no-logfile\n\
SetEnvIf User-Agent \"MJ12bot\" no-logfile\n\
SetEnvIf User-Agent \"msnbot\" no-logfile\n\
SetEnvIf User-Agent \"psbot\" no-logfile\n\
SetEnvIf User-Agent \"TurnitinBot\" no-logfile\n\
SetEnvIf User-Agent \"Yahoo! Slurp\" no-logfile\n\
SetEnvIf User-Agent \"Zealbot\" no-logfile\n\
\n\
# ワームによる制限のログは取らない。\n\
SetEnvIf Request_URI \"default\\\.ida\" no-logfile\n\
SetEnvIf Request_URI \"null\\\.ida\" no-logfile\n\
SetEnvIf Request_URI \"NULL\\\.IDA\" no-logfile\n\
SetEnvIf Request_URI \"cmd\\\.exe\" no-logfile\n\
SetEnvIf Request_URI \"root\\\.exe\" no-logfile\n\
SetEnvIf Request_URI \"Admin\\\.dll\" no-logfile\n\
SetEnvIf Request_URI \"\^\/_mem_bin\/\" no-logfile\n\
SetEnvIf Request_URI \"\^\/_vti_bin\\/\" no-logfile\n\
SetEnvIf Request_URI \"\^\/c\/\" no-logfile\n\
SetEnvIf Request_URI \"\^\/d\/\" no-logfile\n\
SetEnvIf Request_URI \"\^\/msadc\/\" no-logfile\n\
SetEnvIf Request_URI \"\^\/scripts\/\" no-logfile\n\
\n\
# CGIディレクトリ\n\
SetEnvIf Request_URI \"\^\/cgi-bin\/\" no-logfile\n\
\n\
# 巡回ロボットがアクセスする robots\.txt\n\
SetEnvIf Request_URI \"robots\\\.txt\" no-logfile\n\
\n\
# 長いURLへの対処\n\
SetEnvIf Request_Method \"\(GET\)\|\(POST\)\|\(\
PUT\)\|\(DELETE\)\|\(HEAD\)\"\
 logfile\n\
SetEnvIf Request_Method \"\(OPTIONS\)\" no-logfile\n\
CustomLog \"\| \/usr\/local\/apache2\/bin\/rotatelogs\
 \/usr\/local\/apache2\/logs\/HHHHHH_access_log_\%Y\%m\%d\
 86400 540\"\
 combined env=\!no-logfile\n\
\n\
#------------------------------------------------------------------\n\
#   ここからは、圧縮設定です。\n\
#------------------------------------------------------------------\n\
# 転送データの圧縮設定(画像以外全て圧縮する)\n\
# 圧縮レベル 1\n\
#\n\
<IfModule deflate_module>\n\
    # 圧縮レベル 1 に設定\n\
     DeflateCompressionLevel 1\n\
  <IfModule mod_filter\.c>\n\
    # Insert filter\n\
    SetOutputFilter DEFLATE\n\
    #\n\
    # gzip圧縮に対応していない古いブラウザを除外\n\
    # Netscape 4\.x has some problems\.\.\.\n\
    BrowserMatch \^Mozilla\/4 gzip-only-text\/html\n\
    # Netscape 4\.06-4\.08 have some more problems\n\
    BrowserMatch \^Mozilla\/4\\\.0\[678\] no-gzip\n\
    # MSIE masquerades as Netscape, but it is fine\n\
    BrowserMatch \\bMSIE \!no-gzip \!gzip-only-text\/html\n\
    #\n\
    # 画像以外全て圧縮する\n\
    # Don't compress images\n\
    SetEnvIfNoCase Request_URI \.\(\?:gif\|jpe\?g|png\)\$\
 no-gzip dont-vary\n\
    #\n\
    # Make sure proxies don't deliver the wrong content\n\
    Header append Vary User-Agent env=\!dont-vary\n\
    # htmlやcssなどは圧縮\n\
     AddOutputFilterByType DEFLATE text\/plain\n\
     AddOutputFilterByType DEFLATE text\/html\n\
     AddOutputFilterByType DEFLATE text\/xml\n\
     AddOutputFilterByType DEFLATE text\/css\n\
     AddOutputFilterByType DEFLATE text\/js\n\
     AddOutputFilterByType DEFLATE text\/javascript\n\
     AddOutputFilterByType DEFLATE application\/xhtml+xml\n\
     AddOutputFilterByType DEFLATE application\/xml\n\
     AddOutputFilterByType DEFLATE application\/rss+xml\n\
     AddOutputFilterByType DEFLATE application\/atom_xml\n\
     AddOutputFilterByType DEFLATE application\/js\n\
     AddOutputFilterByType DEFLATE application\/javascript\n\
     AddOutputFilterByType DEFLATE application\/x-javascript\n\
     AddOutputFilterByType DEFLATE application\/x-httpd-php\n\
  <\/IfModule>\n\
    #\n\
    # 圧縮の確認用ログ設定\n\
    # 不要になったら、# で無効にしておく事。\n\
    # Deflateが有効になっているか確認するログの出力\n\
#    DeflateFilterNote Input instream\n\
#    DeflateFilterNote Output outstream\n\
#    DeflateFilterNote Ratio ratio\n\
#    LogFormat \'\"\%r\" \%{outstream}n\/\%{instream}n\
 (\%{ratio}n\%\%)
#    \%{User-agent}i\' deflate\n\
#    CustomLog logs\/deflate_log deflate\n\
<\/IfModule>\n\
#---------------------------------------------------\n\
# セキュリティ対策のため、最終行に追加しておきます。\n\
# サーバ署名\(バージョンとサーバ名\)のOFF\n\
ServerSignature Off\n\
#\n\
<\/VirtualHost>/" /usr/local/apache2/conf/extra/httpd-ssl.conf


下記は、編集内容確認コマンドです。

cat -n /usr/local/apache2/conf/extra/httpd-ssl.conf
----------------------------------------------------------------------