【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】Zabbix-agent2でNginxを監視設定するメモ



投稿:2020/01/19
更新:2020/08/21

Zabbix4.4を自宅環境に入れて監視設定している最中です。ひとまず、Zabbix-server自身にzabbix-agent2をインストールしてNginxとMySQLを監視対象として追加していっています。

ZabiixとGrafanaやPrometheusも連携できると聞いたことがあるので、挑戦してみたいと思っています!

この手順は下記のCentOS8にZabbix4.4をインストールした後のZabbix-serverで実行しています。

【tech】【Movie】KVM上のCentOS8 にNginxをインストールしてZabbix4.4を動かすメモ

私が使っているPC(のメモリが8GBの物)です!
私は今このPCのメモリを現在では32GBにアップグレードして使っています!笑
安くなりましたよねメモリ。SSDも安くなってるので買い換えたいです!笑

環境

・Zabbix-Server
 CentOS 8.0 (minimal) on KVM
  (IP:192.168.100.151)
 WEB:Nginx Ver1.16
 DB:MySQL Ver8.0.17
 MySQLDB rootユーザPW:Root123!
 zabbix用DB名:zabbixDB
 zabbixDB ユーザ:zabbixuser
 zabbixuser PW:Zabbix123!
・Zabbix-agent2
 監視用MySQLユーザ:zbx_monitor
 監視用MySQLユーザPW:Zbxmoni123!


手順




・Zabbix-agentのリポジトリ追加
rpm -Uvh https://repo.zabbix.com/zabbix/5.1/rhel/8/x86_64/zabbix-release-5.1-1.el8.noarch.rpm

・zabbix-agent2のインストール
dnf install -y zabbix-agent2 wget

・モジュールの確認
nginx -V 2>&1 | grep -o with-http_stub_status_module

・ディレクトリ移動
cd /etc/nginx/conf.d/

・zabbix用のconfファイル編集
vi zabbix.conf

        location = /basic_status {
            stub_status on;
            access_log off;
            allow 127.0.0.1;
            allow 192.168.100.151;
            deny all;
        }



・nginxのステータス確認
systemctl status nginx

・nginxの再起動
systemctl restart nginx

・nginxのステータス確認
systemctl status nginx

・モジュールへの接続確認
curl 127.0.0.1/basic_status

ブラウザ側でマクロをlocalhost→127.0.0.1に変更



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



【tech】Zabbix-agent2でMySQL8.0を監視する手順メモ



投稿:2020/1/18
更新:2020/1/18

Zabbix4.4を自宅環境に入れて監視設定している最中です。ひとまず、Zabbix-server自身にzabbix-agent2をインストールしてNginxとMySQLを監視対象として追加していっています。

ZabiixとGrafanaやPrometheusも連携できると聞いたことがあるので、挑戦してみたいと思っています!

この手順は下記のCentOS8にZabbix4.4をインストールした後のZabbix-serverで実行しています。

【tech】【Movie】KVM上のCentOS8 にNginxをインストールしてZabbix4.4を動かすメモ

私が使っているPC(のメモリが8GBの物)です!
私は今このPCのメモリを現在では32GBにアップグレードして使っています!笑
安くなりましたよねメモリ。SSDも安くなってるので買い換えたいです!笑

環境

・Zabbix-Server
 CentOS 8.0 (minimal) on KVM
  (IP:192.168.100.151)
 WEB:Nginx Ver1.16
 DB:MySQL Ver8.0.17
 MySQLDB rootユーザPW:Root123!
 zabbix用DB名:zabbixDB
 zabbixDB ユーザ:zabbixuser
 zabbixuser PW:Zabbix123!
・Zabbix-agent2
 監視用MySQLユーザ:zbx_monitor
 監視用MySQLユーザPW:Zbxmoni123!


手順




・zabbix-agent2のインストール
dnf install -y zabbix-agent2 wget

・テンプレートのDL
wget https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/mysql/template_db_mysql.conf -P /etc/zabbix/zabbix_agent2.d

・ディレクトリ移動
cd /etc/zabbix/zabbix_agent2.d/

・テンプレートをリネーム
mv template_db_mysql.conf userparameter_mysql.conf


・MySQLへログイン
mysql -uroot -p
→Root123!

・ログイン中のユーザを確認する
select user();

・ユーザ一覧を表示
SELECT Host, User FROM mysql.user ;

・監視用ユーザの作成
CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY 'Zbxmoni123!';

・ユーザの削除したい時
drop user zbx_monitor2@'%';

・パスワードを変更したい場合
SET PASSWORD FOR zbx_monitor = 'Zbxmoni123_hennkougo';

・権限の付与
GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';


・権限の確認
SHOW GRANTS FOR 'zbx_monitor'@'%';

・データベースの一覧を確認
show databases;

・データベースを選択
use zabbixDB

・テーブル一覧
show tables;

・設定の保存
FLUSH PRIVILEGES;

・mysqlからログアウト
quit;


・ディレクトリの作成
mkdir /var/lib/zabbix

・ディレクトリの移動
cd /var/lib/zabbix

・cnfファイルの作成(※要隠しファイル「.mycnf」です)
vi .my.conf


[client]
user=zbx_monitor
password=Zbxmoni123!


・ファイル作成後の確認
ls -al

・権限の変更
chmod 600 .my.cnf

・所有者の変更
chown zabbix:zabbix .my.cnf


・zabbix-agentのステータス確認
systemctl status zabbix-agent2

・zabbix-agentの再起動
systemctl restart zabbix-agent2



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