Command Line Tools のインストール方法

xcode 4.3 以降は Command Line Tools がインストールされない。
そのため、別途インストールする必要がある。

インストールするには以下の方法がある。

1. Apple Developer サイトから入手する
https://developer.apple.com/downloads/index.action

2. Xcode の [Preferences…]-[Downloads]からインストールする

PHP のデバッグ環境を作成する手順

Mac OS X バージョン 10.7.4 に port を利用して PHP のデバッグ環境を作成した際の手順を記します。
※ eclipse と PDT も別途インストールしておくこと

1. PHP5 をインストールする

php をインストールする(pear を利用したい場合)

1
$ sudo port install php5 +apache2 +pear

php.ini の設定

1
$ sudo cp /opt/local/etc/php5/php.ini-development /opt/local/etc/php5/php.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
;timezone の設定
[Date]
date.timezone = Asia/Tokyo

;mbstring の設定
[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_output = UTF-8

;エクステンションの設定

;930 行目付近 (mac の場合)
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
:
extension=php_mysql.so
:
extension=php_pdo_mysql.so

2. MySQL5 をインストールする

1
$ sudo port install mysql5-server

データベースのセットアップ
上記コマンドのメッセージで以下のコマンドでセットアップするよう指示される

1
2
$ sudo port load mysql5-server
$ sudo -u mysql mysql_install_db5

root パスワードの設定

1
$ sudo /opt/local/lib/mysql5/bin/mysqladmin -u root password 'new-password'

文字コードの設定

1
2
$ sudo cp /opt/local/share/mysql5/mysql/my-medium.cnf /opt/local/etc/mysql5/my.cnf
$ sudo vi /opt/local/etc/mysql5/my.cnf

my.cnf ファイルに以下の設定を追加する

1
2
3
4
5
6
7
8
[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqldump]
default-character-set=utf8

接続確認

1
$ mysql5 -u root -p

3. Apache2 をインストールする

– PATH 設定
環境変数を参照する

1
2
3
$ printenv PATH
 
$ sudo port install apache2

– 設定ファイル
port でインストールした場合
/opt/local/apache2/conf/httpd.conf

– ドキュメントルートの設定

1
2
$ sudo mkdir -p /var/www/(ドキュメントルートにするディレクトリ)
$ sudo chown (ユーザ名) /var/www/(ドキュメントルートにするディレクトリ)

– hosts にドメイン設定
– バーチャルホストの設定
/opt/local/apache2/conf/httpd.conf から、以下のコメントを外す

1
Include conf/extra/httpd-vhosts.conf

/opt/local/apache2/conf/extra/httpd-vhosts.conf に以下の設定を追記する

1
2
3
4
5
6
7
8
9
10
<VirtualHost *:80>
	ServerName (ドメイン名:localhost など)
	DocumentRoot /var/www/(ドキュメント ルート)
	DirectoryIndex index.php index.html
 
	<Directory "/var/www/(ドメイン名)">
		AllowOverride All
		Allow from All
	</Directory>
</VirtualHost>

– php5モジュールの追加設定

1
$ sudo /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so

httpd.conf の LoadModule に以下の設定が追記される

1
LoadModule php5_module        modules/libphp5.so

動作確認

1
$ ps aux | grep apache2

ブラウザから php が動かない場合
/opt/local/apache2/conf/httpd.conf
ディレクディブに以下の設定を追加する

1
AddType application/x-httpd-php .php

4. xDebug をインストールする

以下のコマンドで xdebug に関する記述がない場合、インストールする必要がある

1
$ php -i | grep xdebug

PECL で xDebug をインストールする
(PEAR がインストールされていることとする)

1
$ pecl install xdebug

2012/08時点、xDebug のパッケージがあるみたい?

php.ini に xDebug に関する設定をする

1
$ sudo vi /opt/local/etc/php5/php.ini
1
2
3
4
5
[xDebug]
zend_extension="/opt/local/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"
xdebug.remote_enable = On
xdebug.remote_handler = dbgp
xdebug.remote_host = localhost

上記の作業中に問題となった箇所
– 最初に port で php5 がインストールできなかった
– php5 を variants 指定でインストールできなかった
$ sudo port upgrade ncursesw
$ sudo port install ncurses
他、違うバージョンの PHP をインストールしたりしているうちにインストールできるようになった。^_^;

– eclipse (PDT) でデバッグ時にブレークポイントで処理を中断することができなかった
xDebug がインストールされてなかったので、インストールすることで対処した。
(まぁ当然ですが、知らなかったので気づかなかった (T-T) )

5.phpmyadmin をインストール

インストール

1
$ sudo port install phpmyadmin

config ファイルの設置

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

phpmyadmin へのアクセス
http://localhost/phpmyadmin/ でアクセスさせる場合

1
2
3
4
5
6
7
8
9
10
11
12
13
$ sudo vi /opt/local/apache2/conf/httpd.conf
 
<IfModule alias_module>
...
Alias /phpmyadmin "/opt/local/www/phpmyadmin/"
<Directory /opt/local/www/phpmyadmin>
   Order allow,deny
   Allow from all
</Directory>
...
ScriptAlias /cgi-bin/ "/opt/local/apache2/cgi-bin/"
...
</IfModule>

(注意) ScriptAlias より上に記述すること

その他、便利そうなコマンド

MySQL5 の起動、停止

1
2
3
$ sudo /opt/local/share/mysql5/mysql/mysql.server start
$ sudo /opt/local/share/mysql5/mysql/mysql.server stop
$ sudo /opt/local/bin/mysqladmin5 -u root -p shutdown		(手動停止)

apache2 の起動、停止、再起動

1
2
3
$ sudo /opt/local/apache2/bin/apachectl start
$ sudo /opt/local/apache2/bin/apachectl stop
$ sudo /opt/local/apache2/bin/apachectl restart

apache2, mysql の alias 設定

1
2
3
4
alias apache_start="sudo /opt/local/apache2/bin/apachectl start"
alias apache_stop="sudo /opt/local/apache2/bin/apachectl stop"
alias mysql_start="sudo /opt/local/lib/mysql5/bin/mysqld_safe &"
alias mysql_stop="sudo /opt/local/bin/mysqladmin5 -u root -p shutdown"

設定ファイルの更新
色々便利そうなワンライナーが紹介されていたので、メモしておく。

1
2
3
4
5
6
7
8
9
10
sudo perl -p -i.bk -e 's/;date.timezone =/date.timezone = Asia\/Tokyo/g' /opt/local/etc/php5/php.ini
sudo perl -p -i -e 's/pdo_mysql.default_socket=/pdo_mysql.default_socket = \/opt\/local\/var\/run\/mysql5\/mysqld.sock/g' /opt/local/etc/php5/php.ini
sudo perl -p -i -e 's/mysqli.default_socket =/mysqli.default_socket = \/opt\/local\/var\/run\/mysql5\/mysqld.sock/g' /opt/local/etc/php5/php.ini
 
sudo perl -p -i -e 's/;mbstring.language = Japanese/mbstring.language = Japanese/g' /opt/local/etc/php5/php.ini
sudo perl -p -i -e 's/;mbstring.internal_encoding = EUC-JP/mbstring.internal_encoding = UTF-8/g' /opt/local/etc/php5/php.ini
sudo perl -p -i -e 's/;mbstring.http_input = auto/mbstring.http_input = auto/g' /opt/local/etc/php5/php.ini
sudo perl -p -i -e 's/;mbstring.detect_order = auto/mbstring.detect_order = auto/g' /opt/local/etc/php5/php.ini
 
sudo perl -p -i -e 's/;default_charset = "iso-8859-1"/default_charset = "UTF-8"/g' /opt/local/etc/php5/php.ini

MacPorts コマンド

.bashrc

export PATH=/opt/local/bin:/opt/local/sbin/:$PATH
export MANPATH=/opt/local/man:$MANPATH

port を更新する

$ sudo port selfupdate MacPorts を最新の状態にする
$ sudo port sync ports データベースのみを最新にする
$ sudo port upgrade installed 古くなった全ての ports が更新される

パッケージを調べる

$ port installed インストールされているパッケージを表示する
$ port search (パッケージ名) パッケージを検索する
$ port variants php5 php5 の variants を調べる
(variants ってインストール種別みたいなもの?)

パッケージ有効化、無効化

$ port activate (パッケージ名) パッケージを有効化する
$ port deactivate (パッケージ名) パッケージを無効化する

パッケージのインストール、アンインストール

$ sudo port install (パッケージ名) パッケージをインストールする
$ sudo port uninstall (パッケージ名) パッケージをアンインストールする
$ sudo port clean (パッケージ名) ビルド時の中間ファイルを削除する
$ sudo port clean –all (パッケージ名)

xcode でタグジャンプができない場合の対処

xcode でコーディングしていると何かの拍子にタグジャンプができなくなることがありました。
タグのインデックスを再生成する方法が分からなかったのですが、以下の操作でタグの再生成ができるようです。
(シンタックス カラー表示が正常に行われない場合にも有効みたい)

  1. Organizer を起動する
  2. Projects を選択する
  3. [Derived Data] の [Delete…]ボタンを押下する
  4. プロジェクトをクリーン、ビルドする