Drupalインストール · 2 min read · Nov 19, 2025

Alma Linux 9にDrupalをインストールする方法

Drupalは、ウェブサイトの構築と管理に使用されるオープンソースのコンテンツ管理システム(CMS)です。その柔軟性と堅牢性で知られるDrupalは、ユーザーがコンテンツを作成・整理し、プレゼンテーションをカスタマイズし、管理タスクを自動化し、ユーザーの役割と権限を管理できるようにします。特に、数千のアドオンモジュールやテーマを通じて機能を拡張・変更できるモジュラーアーキテクチャが好まれています。Drupalは非常にスケーラブルであり、小さな個人ブログから大規模な企業や政府のウェブサイトまで適しています。強力なコミュニティサポートと包括的なドキュメントは、その使いやすさと開発の可能性をさらに高めています。

このチュートリアルでは、LAMPスタック(Linux、Apache/Httpd、MariaDB、PHP)を使用して、Alma Linux 9サーバーにDrupalをインストールする手順を案内します。その後、FirewalldとSSL証明書を使用して、CertbotとLet’s EncryptでDrupalのインストールを保護する方法を示します。

前提条件

始める前に、以下の要件を満たしていることを確認してください:

  • Alma Linux 9サーバー。
  • 管理者権限を持つ非ルートユーザー。
  • サーバーIPアドレスにポイントされたドメイン名。
  • SELinuxのステータスが許可されている。

依存関係のインストール

現在、Drupalの最新バージョンはPHP 8.3を必要とするため、サードパーティのリポジトリを介してインストールする必要があります。また、HttpdウェブサーバーやMariaDBサーバーなどの他の依存関係もインストールします。

依存関係をインストールする前に、EPELおよびRemiリポジトリをAlma Linuxサーバーに追加します。リポジトリを追加するように求められたら、yを入力します。

sudo dnf install epel-release dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm

RHELベースのディストリビューションでは、一部のパッケージはリポジトリモジュールとして提供されます。以下のコマンドでRemiリポジトリを介してPHP 8.3のリポジトリモジュールを有効にします。

sudo dnf module reset php  
sudo dnf module enable php:remi-8.3

phpリポジトリを有効にする

次に、以下のdnfコマンドを使用してLAMPスタック(Apache/Httpd、MariaDB、PHP)パッケージをインストールします。インストールを確認するように求められたら、yを入力します。

sudo dnf install httpd mariadb-server php php-cli php-devel php-mbstring php-gd php-xml php-curl php-mysqlnd php-pdo php-json php-opcache php-pear php-pecl-apcu php-pecl-crypto

依存関係をインストール

インストールが完了したら、以下のコマンドを使用してhttpdサービスを開始し、有効にします。

sudo systemctl start httpd  
sudo systemctl enable httpd

次に、以下のコマンドを使用してmariadbサービスを開始し、有効にします。

sudo systemctl start mariadb  
sudo systemctl enable mariadb

最後に、以下のコマンドを使用してPHPのバージョンを確認します。システムにPHP 8.3がインストールされていることがわかります。

php -v  
php -m

phpを確認

Firewalldの設定

デフォルトでは、firewalldはAlma Linuxで実行中です。HTTPおよびHTTPSプロトコルへのアクセスをfirewalldで開き、Drupalインストールへのトラフィックを許可する必要があります。

以下のコマンドを使用して、firewalldにHTTPおよびHTTPSサービスを追加します。次に、変更を適用するためにfirewalldをリロードします。

sudo firewall-cmd --add-service={http,https} --permanent  
sudo firewall-cmd --reload

次に、以下のコマンドを実行してfirewalldのステータスを確認し、有効なルールをリストします。HTTPおよびHTTPSサービスがfirewalldに追加されていることがわかります。

sudo firewall-cmd --list-all

firewalldを設定

PHPの設定

このセクションでは、デフォルトの設定ファイル/etc/php.iniを編集してPHPを設定し、PECL(PHP Extension Community Library)を介して追加の拡張機能uploadprogressをインストールします。uploadprogress拡張機能はDrupalに必要ですが、PECLパッケージとしてのみ利用可能です。

以下のnanoエディタコマンドを使用してPHP設定ファイル/etc/php.iniを開きます。

sudo nano /etc/php.ini

以下の設定でデフォルトの設定を変更します。memory_limitとdate.timezoneオプションを現在の環境に合わせて調整してください。

memory_limit = 512M  
upload_max_filesize = 60M  
max_execution_time = 300  
date.timezone = Europe/Stockholm

完了したら、ファイルを保存して終了します。

次に、以下のコマンドを実行してuploadprogressモジュールをシステムにインストールします。uploadprogressモジュールは、パッケージリポジトリではなくPECLリポジトリで入手可能です。

sudo pecl install uploadprogress

インストールが完了すると、以下の出力が表示されます。

uploadprogressをインストール

次に、以下のコマンドを実行してuploadprogress拡張機能を有効にするための新しい設定を作成します。

cat <

PHPへの変更を適用するためにhttpdサービスを再起動します。

sudo systemctl restart httpd

最後に、以下のコマンドを使用してuploadprogressモジュールを確認します。uploadprogressモジュールがPHPインストールで有効になっていることを確認してください。

php -m | grep uploadprogress

uploadprogressを設定

MariaDBの設定

PHPの設定が完了したら、MariaDBサーバーのインストールを設定する必要があります。コマンドラインを介してMariaDBを保護し、MariaDBクライアントを介してDrupal用の新しいデータベースとユーザーを作成します。

以下のコマンドを使用してMariaDBサーバーを保護します。

sudo mariadb-secure-installation

プロセス中に、新しい設定を確認して適用するためにYを入力するか、設定を拒否するためにNを入力します。以下は、尋ねられるMariaDBの設定です:

  • unix_socket認証に切り替えますか?nを入力してENTERを押します。デフォルトのMariaDBルートユーザーはすでに保護されています。オプションで、yを入力して有効にすることもできます。
  • ルートパスワードを変更しますか?yを入力して新しいMariaDBルートパスワードを設定します。
  • 匿名ユーザーを削除しますか?yを入力して確認します。
  • リモートからのルートログインを禁止しますか?yを入力して確認します。MariaDBルートユーザーを使用している場合、ローカル接続のみが許可されます。
  • テストデータベースとそのアクセスを削除しますか?yを入力して確認し、デフォルトのデータベース’test’を削除します。
  • 最後に、yを再度入力してMariaDBサーバーのすべてのテーブル権限を再読み込みし、新しい変更を適用します。

以下のコマンドを使用してMariaDBサーバーにログインします。プロンプトが表示されたら、MariaDBルートパスワードを入力します。

sudo mariadb -u root -p

次に、以下のクエリを実行して新しいデータベースdrupaldb、ユーザーdrupal、パスワードp4sswordを作成します。このデータベースはDrupalによって使用されるため、以下のデータベースの詳細を自分の情報に合わせて調整してください。

CREATE DATABASE drupaldb;  
CREATE USER drupal@localhost IDENTIFIED BY 'p4ssword';  
GRANT ALL ON drupaldb.* TO drupal@localhost WITH GRANT OPTION;  
FLUSH PRIVILEGES;

データベースを設定

次に、以下のクエリを使用してユーザーDrupalの権限を確認します。ユーザーDrupalがデータベースDrupaldbにアクセスできることがわかります。

SHOW GRANTS FOR drupal@localhost;

最後に、quitと入力してMariaDBサーバーから退出します。

権限を表示

Drupalソースコードのダウンロード

MariaDBを設定し、データベースとユーザーを作成したので、Drupalソースコードをダウンロードし、Drupalインストール用のDocuemtRootまたはウェブルートディレクトリを設定できます。この場合、Composerを介してインストールするのではなく、wgetを使用してDrupalソースコードをダウンロードします。

/var/wwwディレクトリに移動し、以下のwgetコマンドを使用して最新のDrupalソースコードをダウンロードします。

cd /var/www/  
wget https://www.drupal.org/download-latest/tar.gz -O drupal.tar.gz

ダウンロードが完了したら、Drupalソースコードを抽出し、抽出されたディレクトリの名前をdrupalに変更します。これにより、DrupalのDocumentRootディレクトリが/var/www/drupalで利用可能になります。

tar -xvf drupal.tar.gz  
mv drupal-* drupal

次に、以下のコマンドを実行して/var/www/drupalディレクトリの所有権をapacheユーザーに変更し、パーミッションを755に変更します。

sudo chown -R apache:apache /var/www/drupal/  
sudo chmod -R 755 /var/www/drupal/

Httpd仮想ホストの作成

このセクションでは、Drupal用の新しいHttpd仮想ホスト設定を作成します。Drupal用のドメイン名を準備していることを確認してください。ローカルまたは公開ドメイン名のいずれかです。

まず、以下のnanoエディタコマンドを使用して新しいhttpd仮想ホスト設定/etc/httpd/conf.d/drupal.confを作成します。

sudo nano /etc/httpd/conf.d/drupal.conf

以下の設定を挿入し、ServerNameオプションを自分のドメイン名に変更してください。

  
  
 ServerName howtoforge.local  
 ServerAdmin [email protected]  
 DocumentRoot /var/www/drupal  
  
 ErrorLog /var/log/httpd/howtoforge.local.error.log  
 CustomLog /var/log/httpd/howtoforge.local.access.log combined  
  
   
 Options FollowSymlinks  
 #Allow .htaccess  
 AllowOverride All  
 Require all granted  
   
 SecRuleEngine Off  
 # または問題のあるルールのみを無効にします  
   
   
  
   
 RewriteEngine on  
 RewriteBase /  
 RewriteCond %{REQUEST_FILENAME} !-f  
 RewriteCond %{REQUEST_FILENAME} !-d  
 RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]  
   
  

ファイルを保存して、完了したらエディタを終了します。

次に、以下のコマンドを実行してhttpd設定を確認します。出力にSyntax OKが表示され、正しいhttpd構文が確認されます。

sudo apachectl configtest

最後に、以下のコマンドを使用してhttpdを再起動し、新しい仮想ホストの変更を適用します。

sudo systemctl restart httpd

vhostを設定

Certbotを使用したHTTPSの設定

このセクションでは、CertbotとLetsencryptを介してDrupalのHTTPSを設定します。公開ドメインを使用している場合はこれを行い、ローカルドメインの場合は自己署名証明書を生成できます。

以下のコマンドを使用してCertbotとCertbot Apacheプラグインをインストールします。インストールを確認するためにyを入力します。

sudo dnf install certbot python3-certbot-apache

インストールが完了したら、以下のcertbotコマンドを使用してDrupalインストール用のSSL/TLS証明書を生成します。ドメイン名とメールアドレスを自分の情報に変更してください。

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d howtoforge.local

プロセスが完了すると、SSL/TLS証明書は/etc/letsencrypt/live/domain.comディレクトリに利用可能になります。また、Drupalインストールは自動的にHTTPSで設定されます。

Drupalのインストール

ウェブブラウザを開き、https://howtoforge.local/のようなDrupalインストールドメイン名にアクセスします。

希望の言語を選択し、保存して続行ボタンをクリックします。

デフォルト言語

インストールプロファイルでは、初めてDrupalをインストールする場合はStandardを選択し、保存して続行をクリックします。

インストールプロファイル

システムチェックが完了すると、Drupalのデータベース設定が表示されます。MariaDBデータベース情報の詳細を入力し、再度保存して続行をクリックします。

データベースを設定

これで、Drupalのインストールが開始され、以下のような画面が表示されます。

drupalインストールプロセス

インストールが完了したら、Drupalサイト情報の詳細を入力し、Drupal用の新しい管理ユーザーを作成します。次に、保存して続行をクリックして確認します。

サイト設定

設定が完了すると、以下のようなDrupalのホームページが表示されます。

インストール完了

結論

おめでとうございます!Alma Linux 9サーバーにDrupalをインストールしました。Httpd、MariaDB、PHPでDrupalをインストールし、LetsencryptからSSL/TLSでDrupalを保護しました。Drupalがインストールされたので、新しいテーマを追加したり、拡張機能をインストールしたりし始めてください。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。