0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

MAMPのバーチャルホストで複数プロジェクトをラクラク管理(方法2)

Last updated at Posted at 2021-04-05

#目次
はじめに
[Virtual Hostを有効化](#Virtual Hostを有効化)
[Virtual Hostの設定](#Virtual Hostの設定)
hostsファイルを編集
確認

#はじめに
以前書いたMAMPのバーチャルホストで複数プロジェクトをラクラク管理(方法1)の記事ですが、あの後から何故か「localhost:8005」などにアクセスすると、localhost:8888に返されてしまう現象が発生。
編集したファイルを確認するも問題はなく、挙げ句にはMAMP自体を入れ直してみましたが改善する気配がない。

そこで、前回の方法1とは違ったアプローチを試してみました。
やり方自体は検索すれば適当にヒットするのですが、もしListen 8001~を追加してみたけど似たような症状が起こっても申し訳ないので、こちらに備忘録も兼ねて残しておきます。

#Virtual Hostを有効化
前回の記事と同じく、「applications/mamp/conf/apache/httpd.conf」を開いて、576行目付近の

httpd.conf
#Virtual hosts
#Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

↑の#を外して↓のようにコメントアウトしてください。

httpd.conf
#Virtual hosts
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

#Virtual Hostの設定
こちらも前回の記事と同じく「applications/mamp/config/apache/extra/httpd-chosts.conf」を開いて、末尾くらいに

httpd-vhost.conf
<VirtualHost *:80>
 以下略
</VirtualHost>

<VirtualHost *:80>
 以下略
</VirtualHost>

と記述された場所があります。

これを雛形にするので、<VirtualHost *:80> 〜 </VirtualHost>を末尾に1つ複製します。
複製した<VirtualHost *:80> 〜 </VirtualHost>の中で書き換えるのは、DocumentNameServerName、オプションのErrorLogCustomLogです。
ちなみにオプションは任意なので、いらないのであれば最初の2項目だけで大丈夫です。

httpd-vhosts.conf
<VirtualHost *:80>
    DocumentRoot "/Applications/MAMP/htdocs/project-name"
    ServerName project-name.local.com
    ErrorLog "logs/project-name-error_log"
    CustomLog "logs/project-name-access_log" common
</VirtualHost>

DocumentRoot
→ htdocs配下のプロジェクトフォルダを指定してください。
ServerName
→ 「http://指定して文字列」と入力することでDocumentRootで指定したプロジェクトが表示されます。
  ここでは「http://project-name.local.com」と入力することで、従来の「http://localhost:8888/project-name」と同じ様にアクセスできます。
ErrorLogCustomLog
→ この2項目はオプションです。指定した場所(logsフォルダ以下)に、指定した名前でエラーログファイルが生成されます。

#hostsファイルを編集
ここではターミナルを使って、hostsファイルを編集していきます。
ちなみにターミナルを使いたくない人は、「private/etc/hosts」にあります。

では、ターミナルを起動し、$ sudo vi /etc/hostsと打ち込んでエンターを押してください。
パスワードを求められるので、入力してエンター。

すると以下のような画面になるはずです。

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost
~
~
~
~
~
"/etc/hosts" 12L, 275C

そのままiを押すと、末尾が-- INSERT --となり、インサートモードに切り替わります。
そうしたら矢印キーとエンターで::1の次の行に移動して、127.0.0.1 test-project.local.comと打ち込みます。
test-project.local.comというのは、先程httpd-vhosts.confのServerNameで指定した文字列です。
もしhttpd-vhosts.confで複数追加したのであれば、その分だけ127.0.0.1 ▲▲▲▲と打ち込んでください。
今回は以下のように入力しました。

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost
127.0.0.1 project-name.local.com
~
~
~
~
~
"/etc/hosts" 12L, 275C

入力したら、escキーを押して、そのまま:wqと入力してエンターで元のターミナルに戻ります。

#MAMPのポート番号を変更
MAMPを起動させて、設定画面のPortsタブを開いて、80 & 3306を押してポート番号を80に変更してMAMPを再起動させます。

#確認
先程のServerNameで指定した文字列をブラウザのアドレスバーに入力してアクセスして表示されていれば成功です。
時折、apacheの反映にタイムラグが発生する時があるので、他のポート番号にリダイレクトされたり、エラーが出たりしたら、MAMPを終了して1〜2分間を空けてから再起動させたり、$ sudo killall -HUP mDNSResponderでDNSキャッシュをクリアしたり、PCの再起動を試してみてください。

もちろんタイプミスも十分有りえるので、httpd.confhttpd-vhosts.confhostsもしっかり確認してみましょう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?