さて、OSも最新バージョンへ更新できたら、いよいよサーバーを含むアプリケーション関連のインストールです。
まずは、phpをインストールしたいところです。
しかし、CentOS 5 では、yumをphpをインストールしてもphp5.1系がインストールされます。
また、CentOS 6, Scientific Linux 6 では、yumをphpをインストールしてもphp5.3系がインストールされます。
CMSなどのほとんどが、php5.3系でテストされていて、メジャーバージョンは同じなので、互換性は、ほぼ保たれていますが、なるべく最新にしたいものです。
では、php5.3系をインストールするかと言うと、ここで問題がでてきます。
php関連のアプリケーションが、php5.3系に対応できていないことが、まだまだあるのです。
そのため、ここでは、php5.2系をあえてインストールしてみましょう。
現在(2012.07.03)、php 5.3 系・php 5.4 系がサポートの対象となっています。
その点からも、現状では、php 5.2 系のインストールは、おすすめしません。
- 目次
- 履歴
2010年7月17日 初版
php5.2系をインストール
CentOS 5
CentOS 5 では、dl.iuscommunity.org のリポジトリを使用して php5.2系をインストールします。
- php5.2系のあるリポジトリをインストールします。
$ wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/i386/ius-release-1-4.ius.el5.noarch.rpm $ wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/i386/epel-release-1-1.ius.el5.noarch.rpm $ rpm -Uvh *-release*rpm Preparing... ########################################### [100%] 1:epel-release ########################################### [ 50%] 2:ius-release ########################################### [100%]
64bit版は、上記のwgetで指定しているURLのi386をx86_64として同じ操作を行います。
また、ファイル名は、
- ius-release-x-x.ius.el5.noarch.rpm
- epel-release-x-x.ius.el5.noarch.rpm
※32bit版と64bit版では、ファイル名が異なることがあります。
(以下のサイトでファイルの一覧表示が確認できます。)
32bit版:http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/i386/
64bit版:http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/
一つ一つ確実にインストールしたいなら、以下の順番で行います。
CentOSのバージョンによっては、以下のような警告がでることがあります。
特にこの警告は、致命的な問題ではないので、先へ進みましょう。
$ rpm -Uvh epel-release-1-1.ius.el5.noarch.rpm 警告: epel-release-1-1.ius.el5.noarch.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 9cd4953f 準備中... ########################################### [100%] 1:epel-release ########################################### [100%] $ rpm -Uvh ius-release-1-4.ius.el5.noarch.rpm 警告: ius-release-1-4.ius.el5.noarch.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 9cd4953f 準備中... ########################################### [100%] 1:ius-release ########################################### [100%]
- 現在、インストール済のphpをアンインストールします。
- 現在のインストール済phpパッケージを確認する。
$ rpm -qa | grep php php-5.1.6-27.el5 php-common-5.1.6-27.el5 php-ldap-5.1.6-27.el5 php-cli-5.1.6-27.el5
- インストール済phpパッケージをすべて削除する。
$ yum erase php-cli php-common php php-ldap php yum remove php-cli php-common php php-ldap php Loaded plugins: fastestmirror Setting up Remove Process Resolving Dependencies --> Running transaction check ---> Package php.x86_64 0:5.1.6-27.el5 set to be erased ---> Package php-cli.x86_64 0:5.1.6-27.el5 set to be erased ---> Package php-common.x86_64 0:5.1.6-27.el5 set to be erased ---> Package php-ldap.x86_64 0:5.1.6-27.el5 set to be erased --> Finished Dependency Resolution Dependencies Resolved ========================================================================================== Package Arch Version Repository Size ========================================================================================== Removing: php x86_64 5.1.6-27.el5 installed 6.2 M php-cli x86_64 5.1.6-27.el5 installed 5.3 M php-common x86_64 5.1.6-27.el5 installed 397 k php-ldap x86_64 5.1.6-27.el5 installed 49 k Transaction Summary ========================================================================================== Remove 4 Package(s) Reinstall 0 Package(s) Downgrade 0 Package(s) Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Erasing : php-cli 1/4 Erasing : php-common 2/4 Erasing : php 3/4 Erasing : php-ldap 4/4 Removed: php.x86_64 0:5.1.6-27.el5 php-cli.x86_64 0:5.1.6-27.el5 php-common.x86_64 0:5.1.6-27.el5 php-ldap.x86_64 0:5.1.6-27.el5 Complete!
- 現在のインストール済phpパッケージを確認する。
- php5.2系をインストールする。
$ yum -y install php52-cli php52-pdo php52-mysql php52-common php52 php52-devel php52-gd php52-mbstring php52-odbc php52-pear devel php52-gd php52-mbstring php52-odbc php52-pear Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * addons: ftp.iij.ad.jp * base: ftp.iij.ad.jp * epel: ftp.iij.ad.jp * extras: ftp.iij.ad.jp * ius: mirror.rackspace.hk * updates: ftp.iij.ad.jp Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package php52.x86_64 0:5.2.13-3.ius.el5 set to be updated ---> Package php52-cli.x86_64 0:5.2.13-3.ius.el5 set to be updated ---> Package php52-common.x86_64 0:5.2.13-3.ius.el5 set to be updated ---> Package php52-devel.x86_64 0:5.2.13-3.ius.el5 set to be updated --> Processing Dependency: autoconf for package: php52-devel --> Processing Dependency: automake for package: php52-devel ---> Package php52-gd.x86_64 0:5.2.13-3.ius.el5 set to be updated ---> Package php52-mbstring.x86_64 0:5.2.13-3.ius.el5 set to be updated ---> Package php52-mysql.x86_64 0:5.2.13-3.ius.el5 set to be updated ---> Package php52-odbc.x86_64 0:5.2.13-3.ius.el5 set to be updated --> Processing Dependency: libodbc.so.1()(64bit) for package: php52-odbc ---> Package php52-pdo.x86_64 0:5.2.13-3.ius.el5 set to be updated ---> Package php52-pear.noarch 1:1.8.1-2.ius.el5 set to be updated --> Running transaction check ---> Package autoconf.noarch 0:2.59-12 set to be updated --> Processing Dependency: imake for package: autoconf ---> Package automake.noarch 0:1.9.6-2.3.el5 set to be updated ---> Package unixODBC.x86_64 0:2.2.11-7.1 set to be updated --> Running transaction check ---> Package imake.x86_64 0:1.0.2-3 set to be updated --> Finished Dependency Resolution Dependencies Resolved ========================================================================================== Package Arch Version Repository Size ========================================================================================== Installing: php52 x86_64 5.2.13-3.ius.el5 ius 1.4 M php52-cli x86_64 5.2.13-3.ius.el5 ius 2.6 M php52-common x86_64 5.2.13-3.ius.el5 ius 251 k php52-devel x86_64 5.2.13-3.ius.el5 ius 588 k php52-gd x86_64 5.2.13-3.ius.el5 ius 126 k php52-mbstring x86_64 5.2.13-3.ius.el5 ius 1.1 M php52-mysql x86_64 5.2.13-3.ius.el5 ius 96 k php52-odbc x86_64 5.2.13-3.ius.el5 ius 61 k php52-pdo x86_64 5.2.13-3.ius.el5 ius 75 k php52-pear noarch 1:1.8.1-2.ius.el5 ius 419 k Installing for dependencies: autoconf noarch 2.59-12 base 647 k automake noarch 1.9.6-2.3.el5 base 476 k imake x86_64 1.0.2-3 base 319 k unixODBC x86_64 2.2.11-7.1 base 835 k Transaction Summary ========================================================================================== Install 14 Package(s) Upgrade 0 Package(s) Total download size: 8.9 M Downloading Packages: (1/14): php52-odbc-5.2.13-3.ius.el5.x86_64.rpm | 61 kB 00:00 (2/14): php52-pdo-5.2.13-3.ius.el5.x86_64.rpm | 75 kB 00:00 (3/14): php52-mysql-5.2.13-3.ius.el5.x86_64.rpm | 96 kB 00:00 (4/14): php52-gd-5.2.13-3.ius.el5.x86_64.rpm | 126 kB 00:00 (5/14): php52-common-5.2.13-3.ius.el5.x86_64.rpm | 251 kB 00:00 (6/14): imake-1.0.2-3.x86_64.rpm | 319 kB 00:00 (7/14): php52-pear-1.8.1-2.ius.el5.noarch.rpm | 419 kB 00:00 (8/14): automake-1.9.6-2.3.el5.noarch.rpm | 476 kB 00:00 (9/14): php52-devel-5.2.13-3.ius.el5.x86_64.rpm | 588 kB 00:00 (10/14): autoconf-2.59-12.noarch.rpm | 647 kB 00:00 (11/14): unixODBC-2.2.11-7.1.x86_64.rpm | 835 kB 00:00 (12/14): php52-mbstring-5.2.13-3.ius.el5.x86_64.rpm | 1.1 MB 00:01 (13/14): php52-5.2.13-3.ius.el5.x86_64.rpm | 1.4 MB 00:01 (14/14): php52-cli-5.2.13-3.ius.el5.x86_64.rpm | 2.6 MB 00:01 ------------------------------------------------------------------------------------------ Total 690 kB/s | 8.9 MB 00:13 warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID 9cd4953f ius/gpgkey | 1.3 kB 00:00 Importing GPG key 0x9CD4953F "IUS Community Project
" from /etc/pki/rpm-gpg/IUS-COMMUNITY-GPG-KEY Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : imake 1/14 Installing : unixODBC 2/14 Installing : autoconf 3/14 Installing : automake 4/14 Installing : php52-common 5/14 Installing : php52-pdo 6/14 Installing : php52-cli 7/14 Installing : php52 8/14 Installing : php52-gd 9/14 Installing : php52-odbc 10/14 Installing : php52-pear 11/14 Installing : php52-devel 12/14 Installing : php52-mbstring 13/14 Installing : php52-mysql 14/14 Installed: php52.x86_64 0:5.2.13-3.ius.el5 php52-cli.x86_64 0:5.2.13-3.ius.el5 php52-common.x86_64 0:5.2.13-3.ius.el5 php52-devel.x86_64 0:5.2.13-3.ius.el5 php52-gd.x86_64 0:5.2.13-3.ius.el5 php52-mbstring.x86_64 0:5.2.13-3.ius.el5 php52-mysql.x86_64 0:5.2.13-3.ius.el5 php52-odbc.x86_64 0:5.2.13-3.ius.el5 php52-pdo.x86_64 0:5.2.13-3.ius.el5 php52-pear.noarch 1:1.8.1-2.ius.el5 Dependency Installed: autoconf.noarch 0:2.59-12 automake.noarch 0:1.9.6-2.3.el5 imake.x86_64 0:1.0.2-3 unixODBC.x86_64 0:2.2.11-7.1 Complete!ここでは、最小限のパッケージをインストールしています。
既にインストールが必要なパッケージが分かっていれば、ここで指定しましょう。
筆者は、以下のものをすべてインストールしました。
yum -y install php52-cli php52-pdo php52-mysql php52-common php52 php52-devel php52-gd php52-mbstring php52-odbc php52-pear php52-mhash php52-snmp php52-bcmath php52-ncurses php52-xmlrpc php52-tidy php52-xml php52-mssql php52-soap php52-pgsql
- 最後にバージョンチェック
$ php -v PHP 5.2.13 (cli) (built: Apr 6 2010 18:27:05) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies
PHP 5.2.xx と出力されれば、OKですね。
CentOS 6 Scientific Linux 6
CentOS 6 Scientific Linux 6 では、www.atomicorp.com のリポジトリを使用して php5.2系をインストールします。 atomicorp は、一般の会社ですから、あくまで、有志による公開です。いつ提供されるなくなるかは、わかりません。もちろん、サポートなどもありませんし、必要なパッチ等々、組み込まれているとは限りません。
- php5.2系のあるリポジトリをインストールします。
$ wget http://www.atomicorp.com/installers/atomic --2012-07-03 17:19:36-- http://www.atomicorp.com/installers/atomic www.atomicorp.com をDNSに問いあわせています... 74.208.155.133 www.atomicorp.com|74.208.155.133|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 12648 (12K) [text/plain] `atomic' に保存中 100%[======================================>] 12,648 66.3K/s 時間 0.2s 2012-07-03 17:19:37 (66.3 KB/s) - `atomic' へ保存完了 [12648/12648] $ sh atomic Atomic Archive installer, version 2.0.6 BY INSTALLING THIS SOFTWARE AND BY USING ANY AND ALL SOFTWARE PROVIDED BY ATOMICORP LIMITED YOU ACKNOWLEDGE AND AGREE: THIS SOFTWARE AND ALL SOFTWARE PROVIDED IN THIS REPOSITORY IS PROVIDED BY ATOMICORP LIMITED AS IS, IS UNSUPPORTED AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ATOMICORP LIMITED, THE COPYRIGHT OWNER OR ANY CONTRIBUTOR TO ANY AND ALL SOFTWARE PROVIDED BY OR PUBLISHED IN THIS REPOSITORY BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Do you agree to these terms? (yes/no) [Default: yes] yes Configuring the [atomic] yum archive for this system Installing the Atomic GPG key: OK Downloading atomic-release-1.0-14.el6.art.noarch.rpm: OK The Atomic Rocket Turtle archive has now been installed and configured for your system The following channels are available: atomic - [ACTIVATED] - contains the stable tree of ART packages atomic-testing - [DISABLED] - contains the testing tree of ART packages atomic-bleeding - [DISABLED] - contains the development tree of ART packages
atomic というシェルスクリプトファイルをダウンロードし、実行することでリポジトリのインストールを実行します。
- 現在、インストール済のphpをアンインストールします。
- 現在のインストール済phpパッケージを確認する。
$ rpm -qa | grep php php-5.3.3-3.el6 php-common-5.3.3-3.el6 php-ldap-5.3.3-3.el6 php-cli-5.3.3-3.el6
- インストール済phpパッケージをすべて削除する。
$ yum erase php-cli php-common php php-ldap php yum remove php-cli php-common php php-ldap php Loaded plugins: fastestmirror Setting up Remove Process Resolving Dependencies --> Running transaction check ---> Package php.x86_64 0:5.3.3-3.el6 set to be erased ---> Package php-cli.x86_64 0:5.3.3-3.el6 set to be erased ---> Package php-common.x86_64 0:5.3.3-3.el6 set to be erased ---> Package php-ldap.x86_64 0:5.3.3-3.el6 set to be erased --> Finished Dependency Resolution Dependencies Resolved ========================================================================================== Package Arch Version Repository Size ========================================================================================== Removing: php x86_64 5.3.3-3.el6 installed 6.2 M php-cli x86_64 5.3.3-3.el6 installed 5.3 M php-common x86_64 5.3.3-3.el6 installed 397 k php-ldap x86_64 5.3.3-3.el6 installed 49 k Transaction Summary ========================================================================================== Remove 4 Package(s) Reinstall 0 Package(s) Downgrade 0 Package(s) Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Erasing : php-cli 1/4 Erasing : php-common 2/4 Erasing : php 3/4 Erasing : php-ldap 4/4 Removed: php.x86_64 0:5.3.3-3.el6 php-cli.x86_64 0:5.3.3-3.el6 php-common.x86_64 0:5.3.3-3.el6 php-ldap.x86_64 0:5.3.3-3.el6 Complete!
- 現在のインストール済phpパッケージを確認する。
- php5.2系をインストールする。
$ yum install php-cli-5.2.17 php-pdo-5.2.17 php-mysql-5.2.17 php-common-5.2.17 php-5.2.17 php-devel-5.2.17 php-gd-5.2.17 php-mbstring-5.2.17 php-odbc-5.2.17 Loaded plugins: downloadonly, fastestmirror, priorities Loading mirror speeds from cached hostfile * atomic: www3.atomicorp.com * base: ftp.nara.wide.ad.jp * extras: ftp.nara.wide.ad.jp * updates: ftp.nara.wide.ad.jp Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package php.i686 0:5.2.17-1.el6.art will be installed ---> Package php-cli.i686 0:5.2.17-1.el6.art will be installed ---> Package php-common.i686 0:5.2.17-1.el6.art will be installed ---> Package php-devel.i686 0:5.2.17-1.el6.art will be installed ---> Package php-gd.i686 0:5.2.17-1.el6.art will be installed --> Processing Dependency: libt1.so.5 for package: php-gd-5.2.17-1.el6.art.i686 ---> Package php-mbstring.i686 0:5.2.17-1.el6.art will be installed ---> Package php-mysql.i686 0:5.2.17-1.el6.art will be installed ---> Package php-odbc.i686 0:5.2.17-1.el6.art will be installed ---> Package php-pdo.i686 0:5.2.17-1.el6.art will be installed --> Running transaction check ---> Package t1lib.i686 0:5.1.2-6.el6_2.1 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: php i686 5.2.17-1.el6.art atomic 1.1 M php-cli i686 5.2.17-1.el6.art atomic 2.1 M php-common i686 5.2.17-1.el6.art atomic 256 k php-devel i686 5.2.17-1.el6.art atomic 505 k php-gd i686 5.2.17-1.el6.art atomic 110 k php-mbstring i686 5.2.17-1.el6.art atomic 514 k php-mysql i686 5.2.17-1.el6.art atomic 72 k php-odbc i686 5.2.17-1.el6.art atomic 47 k php-pdo i686 5.2.17-1.el6.art atomic 59 k Installing for dependencies: t1lib i686 5.1.2-6.el6_2.1 updates 152 k Transaction Summary ================================================================================ Install 10 Package(s) Total download size: 4.9 M Installed size: 16 M Is this ok [y/N]: y Downloading Packages: (1/10): php-5.2.17-1.el6.art.i686.rpm | 1.1 MB 00:01 (2/10): php-cli-5.2.17-1.el6.art.i686.rpm | 2.1 MB 00:02 (3/10): php-common-5.2.17-1.el6.art.i686.rpm | 256 kB 00:01 (4/10): php-devel-5.2.17-1.el6.art.i686.rpm | 505 kB 00:01 (5/10): php-gd-5.2.17-1.el6.art.i686.rpm | 110 kB 00:00 (6/10): php-mbstring-5.2.17-1.el6.art.i686.rpm | 514 kB 00:01 (7/10): php-mysql-5.2.17-1.el6.art.i686.rpm | 72 kB 00:00 (8/10): php-odbc-5.2.17-1.el6.art.i686.rpm | 47 kB 00:00 (9/10): php-pdo-5.2.17-1.el6.art.i686.rpm | 59 kB 00:00 (10/10): t1lib-5.1.2-6.el6_2.1.i686.rpm | 152 kB 00:00 -------------------------------------------------------------------------------- Total 323 kB/s | 4.9 MB 00:15 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : php-common-5.2.17-1.el6.art.i686 1/10 Installing : php-pdo-5.2.17-1.el6.art.i686 2/10 Installing : php-cli-5.2.17-1.el6.art.i686 3/10 Installing : php-5.2.17-1.el6.art.i686 4/10 Installing : t1lib-5.1.2-6.el6_2.1.i686 5/10 Installing : php-devel-5.2.17-1.el6.art.i686 6/10 Installing : php-gd-5.2.17-1.el6.art.i686 7/10 Installing : php-odbc-5.2.17-1.el6.art.i686 8/10 Installing : php-mysql-5.2.17-1.el6.art.i686 9/10 Installing : php-mbstring-5.2.17-1.el6.art.i686 10/10 Installed: php.i686 0:5.2.17-1.el6.art php-cli.i686 0:5.2.17-1.el6.art php-common.i686 0:5.2.17-1.el6.art php-devel.i686 0:5.2.17-1.el6.art php-gd.i686 0:5.2.17-1.el6.art php-mbstring.i686 0:5.2.17-1.el6.art php-mysql.i686 0:5.2.17-1.el6.art php-odbc.i686 0:5.2.17-1.el6.art php-pdo.i686 0:5.2.17-1.el6.art Dependency Installed: t1lib.i686 0:5.1.2-6.el6_2.1 Complete!
ここでは、最小限のパッケージをインストールしています。
既にインストールが必要なパッケージが分かっていれば、ここで指定しましょう。
- 最後にバージョンチェック
$ php -v PHP 5.2.17 (cli) (built: Jan 7 2011 08:57:50) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies
PHP 5.2.xx と出力されれば、OKですね。
CentOS 5 のphpデフォルトバージョンは、5.1です。最新のパッチは入っていますが、公式 php プロジェクトでは、既にメンテナンスは終了となっています。
また、php 5.3 系も公開していますので、できれば、 php 5.3 へのアップグレードをおすすめします。
先にも書きましたが、現在、既に php 5.2 系は、メンテナンスは終了しており、 php 5.3 or php 5.4 へのアップグレードをおすすめします。
ただ、いろんなphpを利用したCMSが、バージョンをあげている中、5.2以上の方が良いこともあります。
結局は、このphpを何に利用したいかで、どのバージョンを使うのかも決めて行く必要があると思います。
この記事を最初に投稿したとき(2010.04)は、php5.2系が安定しているので、それを使うためのインストールの仕方を説明していました。
ただ、現在(2012.07.03)では、php 5.2 系もメンテナンスを終了していますから、php 5.2 系のインストールはおすすめしません。
最近の 格安レンタルサーバーでは、いくつかのphp バージョンを選択できることも多くなりました。
ただ、自分の使いたいバージョンが提供されているとは限りません。 ( 最新バージョンへの対応は、ほとんどのレンタルサーバーが行いますので、常に最新バージョンでOKなら、何も問題ないかもしれません。 )
このように、自分に合ったバージョンを選択できるというのは、VPSや専用サーバ、自宅サーバーの醍醐味かもしれませんね。
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない、検索ができないことがあります。
2010年12月7日, 1:40 PM
x86_64のcentosで簡単にphp5.2系にすることはできないかと悩んでいたところ、ここの記事が一番参考になりました。ありがとうございます。
phpMyAdminを使うなら php52-mcrypt も一緒にインストールしておくと良さそうですね
2010年12月7日, 6:59 PM
usagi さん
こんにちわ。管理人です。
何か参考になったらうれしいです。
それから、おっしゃるとおり
| phpMyAdminを使うなら php52-mcryptも …
ですね。