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_modphp5_moduleuserdir_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の変更

手元の環境では PHPmysql.default_socket と mysqld の default_socket に差異があったため、あわせました。

$ sudo mkdir /var/mysql
$ sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
$ mysql.server restart