iT邦幫忙

1

MAMP 4.3 免費版 設定虛擬主機 (virtual hosting)

投幣 2018-02-04 20:42:1320913 瀏覽

安裝MAMP過程自己作一個紀錄。

下載MAMP

https://www.mamp.info/en/

mamp跟mamp pro會一起灌好,用免費的,所以把mamp pro移除,
想移除只要點進mamp pro 看到uninstall就可以移除了。

打開preference,因為預設 web server apache的port是8888
選擇改成80跟3306,只要按下最下面的按鈕就可以了
(如果沒改沒關係,httpd-vhosts.conf的地方設定port一樣就好)

apache port:80
Mysql port:3306

https://ithelp.ithome.com.tw/upload/images/20180204/20107016UOoz32ZknY.png

更改 httpd.conf

路徑:Applications/MAMP/conf/apache/httpd.conf
版本是 MAMP 4.3,在第575行,把井字號(#)移除
像下面一樣

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

更改 httpd-vhosts.conf

路徑:Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
打開檔案,請移動至底,會看到範例

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/Applications/MAMP/Library/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>

因為預設port就是80,所以跟著一起設定就好,
DocumentRoot:資料夾根目錄位置
ServerName:你想設定的domain name(網域名稱)
如果要多個網域名,這邊多做幾次就可以。

瀏覽器用chrome 63的話,可能會遇到強制加https的問題

推薦使用".localhost", ".invalid", ".test", or ".example"結尾domain name
或是換用Firefox就沒問題囉
Chrome 63 now forces .dev domains to HTTPS

<VirtualHost *:80>
    DocumentRoot "/Applications/MAMP/htdocs"
    ServerName localhost
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/Applications/MAMP/htdocs/laravel/public"
    ServerName laravel.app
</VirtualHost>

如果port是8888的話,這邊要改兩個地方

  1. 大概在第19行,NameVirtualHost 改8888
#
# Use name-based virtual hosting.
#
NameVirtualHost *:8888
  1. VirtualHost的port改成8888
<VirtualHost *:8888>
    DocumentRoot "/Applications/MAMP/htdocs/laravel/public"
    ServerName laravel.app
</VirtualHost>

設定本機的hosts

路徑:Macintosh HD/etc/hosts
IP、domain name(跟httpd-vhosts.conf 裡面的ServerName要一樣)
如果要多個網域名,httpd-vhosts.conf設定幾個,這邊一樣設定幾個就可以。

127.0.0.1				localhost
255.255.255.255				broadcasthost
::1				localhost
127.0.0.1				laravel.app

這邊有遇到一個問題查很久,就是domain name(網域名稱)不能含有底線_

不確定原因是為什麼,如果domain name (網域名稱)含有底線,就會顯示Bad request
只查到日文的網友有提到這點,就避免吧
Apache(MAMP)で400 Bad requestが表示される場合

打開瀏覽器,輸入domains

done.


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
ccutmis
iT邦高手 2 級 ‧ 2018-02-12 13:49:43
投幣 iT邦新手 5 級 ‧ 2018-02-21 12:41:00 檢舉

Thank you for your answer/images/emoticon/emoticon41.gif

這問題保哥有遇過
網站域名應避免使用底線 ( _ ) 以免特定系統無法解析名稱

請問大大,這篇能適用於windows 嗎?
我的win10(32)找不到以下檔案,
MAMP/conf/apache/extra/httpd-vhosts.conf

ccutmis iT邦高手 2 級 ‧ 2019-11-04 11:22:36 檢舉

我不是這篇文章的原作者喔 抱歉~
你不是有用XAMPP嗎 XAMPP也可以設虛擬目錄
網路上搜一下就有了,例如這個:
https://www.google.com/url?q=https%3A%2F%2Fkingweblife.blogspot.com%2F2016%2F07%2Fxamppvirtualhostwordpress-opencart.html&sa=D&sntz=1&usg=AFQjCNEzBKD5BpqhK2dhk4BmgqqaIgGjkw

我要留言

立即登入留言