Apacheを使用してUbuntu14.04サーバーにDrupalをインストールする方法
序章
Drupalは、インターネット上で最大規模のブログやWebサイトのいくつかを運営するために使用される人気のあるコンテンツ管理システム(CMS)です。 ベースの安定性、プラットフォームの適応性、およびそのアクティブなコミュニティにより、Drupalは10年以上現場で人気のある選択肢であり続けています。
このガイドでは、Ubuntu14.04サーバーにDrupalをインストールする方法について説明します。 これはDrupalチームが推奨する構成であるため、Apacheを使用してサイトにサービスを提供します。
前提条件
このガイドを開始する前に、いくつかの基本的な構成が完了したUbuntu14.04サーバーが必要です。 Ubuntu 14.04初期サーバーセットアップガイドに従って、sudo特権がセットアップされたroot以外のユーザーを取得します。
また、サーバーでApache、PHP、およびMySQLを構成する必要があります。 これを設定する方法については、 Ubuntu14.04にLAMPをインストールするためのガイドに従ってください。
上記の要件を満たしたら、このガイドを続けてください。
Drupalファイルを取得してWebディレクトリにインストールする前に、システムを準備する必要があります。 Apache、PHP、およびMySQLはすでにインストールされていますが、インストールのためにいくつかの追加の変更を加え、これらのそれぞれにいくつかの調整を加える必要があります。
Drupal用にMySQLユーザーとデータベースを構成する
最初に行うことは、Drupalインストールで使用するMySQLユーザーとデータベースを構成することです。 セキュリティ上の理由から、専用のユーザーとデータベースを構成することが重要です。
まず、MySQLにログインします。
mysql -u root -p
そのソフトウェアのインストール中に構成したMySQLrootユーザーのパスワードの入力を求められます。
認証に成功すると、MySQLプロンプトが表示されます。 まず、Drupalインストールで使用するデータベースを作成します。 データベースと呼びます drupal
簡単にするために:
CREATE DATABASE drupal;
次に、Drupalソフトウェアがデータベースへの接続に使用できるユーザーを作成する必要があります。 このガイドでは、ユーザーを呼び出します drupaluser
. 以下のブロックのパスワードを置き換える強力なパスワードを選択してください。
CREATE USER drupaluser@localhost IDENTIFIED BY 'password';
これで、データベースとユーザーができましたが、ユーザーにはまだデータベースに対してアクションを実行する権限がありません。 ユーザー権限を付与することでこれを修正できます。 Drupalが正しく機能するには、さまざまな権限が必要です。 以下は、データベースを不必要に公開することなくソフトウェアが機能できるようにするための適切な選択です。
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER,CREATE TEMPORARY TABLES,LOCK TABLES ON drupal.* TO drupaluser@localhost;
これで、作成したデータベースを管理する権限がユーザーに付与されました。 これらの変更を今すぐ実装するには、特権情報をディスクにフラッシュする必要があります。
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権限を使用してApachePHP設定ファイルを開きます。
sudo nano /etc/php5/apache2/php.ini
を検索します expose_php
ディレクティブと allow_url_fopen
ディレクティブを作成し、両方を「オフ」に設定します。
. . .
expose_php = Off
. . .
allow_url_fopen = Off
. . .
終了したら、ファイルを保存して閉じます。
Apacheでリライト機能とHtaccessファイルを有効にする
次に、Apacheを見てみましょう。 まず、書き換え機能を有効にします。 これにより、DrupalサイトがURLを人間にわかりやすい文字列に変更できるようになります。
実際のApache mod_rewrite
モジュールはデフォルトですでにインストールされています。 ただし、有効になっていません。 次のように入力すると、スイッチを切り替えてそのモジュールを有効にできます。
sudo a2enmod rewrite
これにより、次にApacheを再起動したときにモジュールが有効になります。 Apacheを再起動する前に、仮想ホスト構成を調整して、 .htaccess
ファイル。 このファイルには実際の書き換えルールが含まれ、Drupalのインストールにデフォルトで含まれています。
今すぐデフォルトの仮想ホストファイルを開きます。
sudo nano /etc/apache2/sites-enabled/000-default.conf
「VirtualHost」ブロック内に、Webルートを指すディレクトリブロックを追加します。 このブロック内で、 AllowOverride
「すべて」への指示。 また、追加することもできます ServerName
ドメイン名をポイントして変更するディレクティブ ServerAdmin
有効な電子メールアドレスを反映するディレクティブ:
<VirtualHost *:80>
. . .
ServerName example.com
ServerAdmin webmaster@example.com
DocumentRoot /var/www/html
<Directory /var/www/html>
AllowOverride All
</Directory>
. . .
</VirtualHost>
終了したら、ファイルを保存して閉じます。
ここで、ApacheとPHPへの変更を実装するためにWebサーバーを再起動する必要があります。
sudo service apache2 restart
Drupalファイルをインストールする
システムの準備ができたので、DrupalをWebルートにインストールできます。
実際には、最初にファイルをホームディレクトリに解凍してから、適切な場所にコピーします。 そうすることで、何か問題が発生した場合や、後で誤ってファイルが削除された場合に、元のファイルにすぐにアクセスできるようになります。
Drupalダウンロードページに移動し、「推奨リリース」セクションで最新バージョンをチェックアウトします。 右クリック 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ユーザーに付与する必要があります。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
. ユーザー作成段階で別のパスワードを選択する必要があります。 データベースの詳細を入力したら、[保存して続行]をもう一度クリックします。
注:[保存して続行]をクリックすると、同じデータベース構成ページにリダイレクトされる可能性があります。 この場合は、ページを更新してください。 データベースが構成され、プロファイルがインストールされます。
ページの上部に、設定ファイルの権限を変更することが適切になったことを示す情報ボックスが表示されます。 これはすぐに行います。 今のところ、サイトに関するいくつかの基本情報を設定する必要があります。 サイトに適切な値を使用してフィールドに入力します。
最後に「保存して続行」ボタンをクリックして、インストールを完了します。 これで、ドメイン名に移動してサイトにアクセスできます。
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データベースと既存のDrupalデータベースを削除する必要があります /var/www/html/sites/default/settings.php
ファイルを作成し、それらをデフォルトのコピーに置き換えて、インストールを最初からやり直します。 保存する価値のあるデータや設定がある場合は、バックアップを作成してください。
これを行うには、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タグページにアクセスしてください。ここでは、途中で役立つチュートリアルを見つけることができます。 また、コミュニティからの支援やコミュニティへの貢献のための質問と回答の領域もあります。