MAMP に WordPress をインストールしてテーマやプラグインの開発を行っています。
→トイレのうず/ぼやき: MAMP で WordPress をローカル環境にインストール
Photo Express for Google というプラグインの認証がローカルアドレスではできなかったので、ローカルのテスト環境に本番のドメインで接続できるようにしました。結構ポートとドキュメントルートの設定で手間取ったので、記録として残しておきます。
参考にしたのは下記のサイト。
→ネットビジネスラボ: MAMP に複数のドメイン「バーチャルホスト」を設定する方法
→ Qiita : MAMP 使い方・設定手順 覚書
目次
MAMP の設定
まず初めに MAMP の設定を確認します。
MAMP は初期設定では「 http://localhost:8888/ 」とポート番号がついてしまいます。「 :8888 」のポートを取るには、 Apache を 80 、 MySQL を 3306 に変更し Mac OS X と同じ設定にします。
「 Web と MySQL のポートを 80 と 3306 に設定」ボタンを押すと Nginx のポートも 80 になってしまうので注意してください。また Appache のポートを 80 に設定すると、 MAMP のアパッチを起動・停止する度にパスワードを訊かれるようになってしまいますが、ポート番号をなくしたかったので仕方がありません。
Web サーバーのではドキュメントのルートが「 /Applications/MAMP/htdocs 」となっていますが、わたしはシステムが入っているドライブとは別の HDD に MAMP のドキュメントを置いています。なのでデフォルトフォルダはバーチャルドメインを設定するフォルダの上位階層に設定します。ここが違うときちんと表示されません。
MAMP のバーチャルホストのカスタマイズ
いよいよ MAMP の Apache にバーチャルホストを設定します。 httpd.conf と httpd-vhost.conf の 2 つのファイルをいじるので、まずはバックアップのために複製しておいたほうがよいでしょう。
- /Applications/MAMP/conf/apache/httpd.conf
- /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
httpd.conf の 575 行目あたりの文頭の「 # 」を削除します。文頭の「 # 」はコメントアウトしているという意味です。
# Virtual hosts
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
httpd-vhosts.conf の文末に下記のコードを追加します。複数設定もできます。
<VirtualHost *:80>
ServerName www.1010uzu.com
DocumentRoot "/Volumes/xxxxx/MAMP/htdocs/www.1010uzu.com"
ErrorLog "logs/www.1010uzu.com"
</VirtualHost>
<VirtualHost *:80>
ServerName test.1010uzu.com
DocumentRoot "/Volumes/xxxxx/MAMP/htdocs/test.1010uzu.com"
ErrorLog "logs/test.1010uzu.com"
</VirtualHost>
<VirtualHost *:80>
ServerName ドメイン名
DocumentRoot “開発環境までのパス”
ErrorLog “ logs/ エラーログの場所”
</VirtualHost>
開発環境までのパスがわからなかったら、ターミナルを起動し、開発環境のフォルダをドラッグ・アンド・ドロップしてやるとパスがわかります。
Hoster で接続先を切り替え
どのドメインをどのサーバーに接続するかは DNS サーバーが管理しているのですが、それを Mac 側で強制的に変更することで、 MAMP が立てたローカルサーバーにドメインで接続するようにします。
hosts に直接記入してもいいのですが、不可視ファイルだったり権限がなかったりで編集が面倒なので、 hosts に自動で記入してくれて簡単にオンオフができる Hoster というアプリケーションを使います。
→ RedWinder : Hoster
左上の「 + 」をクリックして設定画面で下記のように記入。「 127.0.0.1 」はローカルホストを指す IP アドレスです。
セット名の左横の◯が緑になったら接続先を強制的に変更している印です。これでブラウザから「 http://www.1010uzu.com 」で MAMP のローカルサーバーに接続できるはずが、 WordPress の場合、ドメインの移行になるのでデータベースを書き換えてやる必要があります。 とりあえずもう 1 つ作った 「 http://test.1010uzu.com 」にサンプル HTML を置いて動作していることを確認しました。