投稿

ラベル(Drupal)が付いた投稿を表示しています

NGINX を Drupal 用に設定する

とりあえず Drupal のインストールは成功した が、処理時間の設定を除き、特に Drupal 用の設定を何も行っていないので、現状では少々問題が残っている。この記事ではより細かい設定を行って行こうと思う。 NGINX 公式の Drupal 用設定例 👉 NGINX 公式の Drupal 用設定例 server { server_name example.com; root /var/www/drupal8; ## <-- Your only path reference. location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } # Very rarely should these ever be accessed outside of your lan location ~* \.(txt|log)$ { allow 192.168.0.0/16; deny all; } location ~ \..*/.*\.php$ { return 403; } location ~ ^/sites/.*/private/ { return 403; } # Block access to scripts in site files directory location ~ ^/sites/[^/]+/files/.*\.php$ { deny all; } # Allow "Well-Known URIs" as per RFC 5785 location ~* ^/.well-known/ { allow all; } # Block access to "hi

Drupal を低スペック OpenWrt ルーターにインストール

イメージ
Buffalo WZR-HP-AG300H CPU: 680MHz; ROM: 32MB; RAM: 128MBa OpenWrt 19.07.3 HTTPd NGINX (with SSL) 1.17.7 PHP 7.2.31 (FPM) SQLite php7-mod-pdo-sqlite 3.31.1 Drupal 8.9.3 (最新は 9.0 だが、OpenWrt の最新の 19.07 では PHP 9.2 のため、要件にギリギリ届かない) USB フラッシュドライブ、NGINX + PHP (FPM) のセットアップ WordPress のインストール(👉 WordPress を低スペック OpenWrt ルーターにインストール )で行った作業に準ずるものとする。 SQLite のセットアップ 👉 core/INSTALL.sqlite.txt 単独の SQLite は不要。PHP の SQLite 関連モジュールだけで良い。 opkg update opkg install php7-mod-pdo-sqlite ファイルの置き場には、インストール過程でデフォルトとして示される ./sites/default/files/.ht.sqlite をそのまま使うものとする。留意しなければならないのは、デフォルトのパスを使うにせよ、フォルダーとファイル自身が書き込み可にパーミッションを変更しておかなければならない点である。このパーミッション変更を忘れていると、インストール自体が無事終ってから、最初にサイトの画面を表示する段階でデータベースエラーが発生する。 特に、インストーラーが自前で作成する .ht.sqlite までもがパーミッション変更が必要なことに気付くまで、当初はエラーの原因がわからずに悩む羽目になった。インストーラーが自分で作成できるのだから、こちらでパーミッションを変更せずとも、どうとでもなるんじゃないかと思うのだが、インストーラーと、インストール後の Drupal 本体では、セキュリティ的に権限が違っているからだろう。 PHP の調整 PHP 側の処理が重く時間がかかり過ぎると、NGINX が 504 Gateway Time-out にする場