読者です 読者をやめる 読者になる 読者になる

Homebrew で Apache + MySQL + PHP の環境構築

Mac

Apache のインストール

・Apache が登録されている Fomula を追加する

$ brew tap Homebrew/dupes

・インストール

$ brew install httpd

・起動/停止

$ sudo apachectl start
$ sudo apachectl stop

MySQL のインストール

・インストール

$ brew install mysql

・データベースの初期化

$ unset TMPDIR
$ sudo mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

・自動起動

$ cp /usr/local/Cellar/mysql/5.5.27/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/
$ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

・起動/停止

$ mysql.server start
$ mysql.server stop

・設定ファイルの作成

$ sudo cp /usr/local/Cellar/mysql/5.5.27/support-files/my-small.cnf /etc/my.cnf
$ sudo vim /etc/my.cnf
$ sudo vim /etc/my.cnf

[client]
default-character-set=utf8

[mysqld]
character-set-server = utf8
skip-character-set-client-handshake
default-storage-engine=InnoDB

[mysqldump]
default-character-set = utf8

[mysql]
default-character-set = utf8 

PHP のインストール

・PHP が登録されている Fomula を追加する

$ brew tap josegonzalez/php

・インストール

$ brew install php54 --with-intl --with-readline

・設定変更(php.ini)

$ sudo vim /usr/local/etc/php/5.4/php.ini


pdo_mysql.default_socket = /tmp/mysql.sock
mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock

※ $ mysql_config --socket でソケットの場所を確認しておく。


・設定変更(httpd.conf)

$ vim /usr/local/etc/apache2/httpd.conf

# サーバ自身が使用するサーバ名とポート番号を指定
ServerName localhost:80

<IfModule dir_module>
    #DirectoryIndex index.html
    DirectoryIndex index.html index.php
</IfModule>

# MIMEタイプを追加する
<IfModule mime_module>
...
AddType application/x-httpd-php .php
...
</IfModule>

# Apache に PHP モジュールを組み込むための設定
LoadModule php5_module    /usr/local/Cellar/php54/5.4.7/libexec/apache2/libphp5.so

# バーチャルホストを追加する
NameVirtualHost *:80

<VirtualHost *:80>
  DocumentRoot /Users/username/Sites
  ServerName localhost
  <Directory "/Users/username/Sites">
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>