はじめに
前回の記事ではWebminを設置した。
CentOSはセットアップの際にアップデートしていたが、PHPとMySQLは最新のものにアップデートしていなかった。
せっかくなので、最初から最新のものを入れておきたい。
環境は以下の通り
- さくらVPS
- スタートアップスクリプト「CentOS_LAMP」を使用
- CentOS 7.6.1810
- Apache 2.4.6
アップデートするのは以下の二つ
- PHP 5.4.16 -> PHP 7.3.0
- MariaDB 5.5.60 -> MariaDB 10.3
PHPのアップデート
最新のバージョンを確認
http://php.net/downloads.php
最新はPHP7.3.0
現在インストール済みのPHPをチェックする
# rpm -qa | grep php
php-mysql-5.4.16-46.el7.x86_64
php-process-5.4.16-46.el7.x86_64
php-xml-5.4.16-46.el7.x86_64
php-gd-5.4.16-46.el7.x86_64
php-cli-5.4.16-46.el7.x86_64
php-mbstring-5.4.16-46.el7.x86_64
php-common-5.4.16-46.el7.x86_64
php-devel-5.4.16-46.el7.x86_64
php-pdo-5.4.16-46.el7.x86_64
php-pear-1.9.4-21.el7.noarch
後で同じ拡張モジュールを入れようと思うので、とりあえずインストール済みのものをメモしておく。
古いPHPの削除
削除しなくてもいいらしいけど、他のサイトを見るとみんな削除してるっぽいので、PHP5関連のものは全部削除する。
# yum remove php-*
:
省略
:
Complete!
削除されたかどうかの確認
# php -v
bash: php: command not found
PHP7のインストール
Remiリポジトリを使ってインストールする
Remiの公式サイトにダウンロードのリンクがある。
リンクを確認して、
以下のコマンドでインストール
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
そもそもRemiがよくわからなかったんですが、僕はこのサイトで何となく理解できました。
参考:Linuxのパッケージ管理についての用語を理解する
ちゃんとインストールされたかどうか確認する。
# ls -l /etc/yum.repos.d
total 80
:
省略
:
-rw-r--r--. 1 root root 951 Oct 3 2017 epel.repo
-rw-r--r-- 1 root root 446 Jun 19 17:28 remi-glpi91.repo
-rw-r--r-- 1 root root 446 Jun 19 17:28 remi-glpi92.repo
-rw-r--r-- 1 root root 446 Jun 19 17:28 remi-glpi93.repo
-rw-r--r-- 1 root root 456 Jun 19 17:28 remi-php54.repo
-rw-r--r-- 1 root root 1314 Jun 19 17:28 remi-php70.repo
-rw-r--r-- 1 root root 1314 Jun 19 17:28 remi-php71.repo
-rw-r--r-- 1 root root 1314 Jun 19 17:28 remi-php72.repo
-rw-r--r-- 1 root root 1314 Jun 19 17:28 remi-php73.repo
-rw-r--r-- 1 root root 750 Jun 19 17:28 remi-safe.repo
-rw-r--r-- 1 root root 2605 Jun 19 17:28 remi.repo
remi-*
が追加されていることを確認。
いよいよPHP7のインストール
使用するのは最新のremi-php73
以下のコマンドでインストールする。
yum install --enablerepo=remi,remi-php73 php
以降の部分には、先ほどメモした元々入っていた拡張モジュールを全部追加。
# yum install --enablerepo=remi,remi-php73 php php-mysql php-process php-xml php-gd php-cli php-mbstring php-common php-devel php-pdo php-pear
:
省略
:
Complete!
インストールされたかを確認する。
# php -v
PHP 7.3.0 (cli) (built: Dec 4 2018 16:12:20) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.0-dev, Copyright (c) 1998-2018 Zend Technologies
# rpm -qa | grep php
php-cli-7.3.0-1.el7.remi.x86_64
php-pear-1.10.7-1.el7.remi.noarch
php-common-7.3.0-1.el7.remi.x86_64
php-fedora-autoloader-1.0.0-1.el7.remi.noarch
php-devel-7.3.0-1.el7.remi.x86_64
php-json-7.3.0-1.el7.remi.x86_64
php-pdo-7.3.0-1.el7.remi.x86_64
php-gd-7.3.0-1.el7.remi.x86_64
php-7.3.0-1.el7.remi.x86_64
php-xml-7.3.0-1.el7.remi.x86_64
php-mbstring-7.3.0-1.el7.remi.x86_64
php-process-7.3.0-1.el7.remi.x86_64
php-mysqlnd-7.3.0-1.el7.remi.x86_64
無事、PHP7.3.0になりました。
MariaDBのアップデート
続いてMariaDBのアップデートをします。
MariaDB 5.5.60
をMariaDB 10.3
にアップデート
まずは現在のバージョンを確認する
# mysql --version
mysql Ver 15.1 Distrib 5.5.60-MariaDB, for Linux (x86_64) using readline 5.1
yumリポジトリの作成
追記:コメントでもっと簡単な方法を教えていただきました。こっちをぜひ試してみてください。
MariaDBのリポジトリを新規に作成します。
MariaDBの公式にリポジトリのジェネレーターがある。
リポジトリジェネレーター:https://downloads.mariadb.org/mariadb/repositories/
CentOS > CentOS7(x86_64) > 10.3[Stable]
の順に選択していくとリポジトリの中身が生成される。
これをコピペして使う
設置する場所は/etc/yum.repos.d/
/etc/yum.repos.d/
に移動して、MariaDB.repo
というファイルを新規作成
# cd /etc/yum.repos.d/
# vi MariaDB.repo
さっきのリポジトリジェネレーターの内容をコピペする。
# MariaDB 10.3 CentOS repository list - created 2018-12-24 01:31 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
追記 2018/12/28
コメントでもっと簡単な方法を教えていただきました。
以下のコマンドだけでyumリポジトリの設定ができてしまうそうです。
詳細はこちら
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
私はこの方法を試していませんが、とても簡単そうなのでぜひ試してみてください。
アップデート
今回は、MariaDB 5.5
をMariaDB 10.3
にアップデートする作業なので、
一旦MariaDBを停止してアップデートコマンドをたたく。
まずは停止してから、止まっていることを確認。
# systemctl stop mariadb
# systemctl status mariadb
:
省略
:
Active: inactive (dead) since
:
省略
:
Active: inactive (dead)
になっていることを確認。
確認できたら以下のコマンドでアップデートする。
# yum update MariaDB-server MariaDB-client
:
省略
:
Complete!
バージョン確認
バージョンを確認する
# mysql --version
mysql Ver 15.1 Distrib 10.3.11-MariaDB, for Linux (x86_64) using readline 5.1
無事にバージョンアップができました。
まとめ
結局この作業をするのなら、さくらVPSのスタートアップスクリプト「CentOS_LAMP」でインストールする必要はないのかなぁ…なんてことが脳裏をよぎってしまった。