Apache2環境でPHP5をインストールしたときのメモ。
pkgtools.confの編集
portupgradeやportinstallの際に自動でインストールオプションを追加できるように「pkgtools.conf」にあらかじめ記載をしておく。
pkgtools.confのある場所
/usr/local/etc/pkgtools.conf
追加する内容
'lang/php5' => 'WITH_APACHE=yes',
'lang/php5-extensions' => 'WITH_GD=yes WITH_MBSTRING=yes WITH_MYSQL=yes',
#vi /usr/local/etc/pkgtools.conf⏎ ←viでpkgtools.confを開く
MAKE_ARGS = { ←この中に以下を追加する。
'lang/php5' => 'WITH_APACHE=yes',
'lang/php5-extensions' => 'WITH_GD=yes WITH_MBSTRING=yes WITH_MYSQL=yes; WITH_PGSQL=yes', ←保存して閉じる
}
- WITH_APACHE=yes
- PHPをApacheで利用できるようにする。
- WITH_GD=yes
- PHPでGDを利用できるようにする。
(PHPで画像処理ができるようになる。)- WITH_MBSTRING=yes
- PHPでMBSTRINGを利用できるようにする。
(PHPで日本語などのマルチバイト文字に対応ができるようになる。)- WITH_MYSQL=yes
- PHPでMYSQLが利用できるようにする。
事前にMYSQLをインストールしていることが前提。- WITH_PGSQL=yes
- PHPでPostgreSQLを利用できるようにする。
事前にPostgreSQLをインストールしていることが前提。
PHP5のインストール
今回はPHP5.5をインストールした。
ただし、後でlibphp5.soがインストールされずにはまることになった。
#/usr/ports/lang/php5.5⏎ ←PHP5.5のインストーラーが保存されている場所へ移動
#make BATCH=yes WITH_APACHE=yes WITHOUT_IPV6=yes install clean⏎ ←PHP5.5をインストール
WITH_~オプションはインストール時も指定すること。
php5-extensionsのインストール
PHPの拡張モジュールをインストールする。
#cd /usr/ports/lang/php55-extensions⏎ ←php5-extensionsのインストーラーが保存されている場所へ移動
#make BATCH=yes WITH_GD=yes WITH_MBSTRING=yes WITH_MYSQL=yes WITH_PGSQL=yes install clean⏎ ←php5-extensionsのインストール
今回はテスト用のサーバのためMYSQLとPostgreSQLをインストールしている。
libphp5.soを追加する
amd64環境の場合、「WITH_APACHE」でPHP5をインストールしても、libphp5.soがインストールされない場合がある。
その場合は、次の方法でインストールする。
#cd /usr/ports/www/mod_php55⏎ ←インストーラーの保存されている場所へ移動
#make config⏎ ←AP2FILTERにチェックを入れる
#make install clean⏎ ←モジュールのインストール
「make config」は忘れないようにする。
http.confを編集する
http.confを編集してApacheでphpを利用できるようにする。
#vi /usr/local/etc/apache22/httpd.conf⏎ ←viでhttpd.confを開くDirectoryIndex index.html index.htm index.cgi
↓以下を追加(index.php)
DirectoryIndex index.html index.htm index.cgi index.php ←http://~/を開いたときにindex.phpも開くようにする
<IfModule mime_module>
↓以下を追加後保存して閉じる
AddType application/x-httpd-php .php ←phpを利用できるようにする
</IfModule>
php.iniを設定する
「php.ini」を編集して、環境を変更する。
cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini ←php.ini-productionをコピーして利用
chmod 640 /usr/local/etc/php.ini ←権限変更
#vi /usr/local/etc/php.ini⏎ ←viでphp.iniを開くshort_open_tag = Off
↓
short_open_tag = On ←PHPのタグを<?~?>で記載可能にする設定に変更
expose_php = On
↓
expose_php = Off ←telnetなどでアクセスした場合にphpのバージョンを隠す設定に変更
max_execution_time = 30
↓
max_execution_time = 300 ←スクリプトの実行時間を300ミリ秒に変更
;default_charset = "iso-8859-1"
↓
default_charset = "UTF-8" ←デフォルトの文字エンコードをUTF-8に変更
upload_max_filesize = 2M
↓
upload_max_filesize = 100M ←最大アップロードサイズを100Mに変更
;date.timezone =
↓
date.timezone = Asia/Tokyo ←タイムゾーンをアジア/東京に変更
;mbstring.language = Japanese
↓
mbstring.language = Japanese ←ディフォルトの言語を日本語に変更
;mbstring.internal_encoding = EUC-JP
↓
mbstring.internal_encoding = UTF-8 ←内部文字のディフォルトのエンコードをUTF-8に変更
;mbstring.http_input = auto
↓
mbstring.http_input = UTF-8 ←HTTP入力文字エンコードをUTF-8に変更
;mbstring.http_output = SJIS
↓
mbstring.http_output = pass ←HTTP出力文字エンコードをHTTPレスポンスは変換しない設定に変更
;mbstring.encoding_translation = Off
↓
mbstring.encoding_translation = On ←内部文字エンコードを有効にする
;mbstring.detect_order = auto
↓
mbstring.detect_order = auto ←文字コードを自動で検出する設定に変更
;mbstring.substitute_character = none;
↓
mbstring.substitute_character = none; ←無効な文字は表示しない設定に変更
内容の詳細はphp.netのマニュアルが詳しい。
Apacheを再起動
Apacheを再起動して設定を有効にする。
# /usr/local/etc/rc.d/apache22 restart⏎
phpinfo();でPHPの環境情報を表示する(PHPが利用できるようになったかの確認)
phpinfo();を利用して設定したPHPの環境が設定できてるか確認すると同時に、PHPが利用できるようになったのか確認する。
#echo "<?php phpinfo(); ?>" > /usr/local/www/apache22/data/info.php⏎ ←info.phpというファイルを作成し、その中にphpinf();関数を記載して保存する
変更後に以下のページにアクセスし、動作確認をする。
「http://ドメイン名/info.php」
0 件のコメント :
コメントを投稿
ご質問などあればこちらへどうぞ