最終更新: 2008-02-20 (水) 23:17:31
このページをDeliciousに追加 このページをはてなブックマークに追加 このページをlivedoor クリップに追加 このページをYahoo!ブックマークに追加

PHP 5.2 のテスト環境の構築

目次

クローンの作成

テンプレートの選択

メニューの File → Open... を実行し、 Debian 4.0 のテンプレート を選択。

クローンの作成

メニューの VM → Clone... を実行し、以下のような設定でクローンを作成。

Clone source
From snapshot: template
Clone method
Create a full clone
Virtual machine name
Debian 4.0 (PHP 5.2)
Location
V:\VMware\Debian 4.0 (PHP 5.2)

クローンの設定変更

メニューの VM → Settings... を実行し、 ハードウェア構成の以下の部分を変更。

DeviceSummary
Hard Disk 2Independent-nonpersistent

環境設定

ネットワークの設定

/etc/network/interfaces の eth0 の設定を以下のように変更。

allow-hotplug eth0
iface eth0 inet static
address 192.168.0.138
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1

/etc/hostname を以下のように変更。

php52

/etc/hosts を以下の1行だけに変更。

127.0.0.1	localhost

/etc/resolv.conf を以下のように変更。

domain local
nameserver 192.168.0.2

DNS サーバに以下の IP アドレスとホスト名を登録。

IP アドレス
192.168.0.138
ホスト名
php52.local, php52

設定を有効にする *1

# /etc/init.d/networking restart
# ifup eth0
# hostname php52

APT の設定

/etc/apt/sources.list に以下の設定を追加。

deb http://packages.dotdeb.org/ etch all

パッケージのアップデート

以下のコマンドを実行。

# aptitude update
# aptitude upgrade

SSH のインストール

SSH のパッケージをインストール。

# aptitude install ssh

/etc/ssh/sshd_config の設定を以下のように変更。

PermitRootLogin no

NFS クライアントの設定

NFS クライアント用のパッケージをインストール。

# aptitude install nfs-common

/etc/network/if-up.d/mountnfs にバグがあるので、最新版のファイルに差し替え *2

# cd /dev/shm
# wget http://ftp.jp.debian.org/debian/pool/main/s/sysvinit/initscripts_2.86.ds1-38.1_i386.deb
# dpkg -x initscripts_2.86.ds1-38.1_i386.deb .
# cp -p etc/network/if-up.d/mountnfs /etc/network/if-up.d/mountnfs

/etc/fstab に以下の設定を追加。

nas:/home       /home           nfs     defaults        0       0

Apache2 のインストール

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

以下のパッケージをインストール。

# aptitude install apache2-mpm-prefork

Apache2 の設定

/etc/apache2/apache2.conf の prefork MPM の設定を以下のように変更。

<IfModule mpm_prefork_module>
    StartServers          1
    MinSpareServers       1
    MaxSpareServers       4
    MaxClients           20
    MaxRequestsPerChild   0
</IfModule>

/etc/apache2/sites-available/local を以下の内容で作成。

NameVirtualHost *
<VirtualHost *>
	ServerAdmin webmaster@localhost

	DocumentRoot /home/www/
	<Directory />
		Options FollowSymLinks
		AllowOverride None
		Order Deny,Allow
		Deny from all
		Allow from 127.0.0.1
		Allow from 192.168.0.0/24
	</Directory>
	<Directory /home/www/>
		Options Indexes FollowSymLinks
		AllowOverride AuthConfig FileInfo Limit Options
	</Directory>

	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	<Directory "/usr/lib/cgi-bin">
		AllowOverride None
		Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
	</Directory>

	ErrorLog /var/log/apache2/error.log
	LogLevel warn

	CustomLog /var/log/apache2/access.log combined
	ServerSignature On

</VirtualHost>

設定を有効にする。

# a2dissite default
# a2ensite local

mod_rewrite モジュールを有効にする。

# a2enmod rewrite

/etc/apache2/mods-available/userdir.conf の AllowOverride の設定を以下のように変更。

AllowOverride FileInfo AuthConfig Limit Options

PHP 5.2 のインストール

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

PHP 5.2 用の以下のパッケージをインストール *3

# aptitude install libapache2-mod-php5
# aptitude install php5
# aptitude install php5-gd
# aptitude install php5-mysql
# aptitude install php-pear

後で拡張モジュールをビルドできるように、開発環境もインストール *4

# aptitude install php5-dev
# aptitude install g++

php.ini の設定

/etc/php5/conf.d/php.ini を以下の内容で作成。

expose_php = Off
error_reporting = E_ALL
magic_quotes_gpc = Off
default_charset = UTF-8
date.timezone = Asia/Tokyo
session.use_only_cookies = 1
session.cookie_httponly = 1
session.entropy_length = 16
session.entropy_file = /dev/urandom
session.hash_function = 1
session.hash_bits_per_character = 5
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.substitute_character = none

VMware Tools のインストール

モジュールのコンパイルに必要なパッケージをインストール。

# aptitude install gcc
# aptitude install make
# aptitude install psmisc
# aptitude install linux-headers-$(uname -r)

メニューの VM → Install VMware Tools... を実行し、 以下のコマンドを実行。

# mount /cdrom
# cd /dev/shm
# tar xvfz /cdrom/VMwareTools-5.5.5-56455.tar.gz
# umount /cdrom

VMware Tools のインストーラを起動。

# cd vmware-tools-distrib
# ./vmware-install.pl

インストール時の質問には、以下の質問を除き、デフォルトで答える。

None of the pre-built vmhgfs modules for VMware Tools is suitable for your
running kernel.  Do you want this program to try to build the vmhgfs module for
your system (you need to have a C compiler installed on your system)? [yes] no

以下のコマンドを実行し、ネットワークを再起動。

# /etc/init.d/networking stop
# depmod -a
# modprobe vmxnet
# /etc/init.d/networking start

シャットダウン時に vmxnet を停止するタイミングが早すぎるのを修正。

# rm /etc/rc6.d/K08vmware-tools

その他のパッケージのインストール

以下のパッケージを追加でインストール。

# aptitude install bzip2
# aptitude install lv
# aptitude install patch
# aptitude install sudo
# aptitude install unzip
# aptitude install vim
# aptitude install zip

visudo コマンドを実行し、/etc/sudoers に以下の設定を追加。

revulo  ALL=(ALL) ALL

仮想マシンの設定変更

仮想マシンをシャットダウンし、vmx ファイルの設定を以下のように追加、変更。

ethernet0.virtualDev = "vmxnet"
tools.syncTime = "TRUE"
*1 名前解決ができないままだと、Apache2 のインストール時に文句を言われる。
*2 参考: 起動時のNFSマウントのトラブル
*3 途中で mysql-common の 5.0 が入るが、中身はほぼ同じなので MySQL 4.1 に対してもそのまま使える。
*4 g++ をインストールしないと、configure の段階で C++ preprocessor "/lib/cpp" fails sanity check というエラーが出る。

(Counter:1, Today:1, Yesterday:0)
トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   最終更新のRSS