私はMacを初めて使用しますが、長い間開発にUbuntuを使用しました。 Ubuntuで仮想ホストを作成する方法は知っていますが、Macについてはわかりません。以下のような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 mysite.loc
255.255.255.255 broadcasthost
::1 localhost
しかし、次に何をすべきか?
グーグル中に、MAMPで仮想ホストを簡単に作成する次の手順を見つけました。
Macでコンソールを開き、このようにホストファイルを編集します
Sudo vim/etc/hosts
これにより、次の行を含むシステムファイルが開きます。
127.0.0.1 localhost
ローカルホストの後に目的のホスト名を追加します。
127.0.0.1 localhost mysite.loc
eSCを押してから:wq!ファイルを上書きして閉じます。
# Virtual Hosts
# Include /Applications/MAMP/conf/Apache/extra/httpd-vhosts.conf
Includeで始まる行の先頭からハッシュ(ポンド)記号を削除します
# Virtual Hosts
Include /Applications/MAMP/conf/Apache/extra/httpd-vhosts.conf
ファイルを保存し、Applications/MAMP/conf/Apache/extra/httpd-vhosts.confを開きます。ここで、仮想ホストを定義します。
<VirtualHost *:80>
ServerAdmin [email protected]
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>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/Applications/MAMP/Library/docs/dummy-Host2.example.com"
ServerName dummy-Host2.example.com
ErrorLog "logs/dummy-Host2.example.com-error_log"
CustomLog "logs/dummy-Host2.example.com-access_log" common
</VirtualHost>
両方の例を編集します。仮想ホストは既存のローカルホストを上書きするため、最初のホストはローカルホストを再確立する必要があります。追加する仮想ホストの2番目のホストを編集します。 DocumentRootおよびServerNameディレクティブのみが必要です。 mysiteの仮想ホストを追加するには、編集された定義は次のようになります。
<VirtualHost *:80>
DocumentRoot /Applications/MAMP/htdocs
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Users/username/Sites/mysite"
ServerName mysite.loc
</VirtualHost>
これは、サイトフォルダーでmysiteのファイルを検索することを前提としています。 2番目の定義の「username」をご使用のMacユーザー名に置き換えます。別の場所にファイルを保存する場合は、それに応じてDocumentRootの値を調整します。
複数の仮想ホストを作成する場合は、定義の1つをコピーし、それに応じて編集します。
編集したすべてのファイルを保存し、MAMPコントロールパネルでサーバーを再起動します。これで、仮想ホストに次のURLでアクセスできるようになります: http://mysite.loc/ 。
楽しい..!!
仮想ホストを許可する
アプリケーション> MAMP> conf> Apache> httpd.confに移動します
この行を見つけます:
# Virtual hosts
#Include /Applications/MAMP/conf/Apache/extra/httpd-vhosts.conf
ハッシュ記号を削除して、コードのコメントを解除します。
# Virtual hosts
Include /Applications/MAMP/conf/Apache/extra/httpd-vhosts.conf
SymLinkオーバーライドを許可
同じhttpd.conf
ファイルでこの行を見つけます。
<Directory />
Options Indexes FollowSymLinks
AllowOverride None
</Directory>
[なし]を[すべて]に変更します。
<Directory />
Options Indexes FollowSymLinks
AllowOverride All
</Directory>
仮想ホストパスを追加する
アプリケーション> MAMP> conf> Apache> extra> httpd-vhosts.confに移動します
以下のコードのように、servnameとドキュメントルートを持つ仮想ホストを追加します
<VirtualHost *:80>
ServerName example.dev
DocumentRoot "/path/to/directory"
</VirtualHost>
コンピューターにローカルドメインを認識させる
ターミナルを開いて入力する
Sudo pico /etc/hosts
次に、ドメインを追加します
127.0.0.1 example.dev
サーバーを再起動します。
URLでchromeでエラーが表示されている場合は、safariを試してください
MAMPの私の設定では、最初の仮想ホストのみが応答していました。
何時間もの検索の後、問題を解決するための指示を作成しました(仮想ホストの定義をリストする前に):
NameVirtualHost *:80
今、私の3つの仮想ホストが機能しています!
Riteshの答えに追加する
また、httpd.confに、既存のディレクトリ構成と同様のディレクトリ構成を追加することもできますが、これは新しいサーバーのドキュメントルート用です。
例えば:
<Directory "/Users/username/Sites/mysite">
Options All
AllowOverride All
Order allow,deny
Allow from all
XSendFilePath "/Users/username/Sites/mysite"
</Directory>
最近、MACでXAMPからMAMPに変更しました。私は最後の仮想ホストをセットアップしようとしましたが、MAMPの8888ポート番号は通常の作業を避けていました。
最後に解決策を見つけました。次の投稿にあるように、httpd.confのリッスンポートとServerNameを変更できます。 https://www.taniarascia.com/setting-up-virtual-hosts/
Szatti1489が推奨するように、この投稿に従いましたが、私にとってはうまくいきました: https://www.taniarascia.com/setting-up-virtual-hosts/
ただし、いくつかの点に言及する価値があります。
Include /Applications/MAMP/conf/Apache/extra/httpd-vhosts.conf
.test
ではなく、.dev
ドメインの末尾を使用する必要がありました。投稿ではこれに言及していますが、その後.dev
を使用し続けています。どうやら、Chromeは2017年以降に終了する.dev
ドメインをサポートしていませんでしたが、FirefoxまたはSafariでも動作しませんでした。