web-dev-qa-db-ja.com

MAMPで仮想ホストを作成する方法は?

私は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

しかし、次に何をすべきか?

18
Ritesh

グーグル中に、MAMPで仮想ホストを簡単に作成する次の手順を見つけました。

  1. Macでコンソールを開き、このようにホストファイルを編集します

    Sudo vim/etc/hosts

これにより、次の行を含むシステムファイルが開きます。

127.0.0.1    localhost

ローカルホストの後に目的のホスト名を追加します。

127.0.0.1    localhost mysite.loc

eSCを押してから:wq!ファイルを上書きして閉じます。

  1. MAMPディレクトリに移動し、任意のテキストエディターでApplications/MAMP/conf/Apache/httpd.confにあるApache構成ファイルを開いて、次の行を見つけます。
# 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を開きます。ここで、仮想ホストを定義します。

  1. ページの下部には、Apacheで仮想ホストを定義する方法の2つの例があります。次のようになります。
<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/

楽しい..!!

42
Ritesh
  1. 仮想ホストを許可する

    アプリケーション> 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
    
  2. SymLinkオーバーライドを許可

    同じhttpd.confファイルでこの行を見つけます。

    <Directory />
        Options Indexes FollowSymLinks
        AllowOverride None
    </Directory>
    

    [なし]を[すべて]に変更します。

    <Directory />
        Options Indexes FollowSymLinks
        AllowOverride All
    </Directory>
    
  3. 仮想ホストパスを追加する

    アプリケーション> MAMP> conf> Apache> extra> httpd-vhosts.confに移動します

    以下のコードのように、servnameとドキュメントルートを持つ仮想ホストを追加します

    <VirtualHost *:80>
      ServerName example.dev
      DocumentRoot "/path/to/directory"
    </VirtualHost>
    
  4. コンピューターにローカルドメインを認識させる

    ターミナルを開いて入力する

    Sudo pico /etc/hosts
    

    次に、ドメインを追加します

    127.0.0.1 example.dev
    
  5. サーバーを再起動します。

    URLでchromeでエラーが表示されている場合は、safariを試してください

4

MAMPの私の設定では、最初の仮想ホストのみが応答していました。
何時間もの検索の後、問題を解決するための指示を作成しました(仮想ホストの定義をリストする前に):

NameVirtualHost *:80

今、私の3つの仮想ホストが機能しています!

3
André DLC

Riteshの答えに追加する

また、httpd.confに、既存のディレクトリ構成と同様のディレクトリ構成を追加することもできますが、これは新しいサーバーのドキュメントルート用です。

例えば:

<Directory "/Users/username/Sites/mysite">
    Options All
    AllowOverride All
    Order allow,deny
    Allow from all
    XSendFilePath "/Users/username/Sites/mysite"
</Directory>
0
Jidbo

最近、MACでXAMPからMAMPに変更しました。私は最後の仮想ホストをセットアップしようとしましたが、MAMPの8888ポート番号は通常の作業を避けていました。

最後に解決策を見つけました。次の投稿にあるように、httpd.confのリッスンポートとServerNameを変更できます。 https://www.taniarascia.com/setting-up-virtual-hosts/

0
szatti1489

Szatti1489が推奨するように、この投稿に従いましたが、私にとってはうまくいきました: https://www.taniarascia.com/setting-up-virtual-hosts/

ただし、いくつかの点に言及する価値があります。

  • この行はhttpd.confファイルにまだ存在していなかったので、追加する必要がありました:Include /Applications/MAMP/conf/Apache/extra/httpd-vhosts.conf
  • VirtualHost ServerNameには、.testではなく、.devドメインの末尾を使用する必要がありました。投稿ではこれに言及していますが、その後.devを使用し続けています。どうやら、Chromeは2017年以降に終了する.devドメインをサポートしていませんでしたが、FirefoxまたはSafariでも動作しませんでした。
0
obwansan