前書き
Drupalは人気のあるコンテンツ管理システム(CMS)であり、インターネット上で最大のブログやWebサイトを運営しています。 ベースの安定性、プラットフォームの適応性、およびその活発なコミュニティにより、Drupalは10年以上もの間人気のある選択肢であり続けています。
このガイドでは、Ubuntu 14.04サーバーにDrupalをインストールする方法について説明します。 これはDrupalチームが推奨する構成であるため、Apacheを使用してサイトを提供します。
前提条件
このガイドを始める前に、いくつかの基本設定が完了したUbuntu 14.04サーバーが必要です。 Ubuntu 14.04 initial server setup guideに従って、sudo権限が設定されたroot以外のユーザーを取得します。
サーバーでApache、PHP、およびMySQLを構成する必要もあります。 getting LAMP installed on Ubuntu 14.04に関するガイドに従うことで、これを設定する方法を学ぶことができます。
上記の要件を満たしたら、このガイドに進みます。
Drupalファイルを取得してWebディレクトリにインストールする前に、システムを準備する必要があります。 Apache、PHP、およびMySQLはすでにインストールされていますが、インストールのためにいくつかの追加の変更を行い、これらのそれぞれにいくつかの調整を行う必要があります。
Drupal用のMySQLユーザーとデータベースの構成
最初に行うことは、使用するDrupalインストール用にMySQLユーザーとデータベースを構成することです。 セキュリティ上の理由から、専用のユーザーとデータベースを構成することが重要です。
開始するには、MySQLにログインします。
mysql -u root -p
そのソフトウェアのインストール中に設定したMySQLルートユーザーのパスワードの入力を求められます。
認証に成功すると、MySQLプロンプトが表示されます。 最初に、使用するDrupalインストール用のデータベースを作成します。 簡単にするために、データベースをdrupal
と呼びます。
CREATE DATABASE drupal;
次に、Drupalソフトウェアがデータベースへの接続に使用できるユーザーを作成する必要があります。 このガイドでは、ユーザーをdrupaluser
と呼びます。 下のブロックのパスワードを置き換える強力なパスワードを選択します。
CREATE USER [email protected] IDENTIFIED BY 'password';
これで、データベースとユーザーが作成されましたが、ユーザーにはまだデータベースに対してアクションを実行する権限がありません。 ユーザーにアクセス許可を付与することでこれを修正できます。 Drupalが正しく機能するには、さまざまな権限が必要です。 以下は、データベースを不必要に公開することなくソフトウェアが機能できるようにする適切な選択です。
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER,CREATE TEMPORARY TABLES,LOCK TABLES ON drupal.* TO [email protected];
これで、作成したデータベースを管理する権限がユーザーに付与されました。 これらの変更を今すぐ実装するには、特権情報をディスクにフラッシュする必要があります。
FLUSH PRIVILEGES;
これで、インタラクティブなMySQLセッションを終了できます。
exit
bash
セッションに戻ります。
PHPモジュールをインストールして構成を調整する
次に、Drupalアプリケーションが必要とするいくつかのPHPモジュールをインストールします。 幸いなことに、これらはUbuntuのデフォルトのリポジトリにあります。
ローカルパッケージキャッシュを更新し、次を入力してインストールします。
sudo apt-get update
sudo apt-get install php5-gd php5-curl libssh2-php
また、PHP構成ファイルにいくつかの小さな調整を加えます。 これらは、Drupal開発者によって推奨されています。 テキストエディターでsudo権限でApache PHP構成ファイルを開きます。
sudo nano /etc/php5/apache2/php.ini
expose_php
ディレクティブとallow_url_fopen
ディレクティブを検索し、両方を「オフ」に設定します。
. . .
expose_php = Off
. . .
allow_url_fopen = Off
. . .
完了したら、ファイルを保存して閉じます。
Apacheで書き換え機能とHtaccessファイルを有効にする
次に、Apacheを見てください。 まず、書き換え機能を有効にします。 これにより、DrupalサイトでURLを人間に優しい文字列に変更できます。
実際のApachemod_rewrite
モジュールは、デフォルトですでにインストールされています。 ただし、有効化されていません。 次のように入力して、スイッチを切り替えてそのモジュールを有効にできます。
sudo a2enmod rewrite
これにより、次にApacheを再起動したときにモジュールが有効になります。 Apacheを再起動する前に、.htaccess
ファイルを使用できるように仮想ホスト構成を調整する必要があります。 このファイルには実際の書き換えルールが含まれ、デフォルトでDrupalインストールに含まれます。
ここでデフォルトの仮想ホストファイルを開きます。
sudo nano /etc/apache2/sites-enabled/000-default.conf
「VirtualHost」ブロック内に、Webルートを指すディレクトリブロックを追加します。 このブロック内で、AllowOverride
ディレクティブを「All」に設定します。 ドメイン名を指すようにServerName
ディレクティブを追加し、有効な電子メールアドレスを反映するようにServerAdmin
ディレクティブを変更することもできます。
. . .
ServerName example.com
ServerAdmin [email protected]
DocumentRoot /var/www/html
AllowOverride All
. . .
完了したら、ファイルを保存して閉じます。
次に、Webサーバーを再起動して、ApacheとPHPの変更を実装するだけです。
sudo service apache2 restart
Drupalファイルをインストールする
これでシステムの準備ができたので、DrupalをWebルートにインストールできます。
実際には、最初にファイルをホームディレクトリに解凍し、適切な場所にコピーします。 そうすることで、何か問題が発生した場合や、後でファイルが誤って削除された場合に備えて、元のファイルにすぐにアクセスできます。
Drupal download pageに移動し、「推奨リリース」セクションで最新バージョンをチェックアウトします。 関心のあるバージョンのtar.gz
リンクを右クリックし、「リンクアドレスのコピー」またはブラウザが提供する同様のオプションを選択します。
サーバーに戻り、ホームディレクトリに移動し、wget
を使用して、コピーしたリンクを使用してプロジェクトファイルをダウンロードします。
cd ~
wget http://ftp.drupal.org/files/projects/drupal-7.32.tar.gz
リンクには、おそらく最後に異なるバージョン番号が付けられます。 ファイルがダウンロードされたら、次を入力してアプリケーションディレクトリを抽出します。
tar xzvf drupal*
次に、新しく抽出したディレクトリ構造に移動し、rsync
ユーティリティを使用して、すべてのファイルをサーバーのWebルートディレクトリに安全にコピーします。 このコマンドでドットを使用して、現在のディレクトリを指定しています。 これは、必要ないくつかの隠しファイルをコピーするために必要です。
cd drupal*
sudo rsync -avz . /var/www/html
これで、参照する必要がある場合に備えて、ホームフォルダー内のディレクトリにファイルの元のバージョンがあります。 Webルートディレクトリに移動して、インストールをカスタマイズします。
cd /var/www/html
セキュリティとインストールのしやすさのためにDrupalファイルを調整する
Webベースのインストールスクリプトでは、プロセスを正しく完了するために、Drupalディレクトリにいくつかの変更を加える必要があります。 これを事前に邪魔にならないようにして、Webブラウザとコマンドラインを切り替える必要がないようにします。
まず、サブツリーsites/default
の下にfiles
という新しいディレクトリを作成する必要があります。
mkdir /var/www/html/sites/default/files
次に、デフォルト設定ファイルを、Drupalがアクティブな構成に使用するファイル名にコピーする必要があります。
cp /var/www/html/sites/default/default.settings.php /var/www/html/sites/default/settings.php
このアクティブな設定ファイルには、インストール手順中に一時的に追加の権限が必要です。 当面は、グループオーナーに書き込み権限を付与する必要があります(グループオーナーを一時的にWebユーザーに割り当てます)。 インストールが成功した後、これを削除します。
chmod 664 /var/www/html/sites/default/settings.php
次に、ファイルのグループ所有権をWebユーザー(Ubuntuではwww-data
)に付与する必要があります。 Drupalインストール全体にこれらの所有権プロパティを付与します。
sudo chown -R :www-data /var/www/html/*
これで、サーバーはWebベースのインストールスクリプトを実行するように適切に構成されました。
Webベースのインストール手順を完了する
インストールの残りはWebブラウザーで行われます。 ブラウザを開き、サーバーのドメイン名またはIPアドレスに移動します。
http://server_domain_or_IP
Drupalのインストール手順の初期ページが表示されます。
理由がない限り、「標準」インストールを選択し、「保存して続行」をクリックします。 データベース構成ページが表示されるまで、次のいくつかの続行ボタンをクリックします。 データベースとユーザーを構成したときに使用した詳細を入力します。
このガイドでは、drupal
という名前のデータベース、drupaluser
という名前のデータベースユーザー、およびpassword
のパスワードを使用しました。 ユーザー作成段階で別のパスワードを選択しておく必要があります。 データベースの詳細を入力したら、[保存して続行]をクリックします。
Note:[保存して続行]をクリックすると、同じデータベース構成ページにリダイレクトされる可能性があります。 この場合は、ページを更新するだけです。 データベースが構成され、プロファイルがインストールされます。
ページの上部に、設定ファイルの権限を変更するのが適切であるという情報ボックスが表示されます。 これを一時的に行います。 今のところ、あなたのサイトに関するいくつかの基本的な情報を設定する必要があります。 サイトに適切な値を使用してフィールドに入力します。
最後に[保存して続行]ボタンをクリックして、インストールを完了します。 ドメイン名にアクセスしてサイトにアクセスできます:
Drupalのインストールが正常に完了しました。
ただし、権限のないユーザーが変更を加えることができないように、設定ファイルのアクセス許可を元に戻す必要があります。 サーバーで、次のように入力して、ファイルへの書き込みアクセスを制限します。
chmod 644 /var/www/html/sites/default/settings.php
これにより、設定ファイルへのさらなる変更がロックダウンされます。
トラブルシューティング
Drupalのインストールの最終段階が完了しない場合、エラーログを確認します。
sudo tail /var/log/apache2/error.log
次のようなエラーが表示された場合:
[Wed Nov 12 13:40:10.566144 2014] [:error] [pid 7178] [client 108.29.37.206:55238] PHP Fatal error: Call to undefined function field_attach_load() in /var/www/html/includes/entity.inc on line 316, referer: http://12.34.56.78/install.php?profile=standard&locale=en
sh: 1: /usr/sbin/sendmail: not found
これは、インストールが正常に完了しなかったことを示します。 Drupalによって文書化されたこのエラーには、かなりの数の原因と修正があります。
最も可能性の高い修正には、/etc/php5/apache2/php.ini
ファイルを編集してmax_execution_time
を上げることが含まれます。
sudo nano /etc/php5/apache2/php.ini
ファイル:
max_execution_time = 300
Safariなど、Chrome以外のブラウザーでブラウザーのインストールを試すこともできます。 ブラウザのCookie設定は、インストールに干渉する可能性があります。
いずれにせよ、修正を実装したら、既存のDrupalデータベースと既存の/var/www/html/sites/default/settings.php
ファイルを削除し、それらをデフォルトのコピーに置き換えて、インストールを最初からやり直す必要があります。 If you have any data or settings worth preserving, make backups.
これを行うには、MySQLとDROP DATABASE drupal;
にログインしてから、前のデータベースセクションを再度実行してデータベースを作成し、データベースに権限を付与します。
cp /var/www/html/sites/default/default.settings.php /var/www/html/sites/default/settings.php
を再度実行して、設定ファイルを置き換えることもできます。 必ずchmod 664 /var/www/html/sites/default/settings.php
コマンドを実行して、正しい権限を再度設定してください。
次に、おそらく別のブラウザーでIPアドレスに再度アクセスし、最終インストールを再試行します。
結論
これで、Drupalサイトを構築するための強固な基盤ができました。 Drupalは非常に柔軟で、ニーズとユーザーのニーズに基づいてサイトの外観と機能をカスタマイズできます。
ここからどこに行くべきかについてのいくつかのアイデアを得るには、私たちのDrupal tags pageにアクセスしてください。ここでは、途中で役立つチュートリアルを見つけることができます。 また、コミュニティから支援を受けたり、コミュニティに貢献するための質問と回答のエリアもあります。