FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Windows+VMWareでLAMP環境を作る【その3】

VMWare Player に CentOS をインストールし、LAMP環境を作るまでの一連の手順について、ここにメモしておく。

私が試した環境
ホストOS:Windows 7 又は XP
VMWare Player:Version 3.1.4
ゲストOS:CentOS 5.6
PHP:Version 5.3.3
MySQL:Version 5.0.7
phpMyAdmin:Version 3.4.2


●まずは apache へのアクセス確認

CentOSインストール直後のWizard画面で、httpのチェックをONにしていれば、既にポートが空いているはず。
もしそうでなければ、ファイアウォール設定を変更してポート80をあける。
vi で /etc/sysconfig/iptables を編集すればポートを空けることができる。

自動的にapacheが起動する設定になっていないハズなので、以下のコマンドでapacheを起動する。
service httpd start

(ちなみに、apacheのHTMLファイル群は /var/www/html ディレクトリに置くことになる)

CentOS側で ifconfig コマンドを実行して、ゲストOS側のIPアドレスを確認しておく。
そのIPアドレスで、Windows側のブラウザからアクセスしてみる。
例えば http://192.168.217.129/
これで、apacheのデフォルト画面が表示されればOK。



●PHPのインスコ

デフォルトで入っている PHP は、バージョンがやや古いようである。
phpMyAdminを使いたいのだが、それには、PHP5.3以上が必要だ。

そこでまずは、今入っているPHPをアンインストールする。
アンインストールはこのコマンド。
# yum remove php php-*
(参考:http://monochrome-ash.myvnc.com/archives/77)


その後で、PHP5.3をインストールする。

yum -y install php53
yum -y install php53-mbstring
yum -y install php53-mysql

これだけで apache から php が認識されるようになる。
自動的に「PHP5用Apacheモジュールが /etc/httpd/conf.d/php.conf に作成され」たということか。

ただしapacheの再起動は必要。
#service httpd restart
で、再起動しておく。

ちなみに、apacheの設定ファイル /etc/httpd/conf/httpd.conf ファイル内の Include conf.d/*.conf という記述により、外部ファイル(この場合は php.conf)が別途読み込まれるしくみだ。


ディレクトリ /var/www/html に以下のファイルを作成する。ファイル名は、例えば、phptest.php とする。
<?php
phpinfo();
?>

Windows側からこのファイルにアクセスしてみて、PHPの詳細情報画面が表示されればPHPの設定はとりあえずOK。
例えば http://192.168.217.129/phptest.php にアクセス。





●ついでにphp-gdのインスコ

PHPで画像を処理したい場合は、PHP標準の「GD関数」が便利。
なので、ついでに入れておくことにする。

これだけでインストール完了。
#yum -y install php53-gd

最初調べてみたところ、依存する画像ライブラリ等を、順番を間違えずにコンパイルして
インストールしていかなければならない、という情報を見つけてビビっていたのだが、
少なくとも PHP 5.3 では yum コマンドだけで簡単にインストールできてしまった。



●ついでにPDOの設定を行う

PHP5.1以降には、デフォルトで PDO というデータベースアクセスの抽象化機能が搭載されている。
ついでに、MySQL用に、この機能を有効化しておくことにする。

php.ini に以下の行を追加するだけでOK。
(コメントアウトされているものは、MySQL以外のデータベース用のエクステンションなので、
参考のために書いておいた)

extension=pdo.so
extension=pdo_mysql.so
; extension=pdo_pgsql.so
; extension=pdo_sqlite.so
; extension=pdo_firebird.so
; extension=pdo_dblib.so
; extension=pdo_oci.so

と思ったのだが、この設定を行うと
PHP Warning: Module 'PDO' already loaded in Unknown on line 0
PHP Warning: Module 'pdo_mysql' already loaded in Unknown on line 0
などといった警告が出るようになってしまった。
どうやらPDOはデフォルトで組み込まれているようなので、この設定は不要だ。


●ついでにPHPのメール送信の設定を行う

これまでの手順でインストール&設定を行うと、CentOSのsendmailが有効になっており、PHPからsendmail経由でメール送信が可能な状態になっている。

若干、変えておいた方が良さそうな個所があるので、変更しておくことにする。

php.ini の以下の行を変更する。

変更前:mail.add_x_header = On
変更後:mail.add_x_header = Off

これをしておかないと、送信メールのヘッダに、phpスクリプトファイル名が載ってしまうので、
セキュリティ的にどうかなあ、と思うので、Offにしておく。

ただし実際に送信テストなどを行う場合は、PHPの設定だけでなく、sendmailの設定ファイル等を若干変更して、
適切な送信サーバーのドメイン名などを設定しておくべきである。


●ついでにPHPのタイムゾーンの設定を行う

php.ini の以下の行を変更する。
変更前:;date.timezone =
変更後:date.timezone = "Asia/Tokyo"

これをしておかないと、strtotime() 関数等を呼んだ時に警告が発生する。


●ついでにPHPの文字コードをUTF-8にしておく

php.ini を以下のように変更する。
mbstring.http_input = UTF-8
mbstring.encoding_translation = On
mbstring.internal_encoding = UTF-8
mbstring.substitute_character = "?"
default_charset = UTF-8
スポンサーサイト
コメント
コメントの投稿
管理者にだけ表示を許可する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。