投稿

7月, 2024の投稿を表示しています

[CRON] /bin/sh: source: not found

CentOSからFreeBSDに乗り換えた後、cronジョブが失敗するので調査しているときの覚書。 環境: FreeBSD 14.1 cronのメール内容 /bin/sh: source: not found 普段は使い慣れたbashをインストールして使っているけど、FreeBSDはshがデフォルトなのでsourceコマンドがない。 再現するためshシェルに切り替える。 # sh sourceコマンドではなく「.」を使うらしい。 参考:  . (dot) - 現行環境でシェル・ファイルを実行する - IBM Documentation 試しに実行してみる。 # . /root/.bash_profile && /usr/local/bin/bash /home/software/wordpress-backup-google-cloud-storage/main.sh 無事実行できた。 .bash_profileを実行するのはgsutilのための環境変数を設定したいから。 cronを設定変更。 # less /etc/cron.d/wordpress-backup MAILTO="info@hoge.co.jp" 0 3 * * * root . /root/.bash_profile && /usr/local/bin/bash /home/software/wordpress-backup-google-cloud-storage/main.sh 【関連記事】 certbotでSSL化してあるサイトを別サーバーに移行(2024年6月) FreeBSDにgsutil(google-cloud-sdk)をインストール FreeBSD 14 + Nginx + PHP + MariaDB + Postfixの環境を構築(2024年版) WordPressを定期バックアップしてGoogle Cloud Storageに保存

certbotでSSL化してあるサイトを別サーバーに移行(2024年6月)

CentOS Stream 8からFreeBSD 14へサイトを移行したときの覚書。 移行元: CentOS Stream 8 移行先: FreeBSD 14.1 SSL証明書はcertbot(Let’s Encrypt)で管理している。 移行元でSSL証明書をアーカイブして移行先に全コピーする。 # cd /etc/letsencrypt/ # tar czvf ssl.tgz archive/ live/ # mv ssl.tgz ~/ ファイルのダウンロード/アップロードはFileZilla(SFTP接続)を使っている。 移行先で展開。 # cd /usr/local/etc/letsencrypt/ # mv ~/ssl.tgz ./ 移行先nginxを設定。 # cd ../nginx/conf.d/ # vim 01_hoge.conf 移行元のconfをそのままコピーする。 ただしsslのパスは「/usr/local」を先頭に付ける。 確認してnginx再読み込み。 # nginx -t # service nginx reload まずはhostsファイルに移行先のIPアドレスを確認する。 問題なければ、DNSを変更する。 (この機会にCNAMEを使って簡素化もする) drillコマンドDNSの反映確認。 # drill hoge.jp 問い合わせフォームの特にメールが送信できるか確認する。 コピーしてきた証明書は上書きしてくれないので、削除してから証明書を取得し直す。 # cd /usr/local/etc/letsencrypt/ # rm -rf archive/hoge.jp/ live/hoge.jp/ # certbot certonly --webroot -w /home/httpd/hoge.jp -d hoge.jp 削除してからでないと下記エラーが出る archive directory exists for hoge.jp この場合はrenewal/も削除して取得し直す。 # rm -rf archive/hoge.jp/ live/hoge.jp/ renewal/hoge.jp.conf # certbot certonly --webroot -w /home/httpd/hoge.jp -d hoge.jp 証明書の場

Postfixが外部に送信しない。CNAMEの設定には気を付けよう。

サーバーをCentOSからFreeBSDに移行しているときにPostfixが外部にメール送信しなくて調査しているときの覚書。 環境: FreeBSD 14.1, Postfix 3.9.0 Postfixのバージョンを確認。 # postconf mail_version mail_version = 3.9 メールログの確認。 # less /var/log/maillog Jun 30 08:20:41 conoha01 postfix/qmgr[893]: 55F0932063: from=<root@hoge.jp>, size=361, nrcpt=1 (queue active) Jun 30 08:20:41 conoha01 postfix/qmgr[893]: 1C31231C3F: from=<root@hoge.jp>, size=367, nrcpt=1 (queue active) Jun 30 08:20:41 conoha01 postfix/smtp[54106]: connect to hoge.jp[2400:8500:2002:3189:163:44:102:135]:25: Connection refused Jun 30 08:20:41 conoha01 postfix/smtp[54106]: connect to hoge.jp[1.2.3.4]:25: Connection refused Jun 30 08:20:41 conoha01 postfix/smtp[54107]: connect to hoge.jp[2400:8500:2002:3189:1:2:3:4]:25: Connection refused Jun 30 08:20:41 conoha01 postfix/smtp[54107]: connect to hoge.jp[1.2.3.4]:25: Connection refused Jun 30 08:20:41 conoha01 postfix/smtp[54106]: 55F0932063: to=<info@hoge.jp>, relay=none, delay=434, delays=434/0.01/0/0, dsn=4.4.1, statu