前回に引き続いて、セットアップを継続。まず最初は、PHPの初期値2項目の設定を行う。
php.iniの初期値では、
post_max_size = 8M
upload_max_filesize = 2M
だが、ファイルのアップロードが2Mだと小さすぎるので、この値を大きくしておく必要がある。個別の制限はともかく、phpのレベルではねられると面倒なので、一応どちらの値も128Mにしておくこととする。ただ、この値を大きくしてしまうと、アップロード権限がある人が大きなファイルを上げてしまって、ディスクを食ってしまう危険があるので、もっと小さくしておく方が良いかも知れない。
構成ファイルを修正する時は、元の状態がわからなくなると困るので、mv ~ ~.origのようにバックアップして、cpでもう一度構成ファイルを作り直す。理由は、cp ~ ~.origとすると、~.origのタイムスタンプがやった時の時間になってしまうので、それを避けるために面倒だが、mvとcpで作っている。私の古い習慣だが、今は常識が変わっていたり、新たなコマンドができているかも知れない。最後にdiffで修正内容を確認して終了。nginxはphpをfpmで使うので、もう一箇所/etc/php/7.3/fpmのphp.iniを修正する。
次にmysql、mariadbの設定を行う。この設定を行うのは、Drupalのbusiness_rulesモジュールなどで引っかかるからで、やらなくても通常のDrupalの利用時には問題にならないが。こちらの修正内容は、max_allowed_packet = 16Mの拡大とinnodb_buffer_pool_size、innodb_log_file_sizeの追加である。
innodb_のパラメータは他のサーバーで実績のあるものだが、今回のサーバーはメモリーが小さいので、もう少し減らすことを考えた方が良いかも知れない。[mariadb]のセクションに置いておく。
ついで、メモリー量が小さいので、swapの設定を行う。最初のdrupalのインストールはギリギリうまくいくのだが、composerはメモリーを食うので、composer updateをかけると落ちてしまう。今回は、2Gを追加することとする。必要に応じてさらに追加しても良い。swapの定義については、Debian wikiのページを参照されたい。
ここまで設定が終わったら、一旦rebootする。再起動が終わったら、mysqlのユーザー登録とデータベース定義を行う。
まずは、テスト用のユーザー test をパスワードも test で作成し、データベースtestdbを作成して、操作権限をtestユーザーに与える。念の為に、testユーザーが問題なくmysqlが使えることを確認しておく。
最後に、nginxがwww-dataというユーザーで動くので、このユーザーで必要なファイルの読み書きができるように設定する。
さて、これで準備が整ったので、再びgcp.hagihara.tokyoのサイトに行って、Drupalのセットアップを始めることとする。
無事にサイトが立ち上がった。レポートのサイトの状態を確認すると「信頼の置けるホストの設定」がエラーとなっているが、とりあえず問題ない。
初期インストール後は、一部ファイルの権限を調整しておく。
以上で、無事インスールは終了。何と、運良く本日Drupal 8.9がリリースされたので、続いてupdateを行う。
無事drupal/coreが8.9.0にアップデートされた。DBへの反映のためにdrushをかけようとしたら、まだインストールされていなかったのでインストールする。
drushも無事導入できたので、キャッシュをクリアして、データベースをアップデート。drupalのアップデートも完了。サイトの状態をリロードすると、きちんと8.9.0にアップデートされている。
以上で、環境設定と確認を終了した。