Alibaba Cloud に Drupal を導入する

概要と目的

この記事では、Apache サーバーを使用して Alibaba Cloud ECS Ubuntu 14.04 に Drupal をセットアップする手順を説明します。

Drupal について

Drupal は、典型的なデジタルユーザーエクスペリエンスの構築に役立つオープンソースのコンテンツ管理フレームワークです。専門のコミュニティによって管理されており、複数の Web サイトにバックエンドフレームワークを提供しています。Drupal は、PHP とデータベースを効率よく実行し、Web サーバーがコンテンツと設定情報を保持するのを支援します。

前提条件

始める前に、導入の前提条件が満たされている必要があります。コンピューターには、基本設定の ECS Linux サーバー (Ubuntu 14.04) がインストールされている必要があります。また、必須な要件として、sudo の権限を導入するユーザーに割り当てる必要があります。さらに、Apache、PHP、MySQL が導入、設定されていることを確認します。

Drupal の導入

Alibaba Cloud ECS (以下 ECS と表記) に Drupal を導入する手順を説明します。
実際に始める前に、最新バージョンの LAMP スタックがインストールされていることを確認してください。

ステップ 1: Linux 用に ECS インスタンス を作成する

最初に、Linux マシンで ECS インスタンスを作成します。以下の手順に従って、

1. Alibaba Cloud ECS 管理コンソールにログインします。メインダッシュボードが表示されます。

2. [プロダクトとサービス] セクションの [Elastic Compute Service] をクリックします。ECS 概要ダッシュボードが表示されます。ページが表示されたら、サイドバーの [インスタンス] をクリックして、[インスタンス] メニューに移動します。

3. [インスタンス作成] ボタンをクリックして、インスタンスの作成を行います。その後、要件にあった支払いモードを選択します。パッケージの種類を選択します。ECS インスタンスを起動するリージョンとアベイラビリティゾーンを選択します。アベイラビリティゾーンを指定せず、リージョンだけを指定すると、インスタンスはデフォルトのゾーンに配置されます。

4. [インスタンスタイプの選択] セクションで世代を選択する必要があります。世代の種類は、コンピューティング能力 (CPU、メモリー) によってタイプが異なります。ネットワークタイプでは、要件に応じて "クラシックネットワーク" または "VPC" を選択します。次に、"ネットワーク課金" 方式を選択します。

5. オペレーティングシステムの選択では、OS の種類を選択しサムネイルの 1 つをクリックして、Ubuntu または他の Linux サーバーを選択する必要があります。また、サムネイルの下のドロップダウンメニューからサーバーのバージョンを選択し、ストレージの選択から使用するストレージタイプを選択し、容量を指定します。

6. 次に、セキュリティー設定で root ユーザーのパスワードを設定します。ただし、この設定は後でコンソールから行うこともできます。

7. 注文の確認画面で購入する内容を確認し、必要であれば変更します。[注文を確定する] をクリックして確定し、サーバーを起動します。

8. [インスタンス] セクションにインスタンスが表示されます。

Linux マシンで ECS インスタンスを起動する方法はわかったので、今度は ECS に Drupal を短時間で簡単に導入する方法を説明します。

ステップ 2: Drupal を MySQL に導入する

関連する Alibaba Cloud プロダクト:Alibaba Cloud ApsaraDB for RDS

Drupal の導入には、ユーザーによって提供されるデータの管理とストレージを主として支援するリレーショナルデータベースが利用されます。この記事では、Drupal を起動するための MySQL の使用について詳細に説明します。Alibaba Cloud ApsaraDB for RDS (以下 RDS と表記) は、インスタンスを短時間で簡単に導入できるオンデマンドのデータベースサービスです。また、必要に応じてリソースを柔軟にスケーリングできます。RDS は、MySQL、SQL Server、PostgreSQL の 3 種類のリレーショナルデータベースを備えています。このデータベースは、アプリケーションを高性能にするリソースの最適化、拡張性、セキュリティ、信頼性を提供します。

1. MySQL ユーザーを正しく設定した後は、Drupal 専用のデータベースを作成します。
専用のユーザーとデータベースはアプリケーションのセキュリティを確保するために不可欠です。
MySQL にログインします。

root@drupal:~#mysql -u root -p 

このコマンドを実行すると、ソフトウェアのインストールで設定したものと同じ MySQL root ユーザーのパスワードの入力を求められます。認証が成功すると、MySQL のプロンプトが表示されます。

2. Drupal のインストールに使用する専用のデータベースを作成します。

mysql>CREATE DATABASE drupal;

3. Drupal ソフトウェア用のユーザーを作成し、設定したデータベースにパスワードを設定して接続できるようにします。

mysql>CREATE USER drupaluser@localhost identified by ‘password’;

4. Drupal が適切に機能するために必要な権限の組み合わせを設定する必要があります。

mysql>GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER,CREATE TEMPORARY TABLES,LOCK TABLES ON drupal.* TO drupaluser@localhost;

5. 権限の情報をディスクにフラッシュして、これらの変更をすぐに反映します。

mysql>FLUSH PRIVILEGES;

6. 実行中の MySQL セッションを Exit コマンドで終了します。

 mysql>exit;

ステップ 3: PHP モジュールのインストールと初期設定

1. ローカルパッケージのキャッシュを更新します。次のコマンドを入力してインストールします。

root@drupal:~# apt-get update
root@drupal:~# apt-get install php5-gd php5-curl libssh2-php

2. 次のコマンドを入力して、Apache PHP の設定ファイルを開きます。

mysql> root@drupal:~#vim/etc/php5/apache2/php.ini

expose_php を入力します。"Off" に設定します。
expose_php = Off

同じ方法で、allow_url_fopen についてもオフに設定します。
allow_url_fopen = Off

終わったら、ファイルを保存して閉じます。

3. 次に、Drupal ベースの Web サイトで簡単に覚えられる URL への変更をするために、Apache の書き換え機能を起動します。通常、Apache サーバーの書き換えモジュール (mod_rewrite) はデフォルトでインストールされます。ただし、それを有効にする必要があります。設定を有効にするには次のコマンドを入力します。

mysql>root@drupal:~# a2enmod rewrite

4. 書き換えモジュールを有効にした後は、デフォルトの virtualhost ファイルを編集する必要があります。

root@drupal:~# vim /etc/apache2/sites-enabled/000-default.conf

Web ルートを指すディレクトリを "VirtualHost" ブロックに追加します。その後、AllowOverride コマンドで "All" を指定します。このステップでは、ServerName コマンドを追加してドメイン名を指定する必要もあります。ServerAdmin フィールドでは有効なメールアドレスを指定します。

     < VirtualHost *:80>
. . .
ServerName www.website_name.com
ServerAdmin xxxxxxxx@xxxxx.com
DocumentRoot /var/www/html
< Directory /var/www/html>
AllowOverride All
< /Directory>
. . .
</VirtualHost>
ファイルを保存して閉じます。
Web サーバーを再起動して、Apache サーバーと PHP に必要な変更を反映させます。
root@drupal:~# service apache2 restart

Web ルートを指すディレクトリを "VirtualHost" ブロックに追加します。その後、AllowOverride コマンドで "All" を指定します。このステップでは、ServerName コマンドを追加してドメイン名を指定する必要もあります。ServerAdmin フィールドでは有効なメールアドレスを指定します。

ステップ 3: Drupal ファイルをインストールする

1. ホームディレクトリに移動し、wget を使用してインストールモジュールをダウンロードします。

 root@drupal:~# wget 
http://ftp.drupal.org/files/projects/drupal-7.32.tar.gz

2. 次のコマンドを使用して、アーカイブファイルを展開します。

 root@drupal:~# tar xzvf drupal*

3. 展開したディレクトリを、Apache のディレクトリへコピーします。

 root@drupal:~# cd drupal* 
root@drupal:~/drupal-7.32# rsync -avz . /var/www/html

4. 次のコマンドを入力して、新しいディレクトリを作成します。

root@drupal:/var/www/html# mkdir /var /sites/default/files  

5. デフォルトの設定ファイルを、Drupal が使用されるファイル名に上書きします。

root@drupal:/var/www/html# cp /var/www/html/sites/default/default.settings.php /var/www/html/sites/default/settings.php 

6. インストールを進めるには、この設定ファイルのパーミッションを変更します。

 root@drupal:/var/www/html# chmod 664 
/var/www/html/sites/default/settings.php

7. ファイルに対するグループ所有権を Web ユーザーに変更します。この例では、Ubuntu でのグループ所有権は www-data です。

root@drupal:/var/www/html# chown -R :www-data /var/www/html/* 

ステップ 4: Web ブラウザーからのインストール

1. ブラウザーで、サーバーの IP アドレスまたはドメイン名を指定してアクセスします。
http://server_domain_or_IP

Drupal インストール手順の TOP ページが表示されます。

以降は、特別な条件がない限り、[Standard] インストールを選択します。[Save and continue] をクリックします。続いて何回か [Continue] ボタンをクリックし、データベース設定ページに移動します。前に入力した情報を使用して、ユーザーとデータベースを設定します。

ここでは例として、データベース名を "drupal"、ユーザー名を "drupaluser"、パスワードを "password" にします。プロファイルの作成で使用したものとは異なるパスワードを使用する必要があります。データベースの詳細を正しく入力した後、[Save and continue] をクリックします。

考慮事項: [Save and continue] をクリックすると、同じデータベース設定ページが表示されることがあります。その場合は、ページを更新して、データベースとプロファイルが適切に設定されたことを確認します。
ページの上部にある情報ボックスに、設定ファイルの権限を変更するかどうかを尋ねるメッセージが表示されます。ただし、それを行う前に、空白のフィールドに適切な情報を入力して、Web サイトの基本情報セクションを設定します。

[Save and continue] をクリックしてインストールを完了します。ドメイン名を入力して、新しい Drupal Web サイトにアクセスします。

関連する Alibaba Cloud プロダクト: Alibaba Cloud WAF、Alibaba CloudMonitor 本番運用環境の Web サイトの信頼性とセキュリティを高めることができます。

また、動作中のデータベースのスナップショットを取得することによってバックアップを行い、データベースの障害に対処することもできます。

Alibaba Cloud WAF は、SQL インジェクション、XSS、悪意のある BOT、コマンド実行脆弱性、その他の一般的な Web 攻撃を含む、Web ベースの攻撃に対する保護を提供するために使用できます。WAF は、多数の悪意のあるアクセス試行を除外し、サーバーへの HTTP/HTTPS フラッド攻撃のパフォーマンスへの影響を緩和します。

Alibaba CloudMonitor を使用して、リソースの稼働状況を詳細に把握することができます。CloudMonitor は、CPU 使用率やレイテンシなどの重要なメトリックに関する高度な分析を提供し、ビジネス要件に合わせてメトリックをカスタマイズすることもできます。