macOS Mojaveにデフォルトでインストールされている「Apache2」「Php」を利用してみます。
2019年7月現在のmacOSでは比較的新しいバージョンがインストールされているようです。
今まで、Cloud9、MAMP や Vagrant(VirtuanBox) で開発環境を構築して開発してきました。
今回、新しく Mac Mini(2018)を購入し環境を再構築しているのですが、以前の環境を引き継ぐのではなく新たにクリーンインストールしてみることにしました。
Cloud9はそのまま、Awsにログインして利用できるのですが、さらにローカル環境にデフォルトの環境を確認してみようと思い、使えそうなので利用することにしました。
今回購入した、Mac mini すごいです。快適です。特別仕様でカスタマイズしてあります(Corei7 6Core、16Gbメモリ、512Gbストレージ)大満足です。
インストールする環境
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// Mac OSバージョン $ sw_vers ProductName: Mac OS X ProductVersion: 10.14.5 BuildVersion: 18F132 // デフォルトでインストールされているApach2のバージョン $ apachectl -v Server version: Apache/2.4.34 (Unix) Server built: Feb 22 2019 20:20:11 // デフォルトでインストールされている PHPのバージョン $ php -v PHP 7.1.23 (cli) (built: Feb 22 2019 22:19:32) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies |
Apache2,Phpはデフォルトでインストールされているバージョンを使用します。
Apache2は 2019年4月1日リリースの Apach2/2.4.39 が最新のバージョンです。
(2019年7月の時点にて)
PHPは 2019年5月30日リリースの PHP7.3.6 が最新のバージョンです。
(2019年7月の時点にて)
Apacheの起動と停止と再起動
1 2 3 4 5 6 7 8 |
// Apacheの起動 $ sudo apachectl start // Apacheの停止 $ sudo apachectl stop // Apacheの再起動 sudo apachectl restart |
Apacheの設定ファイル及びDocumentRoot
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
// httpd.confの場所 $ ls -al /etc/apache2/httpd.conf -rw-r--r-- 1 root wheel 21150 1 16 12:25 /etc/apache2/httpd.conf // /etc/は//private/etc/のシンボリックリンクとなっています。 $ ls -al /etc lrwxr-xr-x@ 1 root wheel 11 1 16 12:22 /etc -> private/etc // DocumentRootの場所 // /Library/WebServer/Documents/ $ ls -al /Library/WebServer/ total 0 drwxr-xr-x 5 root wheel 160 8 18 2018 . drwxr-xr-x+ 64 root wheel 2048 6 12 03:05 .. drwxr-xr-x 2 root wheel 64 8 18 2018 CGI-Executables drwxr-xr-x 5 root wheel 160 8 18 2018 Documents drwxr-xr-x 3 root wheel 96 8 18 2018 share |
Mac デファルトの PHP設定ファイル、
及び Apache でphpを利用できるようにする
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
// phpをApache(Webサーバー)で使えるようにしたり、その他の動作を有効sにするためにhttpd.confを編集します。 $ sudo vi /etc/php.ini ・ ・ ・ LoadModule php7_module libexec/apache2/libphp7.so // php有効 LoadModule perl_module libexec/apache2/mod_perl.so // mod_perl 有効 LoadModule userdir_module libexec/apache2/mod_userdir.so // ユーザのホームディレクトリにてリクエストを対応する LoadModule include_module libexec/apache2/mod_include.so // SSIを有効にする。 LoadModule rewrite_module libexec/apache2/mod_rewrite.so // リダイレクトを可能にする。 ・ ・ // mac 標準のPhp設定ファイルをコピー(または rename)します。 $ sudo cp /etc/php.ini.default /etc/php.ini $ sudo chmod 644 /etc/php.ini // apache2 を再起動 $ sudo apachectl restart |
参考
Apache v2.4 モジュール一覧
SSIを使用する(mod_include)
ユーザーのホームディレクトリーを有効にする。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// 公開用のユーザーホームフォルダーを作成 // ユーザーホームは http-user.confに定義されている $ mkdir /Users/xxxxx/Sites // 公開用のユーザーホームフォルダーの権限を付与 // https-user.confの最後に追加 // 今回は開発環境のため全ての権限付与 $ sudo vi /etc/apache2/extra/httpd-userdir.conf ・ ・ <Directory "/Users/*/Sites"> Options All AllowOverride All Require all granted </Directory> // apache2 を再起動 $ sudo apachectl restart |