motoyamayuki.com

Blog

xampp+WordPressでマルチサイト化する時にポート番号で引っかかった時の対処法

2011.01.17

はい、タイトルのまんまです。

「xamppをVirtualHostで複数サイトを管理してて、特に問題なかったけどWP3.xを導入してマルチサイト化もしてみたら、なんと!ポート番号80以外のサイトはネットワークの作成が出来ないじゃないか~!」

という、恐ろしくニッチな悩みに対する解決法です。

そもそも、これはWordPressに

「WordPress のアドレス(URL)」に「:80」「:443」以外のポート番号が付いているときはダメよ

という制約があるからです。(Codex参照)

VirtualHostでポート番号を分けてサイト管理している時はURLが

http://localhost:80/

http://localhost:8080/

とかになってると思いますが、この状態では下のURLで運営しているサイトでは「ネットワークの作成」を実行できません。

そこで、URLからポート番号をはずす設定をご紹介。

前提として

  1. xamppのインストールは完了している
  2. インストール先はDドライブ直下
  3. VirtualHostの設定は完了している

とします。

この段階ですでに対象が相当しぼられますね。

D:xamppapacheconfhttpd.conf

このファイルをエディタで開き、VirtualHostの設定をしている行をみてください。

<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs2"
</VirtualHost>

<VirtualHost *:8080>
DocumentRoot "C:/xampp/htdocs3"
</VirtualHost>

こんな感じですかね。

この「DocumentRoot」の指定の下に「ServerName」の指定を入れてやります。

<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs2"
ServerName site02.project
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs3"
ServerName site03.project
</VirtualHost>

こんな感じですね。
ポート番号は同じにします。そしてServerNameというやつがミソです。
私はTopLevelDomainを「project」という名前にしていますので、「.project」としています。
(プロジェクト!何だか壮大なイメージしません?まぁ一人で制作してるんですが)
まぁ何でもいいです。

次にhostsファイルを変更します。
hostsファイルとは、サイト名などをIPに変換するためのWindowsのシステムファイルです。

(ちなみに、このファイルを開いて覚えのない指定がされていればマルウェアによってファイル改ざんされている恐れがありますよ)

エディタで開き、一番下に

127.0.0.1      project
127.0.0.1      site01.project
127.0.0.1      site02.project

 

と記述し、保存します。

これで、今まで

http://localhost:8080/でアクセスしていたローカルサイトが

http://site03.projectというURLでアクセスできるようになります。

が、今回はすでにテストサイトを運営している前提ですので、データベースをいじる必要があります。

xamppを(すでに開いている場合は、一旦Stopさせてから)Startさせます。

phpMyAdminにログイン(http://project/xampp/)し、変更するデータベースを選択し

」の中にある

  • site_url
  • home

の値を「http://localhost:8080/」→「http://site03.project」に書き換えます。

いざ、http://site03.projectにアクセス!

続けてネットワークの設定をしていけば、URLにポート番号がありませんので

無事にマルチサイト化作業が完了すると思います。

  • このブログをはてなブックマークに追加

Contact

お仕事のご依頼、面白いことのお誘い、一度お話してみたい!などなど、鬼頭祐毅へのお問い合わせは、下記のフォームよりお願いします。送信後、 info@motoyamayuki.com より確認のメールが届きます。

お問い合わせフォーム

    お名前

    メールアドレス

    内容

    Treble