wordpressでWP_SITEURL,WP_HOMEでプロトコル指定を省略できないか?
ケーブルテレビのSTBのブラウザで、自宅サーバに接続させようとすると接続が拒否られる。letsencryptのroot証明を受け付けてくれないのが原因。一部の動作確認ページをブラウザから接続させたいと思うけど、自宅サーバはWordPressなのでhttpsで WP_HOME, WP_SITEURL がしてあるために、強制的に https になってしまう。
試しに、wp-config.php で “https://hostname” でなく、”//hostname” とか “/” を指定してみた。
“/” だと、ページが上手く表示されない。(cssなどがうまく読み込めていない様子)
“//hostname” だと、ページは表示できるけど、wp-login.php でのログインが上手くいかない。(多要素認証のプラグインが影響しているのかもしれない)
TZ-HT3500 で radiko が使えない
丹南ケーブル(こしの都ネットワーク)の STB で TZ-HT3500 録る蔵くん を使ってるけど、FMラジオのネット版 radiko が使えない状態になっている。(私は使ってないけど…)
https://t-catv.co.jp/inq/tech/ にて:
「STB で TZ-HT3500 録る蔵くん を使っていますが、radiko に接続できない状態となっています。STB で radiko 対応のサポート終了など発生していますでしょうか?」の質問を投げておいた
以前も 一時的に Prime Video が使えないというトラブルがあったけど、サーバ側の対応や設備対応で復旧したけど。ひとまず連絡だけ入れておくか。
(追記)
早々に丹南ケーブルさんから電話連絡がありました。特に全体的にトラブルは発生していないとのことで、ネットワークの設定を見直してくれとの返事だった。うーむ、ネットワークの設定といっても、普通に Netflix とかは使えてるしなぁ….。
でも改めて考えると、うちの家だけのトラブルというのであれば….
あ、もしかして Proxy サーバのせい?
自宅サーバで Web Proxy を動かしていて、そこに接続させていたけど、その設定を外したら、無事につながった。丹南ケーブルさんごめんなさい。
Proxyを試した理由
自宅Webサーバ(https)に、STB のブラウザ機能でつなごうとすると、letsencrypt の root 証明を受け付けていないので、ページが見れないのよね。あとで、httpsを強制httpに変換させようかとproxy設定したのが敗因だった。(WPでhttpsにリダイレクトされるし…)
saslauthd のトラブル
saslauthdが起動しない
メールの送信機能が動いていない。色々と調べたら、”systemctl start saslauthd” を実行しても起動しない。
正確に言うなら、systemctl が終わらない。1,2分ほど待つとタイムアウトが発生して強制終了となっている。
# systemctl start saslauthd # --- 1,2分で強制終了となる # journalctl -xeu saslauthd # journalctl で確認できるとのメッセージがあるので The job identifier is 21448. 3月 15 08:51:27 xxxx saslauthd[33874]: : master pid is: 33874 3月 15 08:51:27 xxxx saslauthd[33874]: : listening on socket: /var/spool/postfix/var/run/saslauthd/mux 3月 15 08:51:27 xxxx systemd[1]: saslauthd.service: Can't open PID file /run/saslauthd/saslauthd.pid (yet?) after start: No such file or directory 3月 15 08:52:57 xxxx systemd[1]: saslauthd.service: start operation timed out. Terminating. 3月 15 08:52:57 xxxx saslauthd[33874]: : master exited: 33874 3月 15 08:52:57 xxxx systemd[1]: saslauthd.service: Failed with result 'timeout'. ░░ Subject: Unit failed
postfix の smtp認証の設定の影響
色々調べると、こちらの記事を見つける。
postfix の中で、smtpd の起動はデフォルト(非chroot)では、/var/run/saslauthd の中にパイプなどを作る。しかし、postfix で SMTP認証を使えるように設定するための設定では、smtpd を chroot で起動するために、/etc/default/saslauthd の中の設定で、/var/spool/postfix/var/run/saslauthd を使うように指定しないといけない。
((( /etc/default/saslauthd ))) # See /usr/share/doc/sasl2-bin/README.Debian for Debian-specific information. # See the saslauthd man page and the output of 'saslauthd -h' for general # information about these options. # # Example for chroot Postfix users: "-c -m /var/spool/postfix/var/run/saslauthd" # Example for non-chroot Postfix users: "-c -m /var/run/saslauthd" # # To know if your Postfix is running chroot, check /etc/postfix/master.cf. # If it has the line "smtp inet n - y - - smtpd" or "smtp inet n - - - - smtpd" # then your Postfix is running in a chroot. # If it has the line "smtp inet n - n - - smtpd" then your Postfix is NOT # running in a chroot. OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"
しかし、何らかの更新の中で 非chroot の /var/run/saslauthd を参照する設定となり、この中にパイプなどを作っても反応がないために、起動に失敗している様子。
ということで、元記事に書いてあるように、/var/spool/postfix/var/run/saslauthd を使わせるために、シンボリックリンクを設置する。saslauthd パッケージの更新で chroot 起動の判定が不十分なのではないかな。
# rm -rf /var/run/saslauthd # ln -sf /var/spool/postfix/var/run/saslauthd /var/run/saslauthd # systemctl start saslauthd
(追記) 次は Permission denied
無事に saslauthd は起動するようになったけど、次はパスワード認証が受け付けない。LOG を確認すると下記のエラーがでるようになった。
2024-03-15T11:59:10.543324+09:00 xxxxx postfix/smtpd[46317]: warning: xxxxxx[xxx.xxx.xx.xx]: SASL PLAIN authentication failed: generic failure, sasl_username=xxxx@xxxx.xxx 2024-03-15T11:59:10.560548+09:00 xxxxx postfix/smtpd[46317]: warning: SASL authentication failure: cannot connect to saslauthd server: Permission denied
これまた、調べてみたけど /var/spool/postfix/var/run/saslauthd 配下のファイルのパーミッションが原因っぽい。
配下のファイルに、下記の制限を設定して無事にメールが出せるようになった。
# chmod -R +x /var/spool/postfix/var/run/saslauthd/