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