※この方法はポート番号でサイト管理をさせます。ドメインネームで管理する方法ではありません。
MAMPを使うとローカルでPHPなどのWEBプログラミングを仮想的に動かすことができ、本番サーバーにファイルをアップロードしなくともプレビューすることができます。
ただデフォルトの状態で複数のディレクトリを作り、サイト管理するとサイトアドレスが以下のようになってしまいます。http://localhost:8888/test-site01/
http://localhost:8888/test-site02/
別に静的なHTMLサイトであればこれで特に問題ありませんが、PHPやルートパス指定の「/」で弊害が出てきます。
例えば「/」で画像を指定すると下記になります。
実際のサイト:<img src="/images/sample.jpg">
MAMPだと:<img src="/test-site01/images/sample.jpg">
これだとアップロードするたびにパスを変更しなければなりません・・・
これを回避します。
MAMP PROならこんな面倒なことしなくても
管理画面で自由に作れるよ!
もう普通のMAMPには戻れない・・・
あまりにも数多くのサイトを管理する場合はMAMP PROの導入をおすすめします。有料ですが買い切りタイプで高性能です。WordPressの自動インストール機能もあります。
※ただ全て英語なのがネック!あとググっても全然情報がない…。
バーチャルホストを使い、htdocsに入れたディレクトリをルート・ディレクトリにする
バーチャルホストを使えば以下のようにできます。
ディレクトリ「test-site01」http://localhost:8888/test-site01/
を
バーチャルホストでhttp://localhost:好きな番号/
で読み込むようにする。
では実際に設定させていきます。
変更箇所はMAMP/conf/apache/httpd.conf
MAMP/conf/apache/extra/httpd-vhosts.conf
この2ファイルです。
※MAPMアプリの中にファイルがあります。
httpd.confでバーチャルホストを有効に、そして利用ポートを増やす
まずはバーチャルホストを有効にします。MAMP/conf/apache/httpd.conf
を開き下記項目の#を消します。
httpd.confの580行目くらい
# Virtual hosts
# Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
↓に変更
# Virtual hosts
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
http.confの48行目くらい
Listen 8888
# ↓利用する分だけ増やす
Listen 8888
Listen 8001
Listen 8002
Listen 8003
Listen 8004
Listen 8005
Listen 8006
Listen 8007
Listen 8008
Listen 8009
Listen 8010
この「Listen 8888」はhttp://localhost:8888/
の数字の部分です。増やした分だけ使えるようになります。
※注意点としてこのポートは別アプリや機器で使用している場合があります。
※80とかはMacデフォルトapacheのポート番号
※基本は8***で作れば競合しない
httpd-vhosts.confで作業中のディレクトリにポートを割り振る
MAMP/conf/apache/extra/httpd-vhosts.conf
で8001番はこのディレクトリ!と指定するとhttp://localhost:8001/
でアクセスできるようになります。
httpd-vhosts.confの最後にサイト分だけ追記する
8888は変更しないでとっておきましょう。僕は8001から始めました。
# 下記を追記test-site01は実際の作業ディレクトリ名にしてください。
<VirtualHost *:8001>
DocumentRoot "/Applications/MAMP/htdocs/test-site01"
</VirtualHost>
<VirtualHost *:8002>
DocumentRoot "/Applications/MAMP/htdocs/test-site02"
</VirtualHost>
これでhttp://localhost:8001/
にアクセスするとhtdocs/test-site01
を読み込み、8002
はtest-site02
ディレクトリを読み込むようになります。
これで「/」ルートパス指定ができるようになるので共有ヘッダーの読み込みとかのパスのズレなど回避できるようになると思います。
以上です。
パス指定の色々
ルートパス、絶対パス、相対パスというものがあります。
ルートパス:「/」を記述<a href="/">サイトトップ</a>
サーバーならhttp://example.com/とドメインを指定
絶対パス:ドメイン名から記述<a href="http://example.com/">サイトトップ</a>
絶対にhttp://example.com/
相対パス:「../」を記述<a href="../../../index.html">サイトトップ</a>
上の階層へ3回移動する(index.htmlは無くて良し)<a href="./index.html">サイトトップ</a>
と書くとこのファイルと同じ位置のindex.htmlを指定
最後にまとめ
バーチャルホストは非常に簡単ですね!これで複数サイトのWordPressを管理することも可能です。
ただあまりにも数が増えてくると毎回設定ファイルを開いて確認するのが非常に面倒だったり、管理しきれないゴミファイルがどんどん増えていっていつか困る日が来ます。そうなる前にMAMP PROへ乗り換えることをオススメします。
いつかMAMP PROの記事を書きたいとは思いますが、どんな感じなのか軽く紹介しますね。
MAMPとMAMP PROはファイルのディレクトリが別!
データベースももちろん別!
互換性が無いので後になるほど乗り換えが困難!!!
そして同時に起動できない!
MAMP PROの紹介
中央の一覧がそれぞれサーバーだと思ってください。作りたいサイトができたら+ボタンで新規サイトを追加します。その際にWordPressを入れたいなら自動インストールで入れてくれます。
視覚的にサイトを管理できるので非常に楽です。このサイトいらないなと思えばすぐ消せますし、このサイトなんだっけ?と思えばワンクリックでブラウザでサイトを確認できます。
若干挙動がおかしいですがMAMP PROで作ったサイトはスマホアプリで実際にスマホで稼働させることが可能です。
MAPMはアプリ内にファイルディレクトリがあるけど
MAMP PROはユーザーディレクトリ内に専用ディレクトリが作られるよ!
コメント
コメント一覧 (8件)
[…] MAMPで複数サイトをルートパスから管理したい場合はバーチャルホストを使う – Life Works Blog […]
[…] 以下のページを参考にさせていただきました。 MAMPで複数サイトをルートパスから管理したい場合はバーチャルホストを使う […]
[…] 【参考サイト】 https://pecoegg.com/website-145.html […]
[…] MAMPで複数サイトをルートパスから管理したい場合はバーチャルホストを使う – Life Works Blog […]
[…] pecoegg.com […]
[…] MAMPで複数サイトをルートパスから管理したい場合はバーチャルホストを使う […]
[…] pecoegg.com […]
[…] MAMPで複数サイトをルートパスから管理したい場合はバーチャルホストを使う – Life Works Blog […]