先週、こんな記事を読んでました。
PHP 5.3、トップシェア&サポート終了 | 開発・SE | マイナビニュース
自分のサーバーのPHPバージョンは何だったっけ?前回と違うコマンドでPHPのバージョンを確認してみます。
$ php -v出てきた結果がこれ。
PHP 5.3.3 (cli) (built: Feb 22 2013 02:51:11) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies「PHP 5.3.3 (cli)」が現在のバージョン。
PHPにはCLI版とCGI版というものがあるようで(詳細省きますが)、これはCLI版ですね。
OsukiniサーバーにインストールされているPHPのバージョン
CentOSの場合の話になりますが、デフォルトでインストールされているPHPのバージョンは、OSのバージョンによって異なります。2013年4月10日現在で
- CentOS 5 ならPHPは 5.1.6
- CentOS 6 ならPHPは 5.3.3
…で。CentOS5でお申し込みいただいたお客様から、先日こんなお問い合わせが。
VPS初心者です。
WordPressをインストールしたいので、PHPのバージョン5.1.6を5.2.4以上にしたいのですが、方法がわかりません。
サト的にはすごく嬉しいです。私と同じようにVPSでWordPressに挑戦している初心者さんがいらっしゃると思うと。
でも悲しいことにOsukiniサーバーはノンマネージド。容量の割に低価格であるかわりに、各種設定はお客様自身で行っていただくというサービス(もちろん障害はちゃんと対応します)。
ご質問の件についてはサポート範囲外となりますため、誠に恐れ入りますが、
お客様ご自身での調査や修正を行ってくださいますようお願いいたします。
また、設定ついては一般のサーバーと同様の設定によりご利用いただくことが
可能であり、弊社サービス独自の設定は不要ですので、インターネット上や
書籍などの情報も参考にしてください。
先日もお話しした通り、現状、ノンマネージドのサービスに関しては障害以外のテクニカルサポートは行えていません。
サポートセンターからは上記のような回答が返ってくることが多いです。
だったらサトがアンオフィシャルにレポートしちゃえばいいじゃない。
自分でも調べながら書いていくので、上手くいかなくても怒らないで!(´Д`)
ということで、PHPとついでにMySQLのバージョンアップを行っていこうと思います。
CentOS5にPHP5.4とMySQL5.5をインストールする
私が普段使っているサーバーはCentOS 6.4なので、永続割を利用して(笑)CentOS 5のOsukiniサーバー10を別で用意しました。バージョンの確認
OSのバージョン確認$ cat /etc/redhat-release CentOS release 5.9 (Final)CentOS 5.9。
続いてPHPのバージョン確認
$ php -v PHP 5.1.6 (cli) (built: Jun 27 2012 12:21:13) Copyright (c) 1997-2006 The PHP Group Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies5.1.6。ちなみにインストールされているパッケージの確認は
$ rpm -qa | grep php php-5.1.6-39.el5_8 php-mcrypt-5.1.6-15.el5.centos.1 php-cli-5.1.6-39.el5_8 php-mbstring-5.1.6-39.el5_8 php-common-5.1.6-39.el5_8 php-gd-5.1.6-39.el5_8最後にMySQL。
$ mysql --version mysql Ver 14.12 Distrib 5.0.95, for redhat-linux-gnu (x86_64) using readline 5.1 # rpm -qa | grep mysql mysql-5.0.95-5.el5_95.0。
リポジトリを追加する
リポジトリとは倉庫の意味。必要なものはそこからインストールするイメージ?まずdl.iuscommunity.orgから、自分に適したリポジトリを選択します。私はCentOS5の64bit版なので、「5/」「x86_64/」のページへ。32bit版なら「i386/」をクリックします。
この中からEPELリポジトリとIUSリポジトリというものを追加します。
- epel-release-5-4.noarch.rpm
- ius-release-1.0-11.ius.el5.noarch.rpm
まずはEPELリポジトリ。
$ su パスワード: # wget 5/x86_64/epel-release-5-4.noarch.rpm --2013-04-09 15:12:49-- 5/x86_64/epel-release-5-4.noarch.rpm dl.iuscommunity.org をDNSに問いあわせています... 50.57.54.209 dl.iuscommunity.org|50.57.54.209|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 12275 (12K) [application/x-rpm] `epel-release-5-4.noarch.rpm' に保存中 100%[======================================>] 12,275 78.6K/s 時間 0.2s 2013-04-09 15:12:50 (78.6 KB/s) - `epel-release-5-4.noarch.rpm' へ保存完了 [12275/12275]続いてIUSリポジトリ。
# wget 5/x86_64/ius-release-1.0-11.ius.el5.noarch.rpm --2013-04-09 15:13:42-- 5/x86_64/ius-release-1.0-11.ius.el5.noarch.rpm dl.iuscommunity.org をDNSに問いあわせています... 50.57.54.209 dl.iuscommunity.org|50.57.54.209|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 7458 (7.3K) [application/x-rpm] `ius-release-1.0-11.ius.el5.noarch.rpm' に保存中 100%[======================================>] 7,458 28.1K/s 時間 0.3s 2013-04-09 15:13:43 (28.1 KB/s) - `ius-release-1.0-11.ius.el5.noarch.rpm' へ保存完了 [7458/7458]次にrpmコマンドでこの2つをインストールします。
# rpm -Uvh *-release*rpm 警告: epel-release-5-4.noarch.rpm: ヘッダ V4 DSA signature: NOKEY, key ID 9cd4953f 準備中... ########################################### [100%] 1:epel-release ########################################### [100%] 2:ius-release ########################################### [100%]
インストール済みの既存ソフトをアンインストールする
既にインストールされているMySQL5.0とPHP5.1をアンインストールします。まずMySQL
# yum remove mysql Loaded plugins: downloadonly, fastestmirror Setting up Remove Process Resolving Dependencies --> Running transaction check ---> Package mysql.x86_64 0:5.0.95-5.el5_9 set to be erased ---省略--- Transaction Summary ================================================================================ Remove 2 Package(s) Reinstall 0 Package(s) Downgrade 0 Package(s) Is this ok [y/N]:removeするのでYESの「y」を入力。
Downloading Packages: Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Erasing : mysql 1/2 Erasing : postfix 2/2 Removed: mysql.x86_64 0:5.0.95-5.el5_9 Dependency Removed: postfix.x86_64 2:2.3.3-6.el5 Complete!続いてPHP。PHPはパッケージの確認をしたときにいくつかファイルが入っていたので、「*(アスタリスク)」をつけて「名前にphpとつくファイル全て」を削除します。
# yum remove php* Loaded plugins: downloadonly, fastestmirror Setting up Remove Process Resolving Dependencies --> Running transaction check ---> Package php.x86_64 0:5.1.6-39.el5_8 set to be erased ---省略--- Transaction Summary ================================================================================ Remove 6 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-gd 1/6 Erasing : php-mbstring 2/6 Erasing : php-cli 3/6 Erasing : php-mcrypt 4/6 Erasing : php 5/6 Erasing : php-common 6/6 Removed: php.x86_64 0:5.1.6-39.el5_8 php-cli.x86_64 0:5.1.6-39.el5_8 php-common.x86_64 0:5.1.6-39.el5_8 php-gd.x86_64 0:5.1.6-39.el5_8 php-mbstring.x86_64 0:5.1.6-39.el5_8 php-mcrypt.x86_64 0:5.1.6-15.el5.centos.1 Complete!
最新版をインストールする
古いバージョンがアンインストールできたら、最新版をインストールします。MySQLの最新版は5.5。
# yum install mysql55 Loaded plugins: downloadonly, fastestmirror Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package mysql55.x86_64 0:5.5.30-1.ius.el5 set to be updated --> Processing Dependency: mysql55-libs = 5.5.30-1.ius.el5 for package: mysql55 ---省略--- Transaction Test Succeeded Running Transaction Installing : mysqlclient15 1/3 Installing : mysql55-libs 2/3 Installing : mysql55 3/3 Installed: mysql55.x86_64 0:5.5.30-1.ius.el5 Dependency Installed: mysql55-libs.x86_64 0:5.5.30-1.ius.el5 mysqlclient15.x86_64 0:5.0.92-3.ius.el5 Complete!バージョン確認してみます。
# mysql --version mysql Ver 14.14 Distrib 5.5.30, for Linux (x86_64) using readline 5.1OK!
続いてPHP。最新版の5.4を。
# yum install php54 Loaded plugins: downloadonly, fastestmirror Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package php54.x86_64 0:5.4.13-1.ius.el5 set to be updated ---省略--- Installed: php54.x86_64 0:5.4.13-1.ius.el5 Dependency Installed: php54-cli.x86_64 0:5.4.13-1.ius.el5 php54-common.x86_64 0:5.4.13-1.ius.el5 Complete!ここでインストールされたパッケージを確認してみると
# rpm -qa | grep php php54-5.4.13-1.ius.el5 php54-cli-5.4.13-1.ius.el5 php54-common-5.4.13-1.ius.el5アンインストールされたけどまだ最新版がインストールされていないものがありますね。「php-mcrypt」「php-mbstring」と「php-gd」。
# yum install php54-mcrypt php54-mbstring php54-gd Loaded plugins: downloadonly, fastestmirror Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package php54-gd.x86_64 0:5.4.13-1.ius.el5 set to be updated ---省略--- Installed: php54-gd.x86_64 0:5.4.13-1.ius.el5 php54-mbstring.x86_64 0:5.4.13-1.ius.el5 php54-mcrypt.x86_64 0:5.4.13-1.ius.el5 Complete!最後にバージョン確認。
# php -v PHP 5.4.13 (cli) (built: Mar 15 2013 11:30:38) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologiesパッケージも5.1の頃と同じ項目で揃えてみました。
# rpm -qa | grep php php54-mbstring-5.4.13-1.ius.el5 php54-common-5.4.13-1.ius.el5 php54-5.4.13-1.ius.el5 php54-mcrypt-5.4.13-1.ius.el5 php54-cli-5.4.13-1.ius.el5 php54-gd-5.4.13-1.ius.el5できた♪
——————–
…とまぁこんなふうに一発では上手くいかなかったですね。
PHPのパッケージを個別追加ではなくて一括でインストールしようとして(yum install php54*)エラーを起こしたり。自分でも何をやってるのかわからなくなってきたらアンインストールし直して最初からやってました(笑)
yumとrpmの使い分けすらもいまいち把握できていませんが、それはまた追々備忘録的記事でも書くとして。
お問い合わせいただいた方がこの記事を読んで解決できることを祈っています。
長文で解り辛くてごめんねごめんねー( ´_ゝ`)