www.smiyasaka.com は、 2022 年 11月から Oracle LInux 8.X にOSを変更しました。

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/^#/# *** CentOS Stream 9 httpd-2\.4\.51 httpd-ssl\.conf(圧縮あり) ***/
#---------------------------------------------------------------------
/SSLCipherSuite HIGH:MEDIUM:\!MD5:\!RC4:\!3DES/s/^/#/
#---------------------------------------------------------------------
#   ( \ 4個で \ 1個挿入 )
#---------------------------------------------------------------------
/SSLCipherSuite HIGH:MEDIUM:\!MD5:\!RC4:\!3DES/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 HIGH:MEDIUM:\!MD5:\!RC4:\!3DES/s/^/#/
#---------------------------------------------------------------------
#   ( \ 4個で \ 1個挿入 )
#---------------------------------------------------------------------
/SSLProxyCipherSuite HIGH:MEDIUM:\!MD5:\!RC4:\!3DES/a\#\n\
SSLProxyCipherSuite \"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\
#---------------------------------------------------------------------
/SSLProtocol/s/all -SSLv3/-all +TLSv1\.2 +TLSv1\.3/
/SSLProxyProtocol/s/all -SSLv3/-all +TLSv1\.2 +TLSv1\.3/
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
/<Directory \"\/usr\/local\/apache2\/cgi\-bin\">/,/<\/Directory>/s/^/#/
#---------------------------------------------------------------------
/CustomLog/s/^/#/
s/<\/VirtualHost>/#\n\
#--------------------------------------------------------------------------\n\
#   不要なログの記録をさせない設定 \n\
#--------------------------------------------------------------------------\n\
#\n\
Include conf\/extra\/httpd-log\.conf\n\
\n\
#------------------------------------------------------------------\n\
#   ここは、mod_deflate での圧縮設定です。 \n\
#------------------------------------------------------------------\n\
#\n\
Include conf\/extra\/httpd-zgip\.conf\n\
#\n\
#---------------------------------------------------\n\
# セキュリティ対策のため、最終行に追加しておきます。\n\
# サーバ署名\(バージョンとサーバ名\)のOFF \n\
#---------------------------------------------------\n\
ServerSignature Off\n\
#\n\
<\/VirtualHost>/" /usr/local/apache2/conf/extra/httpd-ssl.conf


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

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


^