前々からずっと気になっていたHomebrew。
MacPortsからHomebrewへの移行メモ
以上を参考に、MacPortsからMAMP環境をHomebrewに完全移行しました。
Homebrewって何かと調べてみると、その特徴が本家( http://mxcl.github.com/homebrew/ )にまとめられていました。
- Homebrewは最も簡単で柔軟性のあるOSX用のUNIXツールをインストーラー
- パッケージはCellarというプレフィックスで分離され、/usr/binにリンク置いて管理
- Homebrewには自分自身も同梱されている
- 数秒でHomebrewのパッケージを作成可能
- Git管理で簡単にカスタマイズや上流バージョンのマージができる
- HomebrewのformulaはRubyスクリプトで記述
とのこと。いろいろなブログを見てみるとまず、Macにそもそも入っているバイナリを再コンパイルしないこと、インストールが速いことが特徴としてあげられていました。RubyやGitHubの有機的なネットワークとの結合も大きな魅力です。
やはりインストール時間はやっぱり短いほうが良いし。どんどん新しい主流にチャレンジしていくべき、というわけで移行を決意。変化を恐れたらそこでおしまいですよね。
ちなみに前提条件ですが
- MacBookPro 13インチ 2.3GHz Core i5 メモリ4GB
- MacOSX Snow Leopard 10.7.3
- MacPortsを導入済み
- XCode 4.1を導入済み
とこんな感じです。
Homebrewのインストール
まずはmacportsでインストールしていたパッケージのバックアップ。
一応念のためにTimeMachineでバックアップを取っておきました。
sudo port installed > myports.txt
次にMacPortsを除去。ドキドキします。
$ sudo port -f uninstall installed $ sudo rm -rf /opt/local/
そして、公式にしたがってインストール。
/usr/bin/ruby -e "$(/usr/bin/curl -fksSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"
実行後、なんどかEnter入力を求められ、rootのパスワードを聞かれます。
とんでもなく早くインストールが済みます。数秒?
MacPortsのインストールの数十分のインストールが信じられないぐらい。
Homebrew自体のインストールのためにgitが必要なようなので、まずはここから。
brew install git
3分ぐらいでしょうか。しかもsudoが要らなくなっている。
そしてbrew本体のアップデートです。
brew update
30秒もしないで終了。これも速い。今後は、このコマンドでアップデートするらしいです。
というわけで必要な物を少しずつインストールしていきます。
参考にしたのは、
HomebrewをインストールしてMacPortsをアンインストールする
HomebrewでPHP5.3.6をインストールする
HomebrewでPostgresqlをインストール
以上のエントリ。
phpとmysqlとpgsqlとapacheとintlをインストール
Install PHP 5.3 with Homebrew on 10.6 Snow Leopard
HomebrewでApache2.2+MySQL5.1+PHP5.3環境を構築
を見つつ、Formuraを所定の位置に置く。
$ curl -O https://raw.github.com/ampt/homebrew/php/Library/Formula/php.rb $ mv php.rb `brew --prefix`/Library/Formula
どんなインストールオプションがあるのか確認
$ brew options php --with-mysql Include MySQL support --with-pgsql Include PostgreSQL support --with-mssql Include MSSQL-DB support --with-fpm Enable building of the fpm SAPI executable --with-apache Build shared Apache 2.0 Handler module --with-intl Include intl extension --with-readline Include readline extension
ということで、自分は以下のオプションでインストール。
$ brew install php --with-mysql --with-pgsql --with-apache --with-intl --with-readline
さすがにこれは30分ぐらいかかりましたw
最後に、今インストールされたPHPに向き先を変えるために以下を実施
$ echo 'export PATH='`brew --prefix php`'/bin:$PATH' >> .bashrc
$ php -version PHP 5.3.10 (cli) (built: Mar 18 2012 15:39:12) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
これでphpのインストールは完了。
MySQL5.5の確認
HomebrewでMySQL 5.5.10をインストール
以上を参考に。
先程、すでにMySQL5.5のインストールは終了しているのでデータベースを作成。
$ unset TMPDIR $ sudo mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
以下で起動確認して、データベースの内容を確認します。
$ mysql.server start $ mysql -u root mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.00 sec)
これでOK。
なお、MySQLの起動、終了、再起動のコマンドは以下のとおり。
$ mysql.server start $ mysql.server stop $ mysql.server restart
次はセキュリティ設定。
$ sudo /usr/local/Cellar/mysql/5.5.20/bin/mysql_secure_installation
以上でパスワードなどを設定。
またmy.cnfの設定は/etc/my.cnfを作成、または引き継いで管理
[mysqld]
character-set-server = utf8
init-connect='SET NAMES utf8'
Apache2.2の設定を変更
そのまま入っているApache2.2が使われているようなので、その設定を変更。
開発用なので実行ユーザーを自分にして、バーチャルホストを使ってhtdocsをDropbox内に変更。まずは、バーチャルホストの設定を読み込むようにしたり、PHPを読み込めるように変更。
$ sudo vim /private/etc/apache2/httpd.conf
User soichiro
Group everyone
# Virtual hosts
Include /private/etc/apache2/extra/httpd-vhosts.conf
PHPを起動し、.phpのindexが見れるようにしておく。
#DirectoryIndex index.html
DirectoryIndex index.html index.php
#LoadModule php5_module libexec/apache2/libphp5.so
LoadModule php5_module /usr/local/Cellar/php/5.3.10/libexec/apache2/libphp5.so
バーチャルホストの設定を作成。
$ sudo vim /private/etc/apache2/extra/httpd-vhosts.conf
ServerName dev.localhost
DocumentRoot "/Users/soichiro/Dropbox/Dev/htdocs"
DirectoryIndex index.php index.html
AllowOverride All
Allow from All
ErrorLog "/private/var/log/apache2/dev.localhost-error_log"
CustomLog "/private/var/log/apache2/dev.localhost-access_log" common
を追記。
バーチャルホストにしたホスト名を/etc/hostsに登録。
$ sudo vim /etc/hosts
以上を追記。ブラウザなどは再起動しないと適用されないので注意が必要。
あとは、Apacheの停止、起動、再起動は、
$ sudo apachectl stop $ sudo apachectl start $ sudo apachectl restart
でできるようになる。
これで、ブラウザで
にアクセスすれば開発中のものを閲覧することができます。
というわけで、これでHomebrewによるMAMPの構築法でした。
Homebrewのコマンドは、
MacPortsより使いやすい!?パッケージ管理システムHomebrewの使い方
がよくまとまっていました。
日頃から
$ brew update
で本体をアップデートしたり、
$ brew outdated
このコマンドで、新しいバージョンの出たものを確認したりしていきたいですね。
なお、以下、MAMPのメンテナンスコマンドです。メンテナンスにお役立て下さい。
MAMPのメンテナンス用のコマンド
MySQLの起動コマンド
$ mysql.server start $ mysql.server stop $ mysql.server restart
Apacheの起動コマンド
$ sudo apachectl stop $ sudo apachectl start $ sudo apachectl restart
httpd.confの更新
$ sudo mvim /private/etc/apache2/httpd.conf
php.iniの更新
$ sudo mvim /usr/local/etc/php.ini
my.cnfの更新
$ sudo mvim /etc/my.cnf
ちなみにMacPortsでのMAMPの構築法は、自分の書いた
MacOSX 10.7.3 LionにPHP開発環境を整える
を参考下さい。
お疲れ様でした。