CentOSのバージョンが6、、、って。。。
流石にもうそろそろバージョン上げないと、色々対応できないし、危ない。
ということで、CentOS8の環境を作るお話。
(さらに…)証明書の期限が90日なため、更新を頻繁に行う必要がある。
なので、
$ sudo crontab -e
34 2 * * 1 /opt/certbot/certbot-auto renew >> /var/log/certbot-renew.log && service httpd reload
これで毎週月曜の2:34に更新処理が走る。
有効期限が30日未満の時に更新される仕組みになっているらしい。
$ sudo chmod -R 666 /var/log/certbot-renew.log
これで、ログの編集も可能
さて、60日後無事更新されるのか?
今日は完全にメモ
Let’s encryptが本格稼働しているとの噂を随分と前に聞いている。
多分サーバーにはその必要条件のPython2.7をインストールしたはず。
$ python -VPython 2.7.9
$ sudo git clone https://github.com/certbot/certbot /opt/cerbot
$ sudo ./certbot-auto certonly –agree-tos –rsa-key-size 4096 –renew-by-default -m dnsadmin@mydomain.com –webroot -w /var/www/html/ -d mail.mydomain.com –renew-by-default
で、証明書作成。
certonlyを入れないと、runモードになって、apacheの設定を変えに行くらしい。
-mのメールアドレスは連絡用。
-wのルートディレクトリは、今回メールの証明書だから意味なし。
更新は90日ごと必要。
Postfixの設定を変更
$ sudo vi /etc/postfix/main.cf
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.mydomain.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.mydomain.com/privkey.pem
Dovecotの設定も変更
$ sudo nano /etc/dovecot/conf.d/10-ssl.conf
ssl_cert =
mail.mydomain.com/fullchain.pem
ssl_key = mail.mydomain.com/privkey.pemそして、サービスを再起動
$ sudo service postfix restart
$ sudo service docevot restart
Yes!
去年から止まっていたGmailからのメール取得が復活したぜ!
で、自動更新は、、、また今度
Webサーバに誰が来たか?
それを簡単に調べるために、昔ながらのwebalizerを入れておく。
$ sudo yum -y install webalizer
ん?それから 何かしたっけ?
webminで設定した?
忘れた。
でも、ちょっと出来る人は、Google アナリティクスで解析しましょう。
★DTIサーバー構築一覧はこちら★
だが!
バックアップ元のシステムの文字コードがlatin1、データベースがUTF-8となっていて、
$ mysql -u myswluser -p
mysql> show variables like ‘collation%’;
+———————-+——————-+
| Variable_name | Value |
+———————-+——————-+
| collation_connection | latin1_swedish_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+———————-+——————-+
3 rows in set (0.00 sec)
mysql> SHOW VARIABLES LIKE ‘char%’;
+————————–+—————————-+
| Variable_name | Value |
+————————–+—————————-+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+————————–+—————————-+
8 rows in set (0.00 sec)
mysql> show variables like ‘collation%’;
+———————-+—————–+
| Variable_name | Value |
+———————-+—————–+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+———————-+—————–+
3 rows in set (0.00 sec)
mysql> SHOW VARIABLES LIKE ‘char%’;+————————–+—————————-+| Variable_name | Value |+————————–+—————————-+| character_set_client | utf8 || character_set_connection | utf8 || character_set_database | utf8 || character_set_filesystem | binary || character_set_results | utf8 || character_set_server | utf8 || character_set_system | utf8 || character_sets_dir | /usr/share/mysql/charsets/ |+————————–+—————————-+8 rows in set (0.00 sec)
$ sudo mysqldump -u username -p –default-character-set=latin1 dbname > dump.sql
ファイル中のlatin1の部分をutf8に置換。
$ sed -i -e ‘s/SET NAMES latin1/SET NAMES utf8/g’ dump.sql
$ mysql -u mysqluser -p dbname < dump.sql