Google Cloud PlatformのCE無料枠でPHP7の実行環境とMySQLを使えるようにする。
構築環境
Google Cloud PlatformのCompute Engineです。
スペック的には無料枠のf1-microマシンです。
学内Wi-FiでAWSいじろうとしてSSHが弾かれたみたいな話を聞いたけど、Cloud ConsoleのブラウザSSHは使い勝手も不満なくおすすめですよ。
PHP7.1をインストール
Yumリポジトリを追加
PHP7をyumでインストールするためには、レポジトリの追加が必要です。
yum install --enablerepo=remi,remi-php71 php php-devel php-mbstring php-pdo php-gd php-xml php-mcrypt
yumでPHP7.1をインストール
インストールするパッケージは、足りないようであればまたインストールしていきます。
yum install --enablerepo=remi,remi-php71 php php-devel php-mbstring php-pdo php-gd php-xml php-mcrypt
動作確認
$ php -v PHP 7.1.19 (cli) (built: Jun 21 2018 07:18:00) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
MySQLのインストール
これもどうようにyumレポジトリを追加して、それからyumインストールします。
yumレポジトリのインストール
MySQLの公式サイトから自分の環境に合ったものを探します。
CentOS7の場合は、Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Packageを選択すれば良いと思います。
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
yumでMySQLのインストール
sudo yum install mysql-community-server
動作確認
$ mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
あ、これ、新しく立てるときに毎回つまずくところだ…
まだMySQLが起動してないので起動しようとするも、まさかのメモリ不足で起動不能。
パーミッションあたりばかり調べてて結構時間使ってしまいましたが、メモリでした…
メモリ不足対策
スワップの作成
AWSでもたまに起こるケースがあるらしい。参考になりました。
再びMySQLの起動
$ sudo systemctl start mysqld.service
これで無事に起動しました。
rootユーザのパスワードを確認
インストールしたばっかの頃のログに、生成された初期パスワードが記載されているのでそれを確認する。
/var/log/mysqld.log
[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: (パスワード)
ついにmysqlが使える
おわり
GCEであっても、CentOSであれば手元のサーバやVPSと同じようにインストールできますね。MySQLに限らず、ギリギリな構成のインスタンスを使うときは、メモリ周りにも気を配らないとすぐ落ちるサーバになってしまいそう。