WINGのレンタルサーバーとWordPress5環境で、「サブディレクトリ型」のマルチサイト化を行ってみた。新たに「マルチドメイン型」でサイトネットワークを構築する際、いくつかはまったポイントがあるので報告しようと思う。ここで紹介する方法は、基本的にこちらのサイトで紹介されているエックスサーバー向けの手をConoHaに置き換えたもの。「シンボリックリンクの設定」という作業が肝だが、事前にサーバの管理画面でアカウントをつくっておく必要がある。設定すべきリンク先も、public_htmlでなく元ドメインのディレクトリになる。WINGのサーバ管理画面から任意のサブドメインを設定しておく。SSLの使用可否を選択、という流れでOKだ。ここまでは特に問題なく、数10分~数時間程度でサブドメインの設定が反映される。うまくいくと、ほかのドメインと同じく、サーバ内にサブドメイン名のディレクトリが自動生成される。WordPressのマルチサイト化にあたっては、このサブドメイン名ディレクトリを使わないというのがミソだ。次に、WordPressの管理画面で既存サイトをネットワーク化する。基本的にはサブディレクトリ型と同じ手順で、wp-confing.phpの1行追加>「ネットワークの設置」で「サブドメイン」を選択>wp-config.phpと.htaccessの書き換え>新規サイトの追加、という流れで済む。途中、「WordPressサイトネットワークの作成」という画面の冒頭で、以下のエラーメッセージが表示されると思う。DNSが正しく設定されていない可能性があります。ワイルドカードを追加する必要があります。設定ツールで追加することになります。サイトを使い続けることはできますが、作成されたサブドメインはアクセスできないようです。正しく設定されているなら、このメッセージは無視してください。無視して作業を進めることはできる。Foundというエラーメッセージが出てしまう。これは前回、サブディレクトリ型のサイトネットワークを構築した際、自分でフォルダを作っておいたらForbiddenが出た状況と似ている。対策としては、先に自動生成されたサブドメイン名のディレクトリを削除するかリネームする。元ドメインのディレクトリに「シンボリックリンクを張る」という作業で解決できる。シンボリックリンクを設定するには、サーバーにSSH接続してコマンドを打つ必要がある。Termなどが無料で利用できる。WINGの管理画面からSSHアカウントをつくっておく必要がある。手順はこちらの公式マニュアルに詳しく書かれている。Key」ボタンを押して、ネームタグ設定、プライベートキーのファイルダウンロードまで行う。Termを使う場合は、SSHアカウント作成後の画面に表示された、ホスト名、ポート番号、ユーザー名でログインする。SSH認証のパスフレーズには、先ほど管理画面で設定した「ネームタグ」が相当するので注意。あとは秘密鍵に、ダウンロードしたプライベートキーのファイル(拡張子.pem)を割り当てれば接続できる。シンボリックリンクの設定サブドメインから元ドメインのディレクトリにシンボリックリンクを張る。WINGの場合、以下のようなコマンドを打てばうまくいくはず。-laというコマンドで設定結果を確認できる。/home/アカウント名/public_html/元ドメインとなっていればOKだ。間違ったら、いったんunlinkコマンドでシンボリックリンクを削除してからでないと、再設定できなかった。unlinkは引数を間違うと、rmのように対象ファイルを削除してしまう危険があるので注意。リンク設定がうまくいけば、WordPress管理画面で設定したサブドメインのサイトが、無事に見られるようになる。WINGの管理画面、サイト管理>基本設定>サイト転送からディレクトリの転送もかけられる。これは301リダイレクトなどに相当するので、試してみたがマルチサイトのエラーには効かなかった。WordPressの警告どおり「ワイルドカードDNS」が必要かと思い、ConoHaのDNS画面で「*.ドメイン名」とレコードを設定してみた。サブドメインの生成時に、すでに共通のIPアドレスを向くようDNSレコードが設定されていたようだ。これもマルチサイトのエラー対策としては効果がなかった。以前使っていたバリュードメイン系XREA、コアサーバー、バリューサーバーのサービスでは、サーバの管理画面の「ドメインウェブ」から、シンボリックリンクのような設定ができた。これらのサービスでWordPressをサブドメイン・マルチサイト化する際には、本記事のようにコマンドを打つ必要はないかもしれない。WINGへのWordPress移行トラブル報告かくてもあられけるよプロフィールサイトマップ。