#もくじ
はじめに
バーチャルホストとは?
MAMPのバーチャルホストを設定する
#はじめに
もしこの記事でうまくいなかい場合は、こちらの記事「MAMPのバーチャルホストで複数プロジェクトをラクラク管理(方法1)」を参考にしてみてください。
#バーチャルホストとは?
MAMPで複数プロジェクトを管理している人(初心者限定?)によくあることですが、
「htdocsにindex.htmlやstyle.cssなんかをおいてホームページを仮想環境で制作しましょう!」
という初心者向きの記事を鵜呑みにすると、
「あれ?ということはmampで作れる(管理できる)プロジェクトは1つしか無理なの?」
という疑問に当たります。
そこから次に行く着くのが、
「htdocsの中にプロジェクトごとのフォルダを作って、その中にhtmlとかcssを置けば、localhost:8888/プロジェクト名でいくらでも管理できるじゃん!」
という考えです。
はい、間違いです。
今すぐその認識を捨てましょう。
wordpressじゃなくても良いんですが、生のPHPで現在のURLを取得して、何かしらの判定処理をしようとしたとき、
$_SERVER['HTTP_HOST']
というコードを使った覚えないですか?
このコード自体はホスト(www.sample.com)を取得するのですが、mamp上で実行すると、「localhost:8888」しか取得できないんです。
「ほしいのは**"localhost:8888"じゃなくて"localhost:8888/example"**なんだ!!!!」
まさに自分のことなんですが、こんなしょうもないことで躓いてほしくないので、備忘録も兼ねて、ちゃんとした複数プロジェクトの管理方法をここに残します。
#MAMPのバーチャルホストを設定する
まずは「/mamp/conf/apache」から「httpd.conf」と「extra/httpsd-vhosts.conf」を開きましょう。
わざわざVSCodeとかで御大層にやる必要もないので、メインのエディターとは別に、軽量なエディターとかがあれば便利です。
自分の場合はCotEditorなるものを使ってますが、まじで起動が早いしメモリも圧迫しないので、普通に文章を書くときなんかはこちらを使ってます。
Mac:https://apps.apple.com/jp/app/coteditor/id1024640650?mt=12
Windows:https://coteditor.softonic.jp/mac
とりあえず、何でもいいので上記2つのファイルを開いてください。
※失敗するとMAMPが死ぬので、この2つのファイルは前もってバックアップしておくこと!!
###① httpd.confの
47行目付近の
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 8888
Listen 8001
Listen 8002
#↑こんな感じで追加
Listen 8888の下にListen 8◯◯◯と必要に応じて追加します。
今回は「htdocs/test」を作り、中にhtmlとかcssを置くことをイメージしてます。
wordpressでもlaravelプロジェクトでも、やることは一緒です。
続けて、576行目付近の
#Virtual hosts
#Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
のコメントを解除して保存してください。
###② httpd-vhost.confの行末に
# 普通のサイトの場合はこちら
<VirtualHost *:8◯◯◯>
DocumentRoot “/Applications/MAMP/htdocs/▲▲example▲▲”
ErrorLog "logs/▲▲example▲▲-error_log"
CustomLog "logs/▲▲example▲▲-access_log" common
</VirtualHost>
# Laravelの場合はこちら
<VirtualHost *:8◯◯◯>
DocumentRoot "/Applications/MAMP/htdocs/▲▲larabel▲▲"
ErrorLog "logs/▲▲larabel▲▲-error_log"
CustomLog "logs/▲▲larabel▲▲-access_log" common
</VirtualHost>
を追加します。
※▲▲〜▲▲で囲われたところは任意の文字列に置き換えてください。
logs/にログファイルが生成されます。
8◯◯◯は①で追加した「Listen 8◯◯◯」と同じ番号を、▲▲▲は「プロジェクトごとのフォルダ名」を入力してください。
保存したらMAMPを再起動して、「localhost:8◯◯◯」でアクセスして想定通りの画面が開いたら完了です。
wordpressやec-cubeなどでも同じ用に「htdocs」直下にプロジェクトフォルダを置き、「Listen 8◯◯◯」と「」を追記するだけでいくらでも増やせます。
ec-cubeとかrubyとか、その他のプロジェクトでの記述方法を知りたければ、「mamp 」
マジで乙したー \(^o^)/