Ubuntu Linux 24.04 LTS (Noble Numbat) でゼロから始める Drupal 11 環境構築

2025-05-01

廣告

本ガイドでは、クリーンな Ubuntu 24.04 LTS システム上に Drupal 11 を本番環境向けに構築する手順を解説します。 Nginx、PHP 8.3-FPM、MySQL、Certbot による SSL 証明書取得、および環境最適化の設定を含みます。


ステップ 1: 初期セットアップ

sudo apt update && sudo apt upgrade -y
sudo apt install nginx php8.3-fpm php8.3-cli php8.3-mysql \
  php8.3-gd php8.3-xml php8.3-mbstring php8.3-curl \
  php8.3-zip unzip curl git mysql-server -y

ステップ 2: UFW ファイアウォールの有効化と設定

sudo ufw allow 'OpenSSH'
sudo ufw allow 'Nginx Full'
sudo ufw enable

(任意)SSH(ポート22)を特定のIPのみに制限する場合:

sudo ufw allow from YOUR.IP.ADDRESS to any port 22

ステップ 3: Nginx サーバーブロックの設定

sudo nano /etc/nginx/sites-available/drupal
server {
  listen 80;
  server_name example.com;
  root /var/www/drupal/web;

  index index.php index.html;

  location / {
    try_files $uri /index.php?$query_string;
  }

  location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.3-fpm.sock;
  }

  location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
    try_files $uri @rewrite;
    expires max;
    log_not_found off;
  }
}

設定を有効化してリロード:

sudo ln -s /etc/nginx/sites-available/drupal /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

ステップ 4: Certbot で SSL を有効化

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx

証明書の自動更新テスト:

sudo certbot renew --dry-run

ステップ 5: PHP Opcache 設定(パフォーマンス最適化)

sudo nano /etc/php/8.3/fpm/php.ini

以下の設定を確認/追記してください:

opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=2
opcache.validate_timestamps=1

設定後、PHP-FPM を再起動:

sudo systemctl restart php8.3-fpm

ステップ 6: Composer で Drupal をインストール

cd /var/www/
sudo mkdir drupal && sudo chown $USER:www-data drupal
cd drupal
composer create-project drupal/recommended-project .

インストール完了後:

cd /var/www/drupal/
composer require drush/drush
composer update

続けて Drush コマンド実行:

drush updatedb
drush cr

ステップ 7: ディレクトリ権限の設定

sudo chown -R www-data:www-data /var/www/drupal
sudo find /var/www/drupal -type d -exec chmod 755 {} \;
sudo find /var/www/drupal -type f -exec chmod 644 {} \;

補足事項

  • ドキュメントルートは /var/www/drupal/web
  • Drush は /var/www/drupal 下で実行
  • Composer 依存は定期的に composer update で最新化推奨
  • Redis や Varnish を導入するとさらにパフォーマンス向上可能
廣告