KusanagiのWordPressでIPv6に対応する方法
概要
Kusanagiで構築したWordPressのサイトについて、IPv6に対応させました。ここでは対応させる方法について説明します。
環境
- KUSANAGI Version 9.2.15-1.el8
IPv6への対応について
サーバーにアクセスするには、IPアドレスが必須です。IPアドレスによって、どこのサーバーにアクセスするのか判断します。
このIPアドレスは主にIPv4とIPv6の2種類があります。IPv4は昔から使われているものですが、使われているIPアドレスの数が、現在のインターネットにアクセスするデバイスに対して不足しているという問題を抱えています。
そこで、IPv6の出番です。IPv6では、IPv4よりもたくさんのIPアドレスが存在するため、IPv4よりもたくさんのデバイスでインターネットにアクセスすることができます。
しかし、IPv4とIPv6は完全な互換性を持っているわけではありません。デバイスやサーバーでIPv6に対応する必要があります。
すぐにIPv6に対応する必要はありませんが、今後のことを考えるとIPv6に対応したいところです。
KusanagiのIPv6対応
ここでは、私がKusanagiを利用してWordressをホスティングしているサーバーで、IPv6に対応する方法を紹介します。ちなみに、Kusanagiは、WordPressを高速に動作させることができる環境を提供するサービスです。OSのレベルからチューニングがされた環境を用意しているため、かなり高速ですのでおすすめです。もし利用していないのであれば、サーバーを自分で管理する必要はありますが、ある程度のサーバー管理の知識があればおすすめです。
注意しておくことですが、IPv6への対応について、サーバーがIPv6のIPアドレスを持っている必要があります。例えばVPSを利用してサーバーを構築している場合は、そのVPSにIPv6のIPアドレスが割り振られている必要があります。もしも、そのようになっていない場合は、今回の対応をしてもIPv6でアクセスすることはできません。サーバーを別のところに移す必要があります。
ここからは、KusanagiのIPv6対応について話を進めていきます。
Kusanagiでは、IPv6にデフォルトでは対応していません。そのため、IPv6に対応するには設定を変更する必要があります。
設定の変更は、WebサーバーのNginxに対して行います。
編集するファイルは/etc/opt/kusanagi/nginx/conf.d/プロファイル名.conf/
です。listenという行を追加します。IPv6でのアクセスを許可したい全てのプロファイルについて行います。
server {
listen 80;
listen [::]:80; // 追加
// 中略
server {
listen 443 ssl http2;
listen [::]:443 ssl http2; // 追加
// 中略
次に、/etc/opt/kusanagi/nginx/conf.d/プロファイル名.wp.inc/
を編集します。
// 中略
location ~* /wp-login\.php|/wp-admin/((?!(admin-ajax\.php|images/)).)*$ {
satisfy any;
allow 0.0.0.0/0;
allow 127.0.0.1;
allow ::0/0; // 追加
deny all;
auth_basic "basic authentication";
auth_basic_user_file "/home/kusanagi/.htpasswd";
// 中略
追加する1行だけです。これで、IPv6でのWebサーバーへのアクセスが許可されます。もしもこの設定をしない場合は、WordPressのWebページが表示されません。
最後に、ターミナルからKusanagiの再起動を行い、設定の変更をWebサーバーに反映させます。
kusanagi restart
これで,サーバーの設定は終わりです。
忘れてはならないのは、DNSの設定です。IPv6のIPアドレスをDNSに設定して、ドメインからIPアドレスを引けるようにします。
DNSの設定は、どのようなDNSサーバーを利用しているのかで異なりますが、AAAAレコードにサーバーのIPv6アドレスを指定すれば良いです。
さいごに
ここでは、Kusanagiを利用したWordPress環境における、IPv6対応の方法について紹介しました。
この記事を書いている時点で、Kusanagiが生成する設定ファイルはIPv6に対応していません。そのため、IPv6に対応するには自分で設定を書き換える必要があります。
少々手間ですが、IPv6対応できたということでよかったです。