macOSのSierraにLAMP環境を整える
Homebrew がすでにインストールされているものとします。
環境
macOS のバージョンは以下のとおりです。
$ sw_vers ProductName: Mac OS X ProductVersion: 10.12.2 BuildVersion: 16C68
Apache のバージョンは以下のとおりです。
$ apachectl -v Server version: Apache/2.4.23 (Unix) Server built: Aug 8 2016 18:10:45
MySQLのインストール
$ brew install mysql $ exec $SHELL -l
mysql_secure_installation
を使って root パスワードの設定等を行ってください。
$ mysql_secure_installation
自動に mysqld が起動するようにします。
$ brew services start mysql
ログインしてみます。
$ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 27 Server version: 5.7.17 Homebrew Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec)
よさそうです。
Apache
- バーチャルホストの設定ファイルを有効化
rewrite_mod
、php5_module
、userdir_module
を有効化
を変更しています。
diff -u /etc/apache2/httpd.conf /etc/apache2/original/httpd.conf --- /etc/apache2/httpd.conf 2017-02-07 14:40:22.000000000 +0900 +++ /etc/apache2/original/httpd.conf 2016-08-09 10:22:24.000000000 +0900 @@ -163,10 +163,10 @@ #LoadModule imagemap_module libexec/apache2/mod_imagemap.so #LoadModule actions_module libexec/apache2/mod_actions.so #LoadModule speling_module libexec/apache2/mod_speling.so -LoadModule userdir_module libexec/apache2/mod_userdir.so +#LoadModule userdir_module libexec/apache2/mod_userdir.so LoadModule alias_module libexec/apache2/mod_alias.so -LoadModule rewrite_module libexec/apache2/mod_rewrite.so -LoadModule php5_module libexec/apache2/libphp5.so +#LoadModule rewrite_module libexec/apache2/mod_rewrite.so +#LoadModule php5_module libexec/apache2/libphp5.so #LoadModule perl_module libexec/apache2/mod_perl.so LoadModule hfs_apple_module libexec/apache2/mod_hfs_apple.so @@ -500,13 +500,13 @@ #Include /private/etc/apache2/extra/httpd-languages.conf # User home directories -Include /private/etc/apache2/extra/httpd-userdir.conf +#Include /private/etc/apache2/extra/httpd-userdir.conf # Real-time info on requests and configuration #Include /private/etc/apache2/extra/httpd-info.conf # Virtual hosts -Include /private/etc/apache2/extra/httpd-vhosts.conf +#Include /private/etc/apache2/extra/httpd-vhosts.conf # Local access to the Apache HTTP Server Manual #Include /private/etc/apache2/extra/httpd-manual.conf
sudo apachectl restart
してください。
PHP5
/etc/php.ini
がなかったので cp /etc/php.ini.default /etc/php.ini
しました。
default_timezone
date.timezone = Asia/Tokyo
その後、sudo apachectl restart
してください。
phpMyAdminをインストール
phpmyadmin と phpmyadmin3 があるようです。どちらもインストールしてみます。
$ brew tap homebrew/homebrew-php $ brew info phpmyadmin3 homebrew/php/phpmyadmin3: stable 3.5.8.2 (bottled), HEAD $ brew info phpmyadmin homebrew/php/phpmyadmin: stable 4.6.6 (bottled), HEAD $ brew install phpmyadmin3 $ brew install phpmyadmin
phpmyadmin3 の設定ファイルを追加します。
$ cat /etc/apache2/other/phpmyadmin3.conf Alias /phpmyadmin3 /usr/local/share/phpmyadmin3 <Directory /usr/local/share/phpmyadmin3/> Options Indexes FollowSymLinks MultiViews AllowOverride All <IfModule mod_authz_core.c> Require all granted </IfModule> <IfModule !mod_authz_core.c> Order allow,deny Allow from all </IfModule> </Directory>
phpmyadmin の設定ファイルを追加します。
$ cat /etc/apache2/other/phpmyadmin.conf Alias /phpmyadmin /usr/local/share/phpmyadmin <Directory /usr/local/share/phpmyadmin/> Options Indexes FollowSymLinks MultiViews AllowOverride All <IfModule mod_authz_core.c> Require all granted </IfModule> <IfModule !mod_authz_core.c> Order allow,deny Allow from all </IfModule> </Directory>
sudo apachectl restart
してください。
それぞれ、 http://127.0.0.1/phpmyadmin3/ と http://127.0.0.1/phpmyadmin/ にアクセスして phpMyAdmin の画面が見えればおkです。
mysql.default_socketの変更
手元の環境では PHP の mysql.default_socket と mysqld の default_socket に差異があったため、あわせました。
$ sudo mkdir /var/mysql $ sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock $ mysql.server restart