Macにxamppをインストールする

公式ページからダウンロード
いつものようにインストールしてXAMPP.appを立ち上げます。
こういったXAMPPのランチャーが出てくるので初期設定を行います。

起動

初期画面では右上に赤い丸があって起動していないことを示しています。なのでStartバーを押して起動させてみます。Startさせると黄色い丸になってうまくいくと緑色になります。緑色になったらIPアドレスが出てくるのでメモしておきます!

192.168.64.2

以前はlocalhostで初期の接続をしていましたが、VMになったみたいなので(おそらくDHCP的なもので発行された)IPアドレスで接続します。この例では、http://192.168.64.2/dashboard/にアクセスすることになります。
内包されているサービスは以前と同じで、Apache,ProFTPD,MySQLです。中身はMariaDBだったかも。
今回大きく変わったのはネットワークという概念が付加されたということだと思います。面倒くさがりの玄人には結構歓迎していい機能ですが、入門者のソフト定番XAMPPとしては面倒なことになったなと。つーか玄人はDocker使った方がいいです。
ちなみにIPアドレスは、だいたいいつも同じIPで払い出されるようになっているようです。(が、まだよくわかりません。時々変わるのかも)

Networkの設定

細かい話は抜きにしてEnableにしてください。

マウント

DocumentRootがVMの内部に入っているので、マウントしないと駄目なんですね。むかしのDocumentRootにいっても何もないです。VolumesのところでMountボタンを押します。
するとファイルサーバとかみたいにPC上にボリュームがマウントされます。実際の場所は、

/Users/USERNAME/.bitnami/stackman/machines/xampp/volumes/root

にマウントされています。ここで以前と同じ操作が可能です。
ExploreボタンでもFinder上で同じ場所にいけます。
マウントは再起動するとアンマウントされてしまうようです。実際のマウントされているものは

nfs://192.168.64.2/opt/lampp

になりますかね。以下、これからの設定はlamppを起点としてパスを書きます。

Virtualhostの設定

これができないと開発できないので、以前と同じようにホストの設定とIPの設定をしてVirualhostの設定を個別に行います。 Virtualhostの設定を有効にして、Virtualhost自体のディレクティブを作成します。

/etc/httpd.conf 489行目あたり

# コメントアウトを外す。
Include etc/extra/httpd-vhosts.conf

/etc/extra/httpd-vhosts.conf に追記

<VirtualHost *:80>
    ServerAdmin hoge@example.com
    DocumentRoot "/Users/osamuyamakami/localhost/hoge"
    ServerName hoge.local
    ErrorLog "logs/hoge-error_log"
    CustomLog "logs/hoge-access_log" common
    <Directory "/Users/USERNAME/localhost/hoge">
        AllowOverride All
        Options All
        Require all granted
    </Directory>
</VirtualHost>

任意の場所に設定します。
/etc/hosts

192.168.64.2    hoge.local

DocumentRootにファイルを作成します。
ここまでやって再起動します。Access forbidden!になったら細かいところ見直ししてください。
以上、若干面倒くさくなりました!

Access forbidden!

いろいろ原因はあると思うので、以下の部分を確認しましょう。

<Directory "/Users/USERNAME/localhost/hoge">
    AllowOverride All
    Options All
    Require all granted
</Directory>

の部分で権限の配分がちゃんと行われているか確認しましょう。Local環境なので権限設定はAllで構いません。AllowOverrideもOptionsもALLで問題なしです。

/etc/extra/httpd-xampp.conf の一部設定を書き換える必要あるかもしれません。


/etc/httpd.conf

<IfModule unixd_module>
...
User daemon
Group daemon
</IfModule>

のUserを自分のユーザー名にします。ユーザー名はターミナルのプロンプトにある

HOSTNAME:~ USERNAME$ 

となっています。しかしこれ、Apacheを再起動すると立ち上がらなくなるケースありますね。

[Thu Apr 04 03:52:01.159065 2019] [authz_core:error] [pid 1177] [client 192.168.64.1:55415] AH01630: client denied by server configuration: /Users, referer: http://osamthing.local/

PHPMyAdmin

以下のファイルを修正しないとアクセスできなかった。

/etc/extra/httpd-xampp.conf

# since XAMPP 1.4.3
<Directory "/opt/lampp/phpmyadmin">
    AllowOverride AuthConfig Limit
    #Require local
    Require all granted ←これ追加
    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</Directory>

まとめ

ちょこっと使うには使いづらくなりました。こんなことならAWSとかGCIでLAMP作った方がいいのでは?と思います。
起動がやたら遅い。電源切るたびに再マウント・再起動。かなりもっさりますね。


Mac用のXAMPPをインストール。ローカル開発環境の準備と簡単な使い方
XAMPP for OS Xからかなり変わったXAMPP-VM for OS X のメモ

Last update: 2019.04.04 (木)