Windows上のVirtualBoxにPHP5.3の環境を準備する

タイトル的には「Windows上で」とつけたけど、実際Windowsはほとんど関係ない。
内容自体もCentOSを突っ込んでyumでインストールしているだけなのであまり意味が無い。
一応公開しておく

必要なファイルをダウンロードする

Virtual Boxをインストールする

以下から、インストーラをダウンロードする
http://ftp.nara.widh.ad.jp/pub/Linux/centos/6.0/isos/i386/

OSは特に縛りを付けずにCentOSをダウンロードする

netinstall版のisoをダウンロード
http://ftp.nara.widh.ad.jp/pub/Linux/centos/6.0/isos/i386/

適当に設定してインストール

  • VirtualboxをホストとなるWindowsにインストール。
  • 続いてVirtualBox上にゲスト用の環境を準備して、ダウンロードしたCentOSのイメージディスクを読み込んで起動

ここからは通常のOSインストールになるので、道なりに。
途中、どこからデータをダウンロードするかを聞かれるのでFTPを選択し、ディレクトリなどを設定する
例)FTP site: ftp.riken.jp、CentOS directory: /Linux/centos/5/os/i386

VirtualBox 2.2 と CentOS 5.3 でローカル開発環境を参考に

ホストOSからゲストOSへ接続する

  • VirtualBoxのゲストOSの設定から「ネットワーク」→「ポートフォワーディング」を選択
  • 左側の+ボタンを押して、必要なフォワーディングの設定を追加する

例)

名前 プロトコル ホストIP ホスト ポート ゲストIP ゲストポート
httpd tcp 8080 80
sshd tcp 2222 22

以降は、ホストOS側からポートを指定することで、ゲストOSにアクセスできる

PHPApacheをインストールする

SeLinuxを無効にする

$ setenforce 0

$ vi /etc/selinux/config
SELINUX=disabled

Apacheのインストール

$ yum install -y httpd
$ yum install -y httpd-devel

iptableに弾かれたので、HTTPとHTTPSを追加しておく ###

$ /sbin/iptables -I RH-Firewall-1-INPUT 10 -p tcp --dport https -j ACCEPT
$ /sbin/iptables -I RH-Firewall-1-INPUT 10 -p tcp --dport http -j ACCEPT
$ /sbin/iptables -L --line-number
$ /sbin/service iptables save

ホストOS側からアクセスを確認

http://localhost:8080/
※ ポートは、ポートフォワーディングで指定したもの

gccをインストールする

このままだとgccがインストールされていないため、インストールする
$ yum -y install gcc

mysqlをインストール

$ yum -y install mysql mysql-server mysql-devel

PHPコンパイルに必要なパッケージをインストールする

$ yum -y install libxml2-devel
$ yum -y install zlib-devel libpng-devel libjpeg-devel
$ yum install -y freetype freetype-devel

PHP 5.3のインストール

yumで簡単に突っ込みたかったけど、残念ながらsqliteがインストールできなかったので断念。それ以外は問題なく動作した

現行インストールできるバージョンを確認するとPHP 5.1.6
$ yum info php

PHP 5.3をインストールできるレポジトリを追加する
$ rpm -ivh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
$ rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

再度確認するとPHP 5.3.6
$ yum --enablerepo=remi info php

インストール
$ yum install -y --enablerepo=remi php
$ yum install -y --enablerepo=remi php-devel php-comon php-gd php-mbstring php-pdo php-mycrypt php-mysql php-ncurses php-xml

php

$ wget http://jp.php.net/get/php-5.3.6.tar.gz/from/this/mirror
$ tar zxvf php-5.3.6.tar.gz
$ cd php-5.3.6

以下 configure
./configure --enable-cli --enable-ftp --enable-gd-jis-conv --enable-gd-native-ttf --enable-mbstring --enable-soap --enable-sqlite-utf8 --enable-zend-multibyte --with-apxs2=/usr/sbin/apxs --with-freetype-dir=/usr/lib --with-gd --with-gd --with-jpeg-dir=/usr/lib --with-mysql=/usr/bin/mysql --with-mysqli=/usr/bin/mysql_config --with-png-dir=/usr/lib --with-zlib-dir=/usr/lib --without-pgsql

pecl install pdo