さくらVPSのLAMPスタートアップスクリプトはうまく動作していないようなので、スクリプト内を参考にしてインストールしたりするも、CentOS7系ではphpが5系になってしまったりで後々苦労するようだ。
結局自分でなんとかするしかない。
スクリプト冒頭で
yum -y install expect httpd-devel mod_ssl php php-devel php-pear mysql-server php-mbstring php-xml php-gd php-mysql
が実行されているが、php系はいらんので、
yum -y install expect httpd-devel mod_ssl
でとりあえず。
##PHPのインストール
普通にyumで入れると5系になってしまうのでリポジトリを指定してインストールする。
yum -y install --enablerepo=remi,remi-php73 php
以後、php73のリポジトリを指定してインストールしていけば、大体うまくいった。
##MySQLのインストール
DrupalのDBはMySQL系であれば問題ないので、MariaDBでもインストール可能。
yum install mariadb mariadb-server
あとphp-mysqlを入れとく。
yum -y install --enablerepo=remi-php73 php-mysql
##Composerでエラーを吐きまくる
LightningはComposerによるインストールを強く推奨されている。なのでComposerをインストールして、そこからインストールする。さくらVPSの契約状況によっては、メモリーが足りないだの何だのでエラーが出まくってしまう。
そこで、契約がメモリ4G以上ならphp.iniのmemory_limitを2Gに、メモリ2Gなら-1に一時的に設定してインストールをやり過ごすことにした。インストールが終わったら適当な値へ戻しておくべきだ。今回の環境ではメモリ2Gだったのでインストール中は-1にして、インストール後1Gに設定した。
無事モジュール類のダウンロードや展開が終わったところで今度はライブラリの依存関係でエラーを吐くので、下記ライブラリを突っ込んでおく。
yum -y install --enablerepo=remi-php73 php-xml php-gd php-pdo php-mbstring php-opcache
opcacheはインストール後にDrupalから「入れといた方がいいよ」って言われるやつだ。
##Drupalはすでにインストールされています
今回はまったのがこの現象。インストール後、どのURLを叩いてもインストール画面へリダイレクトしてしまい、すでにインストールされているというメッセージが出てしまう。
いろいろ原因があるっぽいんだけど、解決としては
[mysqld]
max_allowed_packet=16MB
する。設定はmy.cnfだ。
これでとりあえずサイトは表示されるようになった。キャッシュのおかげでそれなりにサクッと動いてくれている印象はあるが、Drupalはそれでなくとも割と重い子なので、ヘッドレス化するとかCDNを使って負荷をコントロールするとか、運用にはそれなりのノウハウが必要なようだ。
Lightningの記事が全然ないので、ここにメモしとく。