さくらのVPSに新しいPHPバージョンのインストール方法
お客さんが借りてきたサーバーでwordpressを運用する際にPHPが5.3だったので今後の事を考えて、公開前にバージョンをあげないといけなくなった時にした作業をまとめました。
php7系はちょっと怖い(VPSも怖いのでダブルパンチ)のでphp5.6にあげたときの備忘録
さくらのVPSでバージョンを指定することなくインストールすると古いバージョンが入るようなので新しいバージョンを入れ直します。
phpのパッケージを確認
今インストールされているphpのパッケージを確認する
# rpm -qa | grep php
php-common-5.3.3-49.el6.x86_64
php-mbstring-5.3.3-49.el6.x86_64
php-php-gettext-1.0.12-1.el6.noarch
php-fedora-autoloader-1.0.0-1.el6.noarch
php-pdo-5.3.3-49.el6.x86_64
php-5.3.3-49.el6.x86_64
php-gd-5.3.3-49.el6.x86_64
php-mysql-5.3.3-49.el6.x86_64
php-process-5.3.3-49.el6.x86_64
php-xml-5.3.3-49.el6.x86_64
php-tidy-5.3.3-49.el6.x86_64
php-bcmath-5.3.3-49.el6.x86_64
php-tcpdf-6.2.13-1.el6.noarch
phpMyAdmin-4.0.10.19-1.el6.noarch
php-cli-5.3.3-49.el6.x86_64
php-devel-5.3.3-49.el6.x86_64
php-mcrypt-5.3.3-5.el6.x86_64
php-tcpdf-dejavu-sans-fonts-6.2.13-1.el6.noarch
なんかいっぱいでてきた…
CentOSのバージョン確認
# cat /etc/redhat-release
CentOS release 6.9 (Final)
CentOS6系では、yumでインストールすると古いPHPが入るらしい
remiリポジトリ―を使えるようにする
CentOSの公式リポジトリにはphp5.6のパッケージが置かれていないようなので、phpの最新アプリケーションパッケージがあるremiという別のリポジトリから取得します。
EPELを入れないとremiを使えないようなのでインストールする必要があるらしい、さくらのVPSではすでに入っているようなので省略
remiをインストールする
//CentOS6系の場合
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
//CentOS7系の場合
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
この時点で/etc/yum.repos.d
の中身を見ると[remi-php56]というのが…あれ、ない…
5.5と5.6がみあたらない…
本来[remi-php56]
がリポジトリ名なので、yum install
の時にこれを指定してインストールするらしい
grepコマンドを使って検索
[remi-php56]
がなかったので不安になりgrep
を使って検索
# yum list --enablerepo=remi | grep php56
したらいっぱい出てきた、入っているっぽいのでインストールする
古いインストール済みのファイルは削除
インストールする前に、なんか削除した方がいいらしいから古いのは削除
# yum remove php-*
このとき、phpmyadminも消えて再インストールする羽目になるとは思わなかった(1敗)
個別に削除をする必要があるみたい・・・気をつけて・・・
php5.6をインストールする
# yum install --enablerepo=remi-php56 php php php-devel php-mbstring php-mysql php-gd
再起動
新しいバージョンのphpを入れたら最後に、再起動させます。
//CentOS6系
# service httpd restart
//CentOS7系からはこっちらしい
# systemctl restart httpd
実際systemctl restart httpd
を使ってもservice httpd restart
にリダイレクトされるようなので問題ないっぽい
phpのバージョン確認
最後にバージョンが変わっていたらokです
# php --version
PHP 5.6.32 (cli)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
実行コマンドまとめ
長々と説明いらないからささっとコマンドみたい方用
//phpのパッケージを確認
# rpm -qa | grep php
//CentOSのバージョン確認
# cat /etc/redhat-release
//remiインストールコマンドCentOS6系の場合
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
//remiインストールコマンドCentOS7系の場合
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
//grepコマンドを使ってphp5.6がインストールされているか確認検索
# yum list --enablerepo=remi | grep php56
//古いインストール済みのファイルは削除
# yum remove php-*
//php5.6をインストールする
# yum install --enablerepo=remi-php56 php php php-devel php-mbstring php-mysql php-gd
//再起動
# service httpd restart
//phpバージョン確認
# php --version