WordPressブログを Cleanweb, Onion Service 両対応にする
2024/11/16なんとなく Privacy Guides を読んでいたら、このブログを Onion Service にしたくなったのでやりました。
環境
- OS: Ubuntu Server 22.04
- CPU Architecture: x86_64
- Web Server: nginx
手順
Tor をインストールする
Tor で Onion Service を運用するには Tor が必要です。
コミュニティページに従ってインストールしてください。
Onion Service を有効にする
同様にコミュニティページに従って Onion Service を有効にします。
nginx にホストを指定して配信する
Clearweb 用のコンフィグを複製します。
server_name
ディレクティブを Onion Service を有効にした際に生成された hostname ファイルを参考に設定します。
nginx を再起動すると、この時点で .onion ドメインにアクセスすると、リンクが Clearweb のものになっていると思います。
次の手順でそれを直していきます。
wp-config.php を編集する
本来は nginx で出来れば良かったのですが、Ubuntu の nginx ではセキュリティ上の理由から Lua のサポートが切られたようなので、PHP を用いて実装します。
$_SERVER['SERVER_NAME']
で nginx の server_name
を参照できるので、それを用いて SITE_URL
を置換してやります。
以下が私の実装です。
$onion_host = '.onionドメイン';
if ($_SERVER['SERVER_NAME'] == $onion_host) {
define('WP_SITEURL',"http://$onion_host");
define('WP_HOME', "http://$onion_host");
}
Publish on 2024/02/11