運営していたHPをXFREEからGCE(Google Compute Engine)に移行することにしました。
理由は、
・XFREEでは制限が多い(SQL開発ツールでDB操作ができなかったりする)、
・HPの操作中に止まることがある
・GCEというかクラウドを使っているというのが、なんだかかっこいい
からです。
AWSも考えましたが、どうやっても永久無料で運営していくのが無理なので止めました。
この記事では、移行の際に得た知見をまとめます。
環境
$ cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
ブラウザでWebページを表示する
GCEのインスタンスは作成前提で進めます。
PHP
PHP7.0をインストールします。
PHP7.0をインストールするためにはRemiリポジトリが必要で、
Remiリポジトリからソフトウェアをインストールするにはepelリポジトリが必要です。
epelリポジトリはインストール済みのため、Remiリポジトリをインストールします。
$ sudo yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
php7.0をインストールします。
$ sudo yum install -y --enablerepo=remi,remi-php70,epel php php-devel php-mbstring php-mysqlnd php-mcrypt p
hp-pear php-gd php-fpm php-pecl-xdebug php-opcache php-pecl-memcached
$ php -v
PHP 7.0.33 (cli) (built: Nov 15 2021 10:51:40) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.33, Copyright (c) 1999-2017, by Zend Technologies
with Xdebug v2.9.0, Copyright (c) 2002-2019, by Derick Rethans
Apache
Apacheはインストール済みですが、起動していないはずなので起動します。
$ sudo systemctl start httpd
ついでに、再起動時に自動起動するようにします。
$ sudo systemctl enable httpd
上記を実行すると、以下のようにApacheが起動してサービスがenabledになっていることが確認できます。
$ sudo systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2022-05-28 14:07:15 UTC; 3min 5s ago
ファイアウォールの設定
GCEのファイアウォールの設定で、
HTTP トラフィックとHTTPS トラフィックをオンにしてください。
アクセスしてみる
Webブラウザでhttp://IPアドレス
にアクセスします。
以下、テストページが出れば成功。
作成したHTMLファイルがWebページとして表示されるか確認する
$ sudo vi /var/www/html/index.html
<html>
<head>
<title>Hello hoge</title>
</head>
<body>
<h1>Test hoge</h1>
</body>
</html>
再度http://IPアドレス
にアクセスします。
以下のように表示されるはずです。
MySQLをインストールする
MySQL8.0をインストールします。
MariaDB関連削除
$ rpm -qa | grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
$ sudo yum remove mariadb-libs
$ rm -rf /var/lib/mysql/
リポジトリ追加
ここで、
リポジトリのURLを確認します。
インストールコマンドは
rpm -ivh https://dev.mysql.com/get/{rpmファイル名}
です。{rpmファイル名}は、OSによって変わります。
今回はCentOS7なので、上図の反転部分が入ることになります。
rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm
インストール
以下コマンドでインストールするのですが、
sudo yum install mysql-community-server
下のエラーでインストールできないと思います。
GPG key retrieval failed: [Errno 14] curl#37 - "Couldn't open file /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022"
新しいGPGキーをインストールしてください。
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
実行後、再度mysqlをインストールすると今度は成功するはずです。
参考文献
https://www.wakuwakubank.com/posts/491-php-install/
https://qiita.com/S-Masakatsu/items/63b9e0e7a869d2aafc4b
https://qiita.com/zaburo/items/7518a432d915c061983f
https://ja.stealthsettings.com/gpg-key-retrieval-failed-errno-14-curl37-couldnt-open-file-rpm-gpg-key-centos-7.html
https://blog.katsubemakito.net/mysql/mysql-update-error-gpg