Error message

Deprecated function: hash(): Passing null to parameter #2 ($data) of type string is deprecated in check_markup() (line 780 of /var/www/cms/drupal7/modules/filter/filter.module).

Drupal 導入記(https への移行)

サーバー証明書の取得

サーバ証明書の取得のため、まず、server.key(秘密鍵)と server.csr(証明書発行リクエスト)の対を生成する。
 
$ cd /etc/pki/tls/certs                             # 証明書格納ディレクトリーに移動
$ sudo make server.key                              # 秘密鍵生成
$ sudo openssl rsa -in server.key -out www-jlc.key  # pass phrase を削除
$ sudo make www-jlc.csr                             # 証明書発行リクエスト生成
 
などとする。次に例えば、証明書発行所のページ:https://cspssl.jp に行き、www-jlc.csr を使って証明書を注文する。
すると、発行所から、サーバー確認のためのチケットが送られてくるので、それをサーバー上の指定の場所に置く。
 
$ cd ~/web/cert/20190618/dot.well-known/pki-validation
$ ls
571FE4C4DB229F483B453469E784397A.txt
$ sudo mkdir -p /hosts/www-jlc/home/htdocs/.well-known/pki-validation
$ sudo cp -p 571FE4C4DB229F483B453469E784397A.txt /hosts/www-jlc/home/htdocs/.well-known/pki-validation/
$ sudo chown -R rsyncer:rsyncer /hosts/www-jlc/home/htdocs/.well-known

置かれたチケットを発行所から見ることができれば、サーバー確認成功となり、証明書、中間証明書が発行される。指定のウエッブページから、証明書と中間証明書をダウンロードし、所定の場所に置く。
 
$ mkdir -p ~/web/cert/20190618/cspssl
$ cd ~/web/cert/20190618/cspssl/
$ mv ~/server.crt.txt intermediate.crt.txt .
$ mv server.crt.txt www-jlc.crt
$ mv intermediate.crt.txt www-jlc.ca-bundle
$ sudo chown root:root www-jlc*
$ sudo chmod 400 www-jlc*

$ sudo cp -p www-jlc* /etc/pki/tls/certs/
$ cd /etc/pki/tls/certs
$ sudo chomod 400 www-jlc.key
$ sudo mv www-jlc.key ../private/

 
次に、appache の SSL 関連設定ファイルを編集する。
 
$ cd /etc/httpd/conf.d/
$ sudo vi ssl.conf
...
SSLCertificateFile /etc/pki/tls/certs/www-jlc.crt
...
SSLCertificateKeyFile /etc/pki/tls/private/www-jlc.key
...
SSLCertificateChainFile /etc/pki/tls/certs/www-jlc.ca-bundle
...
$ sudo vi www-jlc.conf
...

# 2019/06/18 K.Fujii ###########
...
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_ROOT} !^443$
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
</IfModule>
...
<VirtualHost XXX.XX.XXX.XX:443>
   ...
# SSL
SSLEngine on

SSLCertificateFile /etc/pki/tls/certs/www-jlc.crt

SSLCertificateKeyFile /etc/pki/tls/private/www-jlc.key

SSLCertificateChainFile /etc/pki/tls/certs/www-jlc.ca-bundle

</VirtualHost>
################################
 
編集が終了したら、apache を再起動する。
 
$ sudo apachectl configtest
$ sudo apachectl restart
 
サーバー上で、https 接続のテスト。

$ openssl s_client -tls1_2 -connect www-jlc.kek.jp:443 -servername www-jlc.kek.jp
 
別のマシン、例えば MacBook Pro から接続確認を行う。
 
$ curl -s -v --tlsv1.2 https://www-jlc.kek.jp/
 
失敗したので、Firewall 管理者に 443 ポートを開けてもらう。無事、開通。

Subgroup: