phpMyAdmin を ports からインストールしてみる
作業前に、すでに Apache と MySQL Server、MySQL Client をインストール済みだったが、ports から phpMyAdmin をインストールする場合、依存関係にあるプログラムをインストールしてくれる。
# whereis phpmyadmin phpmyadmin: /usr/ports/databases/phpmyadmin # cd /usr/ports/databases/phpmyadmin # make fetch-recursive # make install clean # ls -l ls -l /usr/local/www/phpMyAdmin/ total 1394 -r--r--r-- 1 root wheel 169 Jan 20 18:52 CREDITS -r--r--r-- 1 root wheel 14374 Jan 20 18:52 ChangeLog -r--r--r-- 1 root wheel 235897 Jan 20 18:52 Documentation.html -r--r--r-- 1 root wheel 167660 Jan 20 18:52 Documentation.txt -r--r--r-- 1 root wheel 179 Jan 20 18:52 INSTALL -r--r--r-- 1 root wheel 18011 Jan 20 18:52 LICENSE -r--r--r-- 1 root wheel 2608 Jan 20 18:52 README ...
Apache から PHP を実行できるようにする
/usr/local/etc/apache22/httpd.conf に下記の一行がない場合は、
LoadModule php5_module libexec/apache/libphp5.so
次の一行を含めて、Apache 用の設定ファイルを作成する。
# vi /usr/local/etc/apache22/Includes/httpd-php.conf
LoadModule php5_module libexec/apache/libphp5.so
AddType application/x-httpd-php .php
その他にも、httpd.conf を更新する。
# vi /usr/local/etc/apache22/httpd.conf <IfModule dir_module> DirectoryIndex index.php index.cgi index.html </IfModule> <Directory "/usr/local/www/apache22/data"> # Indexes が無効化されていない場合は、 # 下記のようにして無効化する Options -Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory>
php.ini を作成する
# cp /usr/local/etc/php.ini-recommended /usr/local/etc/php.ini
設定ファイルの構文を確認後、Apache を再起動する。Apache が正常に起動したら、下記のファイルを実行する。
# apachectl configtest Syntax OK # apachectl -k graceful # vi /usr/local/www/apache22/data/info.php <?php phpinfo(); ?>
ブラウザにアクセスを http://localhost/info.php して、正常に PHP の設定情報が表示されたら、とりあえず完了。
(php.ini の設定ファイルの内容を再確認することは忘れずに行う)
Apache の DocumentRoot 下に phpMyAdmin のディレクトリへシンボリックリンクを作成する
# ln -s /usr/local/www/phpmyadmin /usr/local/www/apache22/data/phpmyadmin
/usr/local/www/apache22/data/phpmyadmin の phpmyadmin は、他人に推測が難しい名称にすると、第三者がアクセスするのが難しくなるため、セキュリティの向上にも役立つ。
例: /usr/local/www/apache22/data/09kamO-2k_Z
phpMyAdmin の設定をする
http://localhost/phpmyadmin/setup/ にアクセスすると config.inc.php を自動生成するための方法が http://localhost/phpmyadmin/Documentation.html#setup_script 書かれている。
注: 以前の phpMyAdmin の設定ファイルのテンプレートが保存されていたが、現バージョン 3.5.2 では空(説明などが書かれてはいる)となっている。テンプレートは、$PHPMYADMIN/libralies/config.default.php がこれにあたる。これを利用したい場合は、
# cp /usr/local/www/phpMyAdmin/libraries/config.default.php /usr/local/www/phpMyAdmin/
とコピーをして利用する。
設定ファイルを phpmyadmin で生成する場合は、下記の作業が必要。
# cd /usr/local/www/phpMyAdmin # mkdir config # chmod o+rw config
として、http://localhost/phpmyadmin/setup/でデータベースのユーザー ID やパスワードなどを設定する。
設定完了後に、
# mv config/config.inc.php ./ # chmod o-r config.inc.php # rm -rf config
phpMyAdmin のドキュメントでは、chmod o-rw config.inc.php となっているが、この権限設定では、phpMyAdmin が設定ファイル config.inc.php を読み込めない場合がある。なので、最初は、chmod o-rw config.inc.php で設定をして実行してみる。phpMyadmin が設定ファイルを読み込めなかった場合は、chmod o-r config.inc.php で試してみる。
あと、phpMyAdmin の設定をする際に、強制的に https 接続にするかどうか設定する項目があるので、セキュリティ向上のため、SSL 接続(オレオレSSLでも可)で接続するようにする。