Suiwabi

備忘録的なものを綴るブログです。

MAMPでPHPのローカル環境を構築する方法

   

MAMP起動_ブラウザ

PHPの開発環境を整えていきます。

MAMPとは?

MAMPとは、Macintosh、Apache、MySQL、PHPの略です。

MAMPをインストールするだけで、Web開発に必要なApache、MySQL、PHPを一括でMacにインストールすることができます。

MAMPをダウンロード、インストール、起動する

MAMPの公式HPからMAMPのインストーラをダウンロードします。

MAMP公式HP

MAMP公式HP2

ダウンロードしたインストーラを起動しMAMPをインストールしていきます。

インストール先は無難に「アプリケーション」にします。

MAMPインストール後

インストール後、「アプリケーション」にMAMPのフォルダが作成されます。

MAMPインストール後3

MAMPフォルダの中に「MAMAP.app」があるので、クリックして起動させます。

起動すると下のようなダイアログが表示されます。PROを使用する人以外はチェックは外しておいた方が良いと思います。

MAMPインストール後2

下記のようなウィンドウが表示されればMAMPの起動は成功です。

MAMP起動

MAMPの初期設定を行う

MAMPの初期設定を行います。

MAMPを起動し、「設定」をクリックします。

MAMP設定

MAMP設定_スタートストップ

MAMP設定_ポート

Apacheのポートがデフォルトでは「8888」になっていますが、今回は「80」に変更しました。
この設定で、ブラウザでMAMPのApacheにアクセスするURLが「http://localhost:8888/」 から「httt://localhost/」に変更されます。

MAMP設定_PHP

MAMP設定_WEBサーバ

これで一通りの初期設定が完了しました。

サーバを起動してみます。

MAMP起動

「サーバを起動」をクリックして、サーバを起動します。

起動するとブラウザが立ち上がり、下記のページが表示されます。

MAMP起動_ブラウザ

タイムゾーンの変更

/Applications/MAMP/bin/php/php5.6.10/conf/php.iniの中の「date.timezone」を変更する。

MAMPタイムゾーン_php.ini

変更前は552行目にある「date.timezone」がヨーロッパのベルリンになっています。

MAMPタイムゾーン_datetimezone

「date.timezone」を「”Asis/Tokyo”」に変更します。

MAMPタイムゾーン_tokyo

タイムゾーンの変更は以上です。

バーチャルホストを建てる

現在の設定では、「httt://localhost/」(httt://localhost:80/)でローカルのディレクトリを確認することができます。
しかし、デフォルトだと一つのローカルホストしかブラウザに表示するができません。

そこで複数のローカルホストを表示できるようにするため、バーチャルホストを建てます。

/Applications/MAMP/conf/apache/httpd.conf

/Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

上記の2つのファイルを変更していきます。

まず「httpd.conf」の569行目にある

「;Include /Applications/MAMP/conf/apache/extra/httpd-userdir.conf」のセミコロンを外します。

MAMPバーチャルホスト_httpd.conf

次に「httpd-vhosts.conf」です。
デフォルトでは下記のようになっています。

#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<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>

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    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>

「httt://localhost:8001/」へアクセスしたら/Users/hoge/foo/mysiteを表示するように設定します。

#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<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>

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    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>

Listen 8001

<VirtualHost *:8001>
    DocumentRoot "/Users/hoge/foo/mysite"
    <Directory "/Users/hoge/foo/mysite">
        AllowOverride All
    </Directory>
</VirtualHost>

8001で表示できるように追記しました。

もし「httt://localhost:8002/」でも別のローカルホストを表示したければ、さらに追記するだけです。

Listen 8002

<VirtualHost *:8002>
    DocumentRoot "/Users/hoge/foo2/myhp"
    <Directory "/Users/hoge/foo2/myhp">
        AllowOverride All
    </Directory>
</VirtualHost>

「httpd-vhosts.conf」の変更が完了したら、MAMPを再起動します。

以上でバーチャルホストが建てられます。

MAMPの設定の参考になれば幸いです。

 - Web , ,

  関連記事

wpid-20150711103730.jpg
「PressSync」iPhoneからWordPressに投稿したい!

通勤時間が片道2時間半の@suigamiです。 通勤時間がやばい! SEという仕 …

no image
Stinger5のコメント欄を削除する方法

WordPressの人気テーマである「Stinger5」では、記事ページ中にコメ …