aquadrops *

MacPortsでMAMP環境を整える(1) とりあえずMySQLとPHPを動かすとこまで。


MacPortsでMAMP環境を整える(1) とりあえずMySQLとPHPを動かすとこまで。

以前はMAMPを使っていたのですが、Twitter系ツールでPARTITIONを使う必要が出てきました。(今まではテーブルを分割とか非効率な事をしてました。。)

MAMP上のMySQL 5.0では使えないので、MAMPを捨てて、5.1を入れる事に。

MacPortsを使ってインストール。とりあえずApache+MySQL+PHPの環境を作ってみたので、そのメモを。

事前準備

MacPortsはソフトウェアをコンパイルしてインストールするので、コンパイラをインストール。Xcode Toolsに含まれているので、入れておきます。OSのインストールディスクについているので、それを使用。

MacPortsが入っていなければインストールします。ここから最新版(2009/1/18現在だと1.7.0)をインストール。dmg落っことして展開してインストール。

僕の環境(MacBook+Leopard)の場合、.bash_profileに

. ~/.profile

を追加する事でパスの問題はクリアしました。(portsでインストールしたバイナリを優先的に参照する)

portsの使い方はここを参考にするといいかも。

既存のパッケージをアップデート

パッケージリストをアップデートして、パッケージ自体をアップデート。

$ sudo port -d sync

$ sudo port upgrade outdated

ちょっと時間がかかります。

MySQL 5.1をインストール

develで入れないとな感じ。mysql5をdeactiveしてインストール。

$ sudo port deactivate mysql5

$ sudo port install mysql5-devel +server

Mac起動時にMySQLを起動するようにする。

$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5-devel.plist

初期設定スクリプトを実行

$ sudo -u mysql mysql_install_db5

MySQLを起動

$ sudo /opt/local/lib/mysql5/bin/mysqld_safe &

rootユーザーのパスワードを設定

$ /opt/local/lib/mysql5/bin/mysqladmin -u root password password

PHP+Apache2をインストール

$ sudo port install php5 +apache2 +curl +gd +imap +pear +mysql5
Mac起動時にApache2を起動させる。
$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist

Apache2の設定ファイルにPHPの設定を記述

/opt/local/apache2/conf/httpd.confに追記。

Include conf/extra/httpd-php5.conf

/opt/local/apache2/conf/extra/httpd-php5.conf を作成。

LoadModule php5_module modules/libphp5.so
AddHandler php5-script .php
AddType text/html .php
DirectoryIndex index.php

Apache2を起動させてみる。
$ sudo /opt/local/apache2/bin/apachectl start
試しにhtdocs配下でphpinfoを実行してみました。
20090118_01
動きました。

configureを眺めてみるとPDOまで入っています。MAMPのときは手動で入れていたので、随分楽ですね。

MySQLと繋いでみる

いきなりPDOで繋いじゃいます。(passwordは指定した物に読み替える事)

<?php

$dbh = new PDO(‘mysql:host=127.0.0.1;dbname=mysql’, ‘root’, ‘password‘);

$stmt = $dbh->prepare(“SELECT User FROM user”);
$stmt -> execute();
print_r( $stmt->fetchAll());

?>

実行してみました。

20090118_02

接続できました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です