MacOSX 10.4にMySQL5,Apache2,PHP5をインストール(MacPortsを使用)


MacOSX10.4に最初から入っているのは、Apache1.xやPHP4.xと古い。(MySQLは入っていなかったはず)

そこで、MacPortsで、MacOSX10.4に、MySQL5、Apache2、PHP5を入れ、動かす方法をいろいろネットや本で調べてまとめてみた。
間違っている部分をご指摘いただければありがたい。

MacPortsのインストール方法や使い方は、こちらを参考にした。
http://d.hatena.ne.jp/hakobe932/20061208/1165646618

ソフト自体のインストールはこちらを参考にした。
http://einekatze.jp/mt/archives/2006/08/mac_prodarwinports.html



■/etc/profileの設定
# System-wide .profile for sh(1)
PATH="/bin:/sbin:/usr/bin:/usr/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/lib/pgsql8/bin:/opt/local/lib/mysql5/bin"
export PATH

if [ "${BASH-no}" != "no" ]; then
[ -r /etc/bashrc ] && . /etc/bashrc
fi


■〜/.bashrcの設定
alias vi=vim
alias ls='ls -alFGv'


■〜/.bash_profileの設定
export MANPATH=/opt/local/man:$MANPATH
source .bashrc 


■MySQLのインストール
sudo port install mysql5 +server
※結構時間がかかる。

http://d.hatena.ne.jp/t-imaizumi/20060729
を参考にMacPortsを使用したMySQLインストール後の設定をまとめてみた。


sudo /opt/local/bin/mysql_install_db5 --user=mysql
で、必要なデータベースを作成。

sudo chown -R mysql /opt/local/var/db/mysql5/
sudo chgrp -R mysql /opt/local/var/db/mysql5/


さて、ここで
sudo /opt/local/bin/mysqld_safe5 --user=mysql &

として、MySQLクライアントを起動しようとするが、
エラーが表示され起動できない。

原因は、
/opt/local/var/run/mysql5/mysqld.sock
にアクセスできないから。

そもそも
/opt/local/var/run/mysql5/
が存在していない様子。

mkdir: /opt/local/var/run/mysql5: Permission denied
chown: /opt/local/var/run/mysql5: No such file or directory

sudo mkdir /opt/local/var/run/mysql5
※とにかくこのディレクトリを作る。

sudo chown mysql:mysql /opt/local/var/run/mysql5/
※続いてこのディレクトリのオーナーとグループををmysqlに変更。

chmod 775 /opt/local/var/run/mysql5
※さらに、パーミッションも変更。

これで、
sudo /opt/local/bin/mysqld_safe5 --user=mysql &
により、mysqlユーザーでMySQLサーバーを起動できるはず。

ちなみに、
sudo /opt/local/bin/mysqladmin5 -uroot -p shutdown
で、MySQLサーバーを停止できる。

/opt/local/lib/mysql5/bin/mysqladmin -u root password 'new-password'
/opt/local/lib/mysql5/bin/mysqladmin -u root -h seiji.local password 'new-password'
※MySQLクライアントのパスワードを設定。


mysql -u root -p
password:
※rootユーザーでMySQLクライアントを起動。


Mac起動時にMySQLも起動するには、
sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist

※ちなみに、起動しないようにするには、loadをunloadにする。


/etc/my.cnf(このファイルの位置がここでいいのかはよくわかりませんが...)
に以下を設定。
※文字コードをUTF-8に統一した場合。

[mysqld]
default-character-set=utf8
socket=/opt/local/var/run/mysql5/mysqld.sock

[mysql]
default-character-set=utf8

[mysqldump]
default-character-set=utf8

[client]
socket=/opt/local/var/run/mysql5/mysqld.sock



■Apacheのインストール
sudo port install apache2
Apacheの起動設定
sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist



■PHP5のインストール
sudo port install php5 +apache2 +curl +gd +mysql5 +imap +pear

※最後にエラーが出る場合は、/opt/local/lib/php5を削除して再度やり直すと成功するかも。

PHPの起動設定
cd /opt/local/apache2/modules
sudo /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so
sudo cp /opt/local/etc/php.ini-dist /opt/local/etc/php.ini
sudo cp /opt/local/etc/php5/pear.conf.sample /opt/local/etc/php5/pear.conf

/opt/local/etc/php.ini
の設定

「即解 PHP5 スクリプティング入門」(鶴田展之、繁田卓二著) 65P より

UTF-8で統一した場合
[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = UTF-8
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none;
mbstring.func_overload = 1

/opt/local/apache2/conf/httpd.confの編集。

<IfModule mime_module>
の最後の方に、
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
を追加。

/opt/local/apache2/bin/apachectl start
でApacheを起動。




[MacPortsの使い方]

MacPortsのダウンロード
http://svn.macosforge.org/repository/macports/downloads/


MacPortsのアップデート

MacPorts自身を最新の状態にアップデートした後、インストールできるソフトウェア一覧を更新する。それぞれ、以下のコマンドを実行すれば良い。

$ sudo port -d selfupdate
$ sudo port -d sync


■MacPortsの使い方

アップデートの時少し触れたようにMacPortsを操作するにはportコマンドを利用する。このコマンドはたいがい/opt/local以下を変更するので、sudoと組み合わせて利用することが多い。

以下、うちがよく使う操作を並べてみた。もっとステキな機能があるのかもしれないので、気になる人はman portをチェックしてみて。あと、portに-dオプションをつけて実行すると、コンパイルの詳細な出力が見れるので、コンパイル風景を眺めるのが好きな人はやると良さそう。

ともあれ、以下のコマンドで自分の好きなツールをいろいろいれれるのでお試しアレ。

ソフトウェア一覧の更新
初期設定時にも行ったsyncアクション。これをしないとソフトウェア一覧が古いままなので定期的にやるべし。
$ sudo port sync


ソフトウェアの検索

自分の利用したいソフトウェアがMacPortsで使えるのかを調べるのには、searchアクションを使う。zshで検索すると、

$ port search zsh
zsh              shells/zsh   4.2.6    Zsh is a UNIX command interpreter (shell)
zsh-devel           shells/zsh-devel 4.3.2    Zsh is a UNIX command interpreter (shell)
てな感じに、普通のzshとzsh-develという開発版があるということがわかる。


ソフトウェアのインストール
文字通り、installアクションを使う。
$ sudo port install zsh-devel

実行すると、依存関係の解決、ソースコードのダウンロード、コンパイル、インストールが自動で行われる。

variantsの表示

MacPortsにはvariantsという仕組みがあって、ソフトウェアをインストールする際に追加機能を選択することができるようになっている。どんなvariantsがあるのかは次のように調べられる。

$ port variants zsh-devel
zsh-devel has the variants:
    darwin_8
    dp_completion
    utf8

zsh-develには、darwin_8、dp_completion、utf8という3つのvariantsがあることがわかる。
これらを指定することで、機能を有効にした状態でソフトウェアがビルドされる。指定するには以下のように、

$ sudo port install zsh-devel +dp_completion +utf8
のように+を付けて指定する。ちなみに、darwin_8とかのMac OS X専用オプションは自動で付加されるので指定しなくても良い。

あと、varinantsを変えて同じソフトウェアをインストールすると、別物あつかいになって、もとからあるやつと衝突するので注意。先にアンインストールするか、deactivateしておく。

ソフトウェアのアップグレード
$ sudo port upgrade zsh-devel


ソフトウェアのアンインストール
$ sudo port uninstall zsh-devel

ソフトウェアのdeactivateとactivate

MacPortsには、deactivateといってソフトウェアを完全に削除せずに一時的に無効にする機能がある。異なるvariantsを指定したあるソフトの複数のバイナリを切り替えてためしたいときなどに便利。

$ sudo port deactivate zsh-devel


逆はactivate
$ sudo port activate zsh-devel


インストール済みソフトウェアの表示
$ port installed


インストール済みソフトウェアをすべてアップグレードしたいときはupgradeと組み合わせて、
$ sudo port upgrade installed
とすれば良い

アップグレード可能なソフトウェアの表示
$ port outdated



============================
2007/6/22 Written by なか