somemo programming etc.

プログラマ、雑記、プログラミング関係はLinkから、数式はこっちでまとめていることが多い

【php】5.2.xのインストール

ローカルの開発環境しかなく、開発サーバでしか開発でない案件に久しぶりに携わることになりましたので、ローカルに環境を作ることにしました。

環境

WindowsXPのVMWare Server2にNAT環境でつないだサーバ(CesntOS5.6)を作成しました。ブリッジでない理由は、会社のIPアドレスを勝手に使うわけにはいかないため、ホストオンリーでない理由は、yumやwgetなどを使いたいからです。

ここに、php5.2.5以上をインストールします。その他の情報は以下の通りです。IP指定しているのに、DHCPだったり良く分からない感じです・・・

#Linux側
cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
HWADDR=xx:xx:xx:xx:xx:xx
IPADDRESS=192.168.31.128
TYPE=ethernet
USERCTL=no
PEERDNS=no

route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.31.0    *               255.255.255.0   U     0      0        0 eth0
169.254.0.0     *               255.255.0.0     U     0      0        0 eth0
default         192.168.31.2    0.0.0.0         UG    0      0        0 eth0

cat /etc/resolv.conf
nameserver 192.168.31.2

cat /proc/version
Linux version 2.6.18-238.el5 (mockbuild@builder10.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Thu Jan 13 16:24:47 EST 2011

uname -a
Linux localhost 2.6.18-238.el5 #1 SMP Thu Jan 13 16:24:47 EST 2011 i686 i686 i386 GNU/Linux

cat /proc/cpuinfo | grep lm
空
#Windows側
IP:192.168.31.1
サブネット:255.255.255.0
ゲートウェイ:192.168.31.2
ローカルエリア接続とネットワークの共有をする
⇒その際に、どちらかのIP等の設定が初期化されるので直しておくこと

route print
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
     192.168.31.0    255.255.255.0     192.168.31.1    192.168.31.1       20
     192.168.31.1  255.255.255.255        127.0.0.1       127.0.0.1       20
   192.168.31.255  255.255.255.255     192.168.31.1    192.168.31.1       20

yumレポジトリ設定

まず、プロキシの設定をします。/etc/yum.confに下記を記述します

proxy=http://hostname:port/

次に、phpを削除しておきます。デフォルトのphpは5.1.6なので使えない機能がたくさんあります。

#インストール済みの確認
yum list installed | grep php

#削除
yum remove php*

#削除の確認
yum list installed | grep php

phpをインストールするために、GPG-KEYをインポートします。

rpm --import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

ここで、インポートに失敗しました。どうやら、rpmではproxy設定が反映されないようです。

wgetを使用してキーをダウンロードしてからインポートすることにします。wget用のproxy設定を/etc/wgetrcに記述します。

http_proxy = http://hostname:port/
ftp_proxy = http://hostname:port/

キーをダウンロードしてインポートします。

mkdir -p /tmp/rpm/GPG-KEY
cd /tmp/rpm/GPG-KEY
wget http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
rpm --import RPM-GPG-KEY-jlitka

リポジトリ情報を設定ファイルに追加します。/etc/yum.repos.d/にutterramblings.repoという名前のファイルを作成し、下記内容を記述します。

[utterramblings]
name=Jason's Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
#使用するときだけ1に設定する
#enabled=1
enabled=0
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

インストール

yumでインストールします。

yum install php

(1/3): php-common-5.2.17-jason.2.i386.rpm
(2/3): php-cli-5.2.17-jason.2.i386.rpm
(3/3): php-5.2.17-jason.2.i386.rpm

バージョンを確認します。

php -v
PHP 5.2.17 (cli) (built: Aug 31 2011 17:06:47) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

拡張モジュールのインストール

yumでインストールします。

まずphp-pearphp-develをインストールします。

yum --enablerepo=utterramblings install php-pear php-devel

次に下記をインストールするコマンドを実行します。

  • dom
  • gd
  • mbstring
  • PDO
  • pdo_sqlite
  • xmlreader
  • xmlwriter
  • xsl
yum --enablerepo=utterramblings php-mbstring
yum --enablerepo=utterramblings php-gd
yum --enablerepo=utterramblings php-pdo
yum --enablerepo=utterramblings php-xml

pear/peclの準備

まず、必要ならばpearpeclのproxy設定を行います。

#設定
pear config-set http_proxy hostname:port

#確認(pear)
pear config-show | grep proxy
HTTP Proxy Server Address      http_proxy       192.168.128.8:8080

#確認(pecl)
pecl config-show | grep proxy
HTTP Proxy Server Address      http_proxy       192.168.128.8:8080

とりあえずここまで

参考