Mac OS X Lionにmacportsを再インストールした

ちょっとした事からmacportsを再インストールすることになったので忘備録的に。

まずさくっと削除。

sudo port deactivate active
sudo port -f uninstall installed
sudo port clean all
sudo rm -rf /Library/Tcl/macports1.0
sudo mv /opt/local /opt/local.old

念のためココで再起動。

最新版MacPortsをダウンロード

http://www.macports.org/install.php

箇条書き項目一つ目のLionをクリックしてダウンロード。
ダウンロードが終わったらMacPortsのインストール。何も考えずにガンガン進んだらインストール完了するしお手軽。

MacPortsインストールが終わったら念のためMacPorts自身のアップデート

sudo port selfupdate
sudo port upgrade outdated

Apache入れて

sudo port install apache2

Apache起動

sudo /opt/local/apache2/bin/apachectl start

PHPとPEAR入れて

sudo port install php5 +apache2 +pear

PEAR入れるのはPHPUnitを入れるため。
PHPUnit入れる。

sudo pear channel-discover pear.phpunit.de
sudo pear channel-discover pear.symfony-project.com
sudo pear channel-discover components.ez.no
sudo pear install channel://pear.php.net/Net_URL2-0.3.1
sudo pear install channel://pear.php.net/HTTP_Request2-2.0.0RC1
sudo pear install XML_RPC2
sudo pear install phpunit/PHPUnit

MySQL入れて

sudo port install mysql5-server
sudo port install php5-mysql

MySQL初期化

sudo -u _mysql mysql_install_db5

MySQLを起動

sudo /opt/local/share/mysql5/mysql/mysql.server start

rootパスワード設定

/opt/local/lib/mysql5/bin/mysqladmin -u root password ‘hogehoge’

で自動起動…

sudo port load apache2
sudo port load mysql5-server

なんだけど、それぞれ

org.macports.mysql5: Already loaded
org.macports.apache2: Already loaded

って怒られた。

自動起動は再インストール前のものがいきてる??
再インストールする前にsudo port unloadしとかないといけなかったみたい。
結果オーライなので先に進むことに。

よく使うのでphpmyadminも入れる

sudo port install phpmyadmin

ここからごりごり設定作業
apacheから

まずPHPを使えるように…

sudo /opt/local/apache2/bin/apxs -a -e -n “php5” libphp5.so

を実行して

LoadModule php5_module        modules/libphp5.so

を追加

<IfModule mime_module>
..
</IfModule>

の中に

AddType application/x-httpd-php .php

を追加

DirectoryIndexにindex.phpを追加

#DirectoryIndex index.html
DirectoryIndex index.html index.php

DocumentRootを変更

#DocumentRoot “/opt/local/apache2/htdocs”
DocumentRoot “/Users/ユーザー名/www”

こいつを追加

<Directory “/Users/ユーザー名/www”>
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

ここまでかいて保存してapacheを再起動

sudo /opt/local/apache2/bin/apachectl restart


<?php
phpinfo();
?>

を/Users/ユーザー名/wwwにphpinfo.phpのファイル名で保存して

http://localhost/phpinfo.php

にアクセスしてみる。
無事phpinfoが表示される。地味になんかうれしい。

続いてphpいってみよう
まずはサンプルからphp.iniをコピー

sudo cp /opt/local/etc/php5/php.ini-development /opt/local/etc/php5/php.ini

がんがん編集していこう

sudo vi  /opt/local/etc/php5/php.ini

timezone設定をコメントインして設定

date.timezone = Asia/Tokyo

mbstringの設定をそれぞれコメントイン&編集

mbstring.language = Japanese
mbstring.internal_encoding = UTF-8

mbstring.http_output = UTF-8

MySQL関連もまとめてコメントイン&編集

mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock
mysqli.default_socket = /opt/local/var/run/mysql5/mysqld.sock
pdo_mysql.default_socket=/opt/local/var/run/mysql5/mysqld.sock

次にMySQL

sudo cp /opt/local/share/mysql5/mysql/my-small.cnf /opt/local/etc/mysql5/my.cnf

ここまでやったらあとはphpmyadminの設定
コンフィグファイルをコピー。

cd /opt/local/www/phpmyadmin/
sudo cp config.sample.inc.php config.inc.php

再度apacheの設定ファイルをいじってphpmyadminをhttp://localhost/phpmyadmin/で使えるように設定。

sudo vi /opt/local/apache2/conf/httpd.conf

IfModule alias_moduleの中ScriptAliasより上に

Alias /phpmyadmin “/opt/local/www/phpmyadmin/”

を追加

<Directory “/opt/local/apache2/cgi-bin”>

の前に

<Directory “/opt/local/www/phpmyadmin”>    AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

を追加
保存してapacheを再起動

sudo /opt/local/apache2/bin/apachectl restart

とりあえずいつも使っていた環境はこれでもどってきた。
けっこう面倒くさい。

参考サイト
http://d.hatena.ne.jp/ihiro81/20110809/1312872339
http://blog.milds.net/2011/08/mac-ports.html
http://www.1×1.jp/blog/2011/06/macports_reinstall.html
http://www.karakaram.com/mac/apache-php-mysql-macports/

コメントを残す

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

CAPTCHA