今までは、MacPortsでApache,PHP,MySQLをインストールして OSX Lion に MAMP環境を構築していたのですが、OSX Yosemiteにアップグレードしたら、MacPortsが正常に動かなくなってしまいました。
どうも「The MacPorts Project — Download & Installation」のQuickstartに記載の手順で Yosemite用のMacPortsをインストールし直す必要があるようです。
Yosemiteには、標準でApacheとPHPが入っているようなので、今回は、MacPortsをアンインストールして、HomeBrewを使用してMYSQLのみ追加インストールを行ったMAMP環境を再構築することにしました。
MacPortsのアンインストール
-
MacPortsのUninstallガイドに従い、ターミナルで以下のコマンドを実行してMacPortsをアンインストールしました。
$ sudo port -fp uninstall installed $ sudo rm -rf \ /opt/local \ /Applications/DarwinPorts \ /Applications/MacPorts \ /Library/LaunchDaemons/org.macports.* \ /Library/Receipts/DarwinPorts*.pkg \ /Library/Receipts/MacPorts*.pkg \ /Library/StartupItems/DarwinPortsStartup \ /Library/Tcl/darwinports1.0 \ /Library/Tcl/macports1.0 \ ~/.macports $
ApacheとPHPの設定
-
Yosemiteに標準でインストールされてるApacheのバージョンは、Apache/2.4.9でした。
$ httpd -v Server version: Apache/2.4.9 (Unix) Server built: Sep 9 2014 14:48:20 $
-
Yosemiteに標準でインストールされてるPHPのバージョンは、PHP 5.5.14でした。
$ php -v PHP 5.5.14 (cli) (built: Sep 9 2014 19:09:25) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies $
- phpの設定ファイル(php.ini)を「/etc/php.ini.default」をコピーして/etc下に作成しました。(「/etc/php.ini」)
$ sudo cp -p /etc/php.ini.default /etc/php.ini
-
php.iniのアップロードの最大ファイルサイズが2MBになっていたので、8MBに変更しました。
# cd /etc/ # cp php.ini php.ini.org # nano php.ini
post_max_size = 8MB memory_limit = 128MB ;;;upload_max_filesize = 2M upload_max_filesize = 8M
- Apacheの設定ファイル(/etc/apache2/httpd.conf)のLoadModule(libphp5.so)のコメントを削除してApacheとPHP5の連携を有効にしました。
$ sudo nano /etc/apache2/httpd.conf
#LoadModule php5_module libexec/apache2/libphp5.so ↓ LoadModule php5_module libexec/apache2/libphp5.so
- Apacheの設定ファイル(/etc/apache2/httpd.conf)のLoadModule(mod_rewrite.so)のコメントを削除してmod_rewriteを有効にしました。
$ sudo nano /etc/apache2/httpd.conf
# Example: # LoadModule foo_module modules/mod_foo.so # : #LoadModule rewrite_module libexec/apache2/mod_rewrite.so LoadModule rewrite_module libexec/apache2/mod_rewrite.so : <Directory "/Library/WebServer/Documents"> : ###AllowOverride None AllowOverride All : </Directory>
$ sudo apachectl restart
HomeBrewのインストール
- ターミナルで以下のコマンドを実行して、HomeBrewをインストールしました。
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" : Press RETURN to continue or any other key to abort : Run `brew doctor` before you install anything Run `brew help` to get started $
-
$ brew doctor Warning: Unbrewed .pc files were found in /usr/local/lib/pkgconfig. If you didn't put them there on purpose they could cause problems when building Homebrew formulae, and may need to be deleted. Unexpected .pc files: /usr/local/lib/pkgconfig/jack.pc $
- Macportsの残骸「jack.pc」を削除したら警告がなくなりました。
$ rm /usr/local/lib/pkgconfig/jack.pc $ brew doctor Your system is ready to brew. $
- インストールされたHomebrewのバージョンは、「0.9.5」でした。
$ brew update Already up-to-date. $ brew -v Homebrew 0.9.5 $
MySQLのインストール
- 以下のコマンドで、HomeBrewを使用してMySQLをインストールしました。
$ brew install mysql : A "/etc/my.cnf" from another install may interfere with a Homebrew-built server starting up correctly. To connect: mysql -uroot To have launchd start mysql at login: ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents Then to load mysql now: launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist Or, if you don't want/need launchctl, you can just run: mysql.server start ==> Summary /usr/local/Cellar/mysql/5.6.21: 9620 files, 339M $
- 以下のコマンドで、MySQLの起動しました。
$ mysql.server start Starting MySQL . SUCCESS!
- 以下のコマンドで、MySQLの自動起動を設定しました。
$ ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
- 以下のコマンドで、セキュアセットアップスクリプトを実行しました。
$ mysql_secure_installation Enter current password for root (enter for none): → [Enter] Set root password? [Y/n] → [Enter] New password: 新しいパスワードを入力 Re-enter new password: もう一度パスワードを入力 Remove anonymous users? [Y/n] → [Enter] Disallow root login remotely? [Y/n] → [Enter] Remove test database and access to it? [Y/n] → [Enter] Reload privilege tables now? [Y/n] → [Enter] $
- LocalhostからMySQLにアクセス出来ないことへの対処として、/etc/php.iniにmysql.sockの場所(/tmp/mysql.sock)を追記しました。
- 「mysql> status」を実行して、mysql.sockの場所を確認しました。
$ mysql -u root -p Enter password:* mysql> status : UNIX socket:/tmp/mysql.sock : mysql> quit; Bye $
- mysql.sockの場所を「/etc/php.ini」に追記しました。
$ sudo nano /etc/php.ini
mysql.default_socket = /tmp/mysql.sock mysqli.default_socket = /tmp/mysql.sock
- 「mysql> status」を実行して、mysql.sockの場所を確認しました。
- WordPressが問題なくインストールできることを確認し、MAMP環境の構築を完了しました。