Skip to content

Instantly share code, notes, and snippets.

@shokuto
Created February 14, 2013 13:08
Show Gist options
  • Save shokuto/4952649 to your computer and use it in GitHub Desktop.
Save shokuto/4952649 to your computer and use it in GitHub Desktop.
OSX10.8_php_mysql.md

MacOS X ローカル環境に PHP+MySQL を入れる

MacOS X 10.8.2 環境でローカルにWeb制作環境を構築する際の手順メモ。前提となるバーチャルホストの構築手順は「shokuto / osx10.8_virtual-host.md」に書いてますので、これはその続き。今回はPHP+MySQLを入れるところまで。例によって自分用メモ。

注意

OS Xのバージョンによって設定ファイルが微妙に違っているようだし、マシンによってうまくいかないことも多々あったりするのですが、ここは作業メモなんで詳しいことはよくわかりません。

手順

PHPを入れる

OS X にはPHPが最初から入ってるんだけど、それを使わずに新規に入れたほうがよいと聞いたので入れてみる。「PHP 5.3/5.4 for OS X 10.6/10.7/10.8 as binary package」を参考に。今回はバージョン5.4にする。

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.4

特に何も問題が起きなかった模様。念のためApacheを再起動して、ディレクトリにphpinfo.phpなど作って置いてアクセス。ちゃんと表示された。

Homebrewを入れる

MySQL入れるのにも便利なHomebrewを入れておく。Homebrewから。最下部の「Install Homebrew」のコードをターミナルに貼り付ける。

brew -v

でバージョン確認。すでに入れてる場合は

brew update

でアップデートしておく。

MySQLを入れる

MySQLを入れてみたが途中でコケてアンインストールも大変だった、という経験をしたので(文書末参照)、こっちはコケにくいよと聞いたMariaDBを入れることにした。MySQL互換なので問題ないはず。

brew install mariadb

処理が終わったら、そこまでのログを見てセットアップする。ログをコピーしてテキストファイルなんかに保存しておくといいかも。

unset TMPDIR

と入れてリターン。さらに

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

と入れる。ここでMySQLを起動。

mysql.server start

次にパスワードを設定するんだけど、先に記述されてる2つのではうまくいかなかったので、3つめの

sudo /usr/local/Cellar/mariadb/5.5.29/bin/mysql_secure_installation

を入力。質問が出てくる。最初はパスワードを登録していないので、そのままリターン。で、新しくパスワードを設定するよう求められるので、MySQLのパスワードを決めて入れる。それ以降の質問は「y」キーで進めていく。

Thanks for using MariaDB!

と出たらOK。MySQLをいったん止める。

mysql.server stop

次に初期設定ファイルを用意する。MariaDBの設定ファイル「my-small.cnf」をコピーして、/etc/ に「my.cnf」という名前で保存。MariaDBのバージョンによってパスも変わるのでFinderで確認しつつ。

sudo cp -a /usr/local/Cellar/mariadb/5.5.29/support-files/my-small.cnf /etc/my.cnf

パーミッションを変更

sudo chmod 777 /etc/my.cnf

my.cnfを開いて以下の記述をそれぞれの該当箇所に追加。文字コードをUTF8で統一するなど。

[client]
default-character-set = utf8

[mysqld]
max_allowed_packet = 64M
character-set-server = utf8

[mysql]
default-character-set = utf8

保存したら、パーミッションを戻しておく。

sudo chmod 644 /etc/my.cnf

MySQLを起動。

mysql.server start

ログインしてみる。

mysql -u root -p

パスワードを聞かれるので入力。ログイン。MySQLの中に入ると

MariaDB [(none)]>|

みたいな感じでカーソルの位置が変わるので、SQLのコマンド、たとえば

MariaDB [(none)]> SHOW DATABASES;

なんかを入れて確認。終了するときは

MariaDB [(none)]> quit

最後には

mysql.server stop

も忘れずに。

MySQLの自動起動を設定

プリセットのコピーを入れておく。以下のコマンドを入れたらいいらしい。LaunchAgentsディレクトリをFinderで確認し、なかったら作っておく。

cp /usr/local/Cellar/mariadb/5.5.29/homebrew.mxcl.mariadb.plist ~/Library/LaunchAgents/

ファイルをロードする設定を追加する。

launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist

以上。

うまくいかなかったよの報告

最初にMySQLを入れようかと思ったが、途中でうまくいかなくなったので、諦めていったんアンインストール。

brew uninstall mysql

本来はこれでいけるはずだが、

/usr/local/var/mysql

というフォルダも手動で削除しないとMariaDBのインストールがうまくいかなかった。アンインストールについては、「Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (Mysql::Erro」も参考にするといいみたい。

おまけ:phpMyAdminのインストール

ファイル一式は「phpMyAdmin - Download」からダウンロード。フォルダごと「phpMyAdmin」にリネームして「/Sites/」に置く。

httpd-vhosts.confに以下を記載。

Alias /phpmyadmin /Users/username/Sites/phpMyAdmin
<Directory /Users/username/Sites/phpMyAdmin/>
  Options Indexes FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  Allow from all
</Directory>

保存したら、Apacheを再起動して、設置したphpMyAdminにブラウザで移動。IDはroot、パスワードはMySQLのパスワードでログインできる。セキュリティ関連はこれから勉強。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment