【tech】apache mod_SSL AH02572 エラー対処のメモ



公開:2020/10/14
更新:2020/10/14

自宅検証環境を再構築中にapacheをSSL化しようとしていたら、とてつもなくハマってしまったのでメモです。

環境


Apache:ver2.4.6
mod_ssl:ver2.4.37

エラーログ


[Tue Oct 13 11:11:37.617800 2020] [ssl:warn] [pid 2602:tid 140529039034688] AH10085: Init: 172.18.38.46:443 will respond with '503 Service Unavailable' for now. There are no SSL certificates configured and no other module contributed any.
[Tue Oct 13 11:11:37.618344 2020] [ssl:emerg] [pid 2602:tid 140529039034688] AH02572: Failed to configure at least one certificate and key for 172.18.38.46:443
[Tue Oct 13 11:11:37.618367 2020] [ssl:emerg] [pid 2602:tid 140529039034688] SSL Library Error: error:0909006C:PEM routines:get_name:no start line (Expecting: DH PARAMETERS) -- Bad file contents or format - or even just a forgotten SSLCertificateKeyFile?
[Tue Oct 13 11:11:37.618377 2020] [ssl:emerg] [pid 2602:tid 140529039034688] SSL Library Error: error:0909006C:PEM routines:get_name:no start line (Expecting: EC PARAMETERS) -- Bad file contents or format - or even just a forgotten SSLCertificateKeyFile?
[Tue Oct 13 11:11:37.618390 2020] [ssl:emerg] [pid 2602:tid 140529039034688] SSL Library Error: error:140A80B1:SSL routines:SSL_CTX_check_private_key:no certificate assigned

原因




・証明書のファイルパスが定義されていなかった
・SSLEngin onディレクティブと、証明書のパスディレクティブは同じファイルで定義する必要があった。

詳細に書きます。
エラー発生時、私の「/etc/https/conf.d/ssl.conf」ファイルの設定は下記のようになっていました。

SSLEngine on
#SSLCertificateFile /etc/pki/tls/certs/localhost.crt
#SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

そして、個別の設定ファイル「/etc/httpd/conf.d/vhost.conf」でvirtualhost:443を作成していました。
virtualhostの設定で、証明書のパスを指定していたのです。

<VirtualHost 172.18.38.46:443>
    ServerName kusomemo.tokyo
    DocumentRoot "/var/www/sample"

        SSLEngine on
    SSLCertificateKeyFile "/etc/sample/server.key"
    SSLCertificateFile "/etc/sample/server.crt"

</VirtualHost>

この場合、恐らくssl.conf側で証明書のパスが指定されていないと判定されてしまうようです。
ssl.conf側の「SSLEngine on」をコメントアウトすることで解決できました。

#SSLEngine on
#SSLCertificateFile /etc/pki/tls/certs/localhost.crt
#SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

久しぶりにみてみると、モバイルバッテリーもずいぶん安くなってるんですね!

皆さん既にやってると思いますが、 AmazonPrimeだとAmazon Music Unlimitedが月額780円でできるんですね!
最近知ってapple musicから乗り換えました。(200円ですが安い方がいいに越したことはないです笑)

下のPythonの本は kindle unlimitedで無料で読めますのでお勧めです!(30日無料期間に読んで解約もアリだと思います。笑)



【tech】WORDPRESS ファイルストリーミングの送り先となるディレクトリが存在しないか、書き込み不可になっています。の対処メモ



公開:2020/10/03
更新:2020/10/03

このblogはWORDPRESSで動かしているのですが、以前はGCPのbitnami WORDPRESSを使っていました。
先日、サーバの事をもっと詳しくなりたかったのでIaaSでWORDPRESSの運用に切り替え、スクラッチから設定を書き換えたりしています。

サーバ移転に伴い、以前運用していた設定がそのままになっていたせいで、いろいろと不都合も起こり始めました。
今回のエラーはアップデートしようとしたときに出たエラーです。

エラーメッセージ


ダウンロードに失敗しました。: ファイルストリーミングの送り先となるディレクトリが存在しないか、書き込み不可になっています。

色々調べるとアップデートする最新版のファイルの保存先が見つからないので、エラーになっている。
なので、webサーバ(apacheなど)が書き込めるディレクトリを作成してあげれば解決するようでした。

解決策


apacheが書き込めるディレクトリをWPのホームディレクトリ配下に作成
wp-config.phpにディレクトリ定義

手順

・ディレクトリ移動
cd /var/www/html/wordpress

・ディレクトリ作成
mkdir tmp

・権限変更
chown apache. tmp
chmod 755 tmp

・ディレクトリの定義
vi wp-config.php ※最下部に追記

define('WP_TEMP_DIR', '/var/www/wordpress/tmp');

以上です!

久しぶりにみてみると、モバイルバッテリーもずいぶん安くなってるんですね!

皆さん既にやってると思いますが、 AmazonPrimeだとAmazon Music Unlimitedが月額780円でできるんですね!
最近知ってapple musicから乗り換えました。(200円ですが安い方がいいに越したことはないです笑)

下のPythonの本は kindle unlimitedで無料で読めますのでお勧めです!(30日無料期間に読んで解約もアリだと思います。笑)



【tech】Nginxで起動エラーnginx: [emerg] getpwnam("nginx") failed



ソースからNginxをインストールしていて、躓いたでメモしておきます!

・エラー
nginx: [emerg] getpwnam("nginx") failed


[root@localhost]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: [emerg] getpwnam("nginx") failed
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed
[root@localhost]#


・原因
nginxユーザが居ないせい?

・対処法
vi /usr/local/nginx/conf/nginx.conf
でconfファイルを開き


#user nobody;


のコメントアウトを外して再度confテストすると解決していました。
[root@localhost]# /usr/local/nginx/sbin/nginx -t



[root@localhost]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost]#


試してないのでわかりませんが、nginxユーザを追加してもエラーが出なくなると思います。

nginx: [emerg] getpwnam("nginx") failed


久しぶりにみてみると、モバイルバッテリーもメモリもSSDもずいぶん安くなってるんですね!

皆さん既にやってると思いますが、 AmazonPrimeだとAmazon Music Unlimitedが月額780円でできるんですね!
最近知ってapple musicから乗り換えました。(200円ですが安い方がいいに越したことはないです笑)

下のRedmineの本は kindle unlimitedで無料で読めますのでお勧めです!(30日無料期間に読んで解約もアリだと思います。笑)