Apacheを使用してUbuntu 14.04サーバーにDrupalをインストールする方法

前書き

Drupalは人気のあるコンテンツ管理システム(CMS)であり、インターネット上で最大のブログやWebサイトを運営しています。 ベースの安定性、プラットフォームの適応性、およびその活発なコミュニティにより、Drupalは10年以上もの間人気のある選択肢であり続けています。

このガイドでは、Ubuntu 14.04サーバーにDrupalをインストールする方法について説明します。 これはDrupalチームが推奨する構成であるため、Apacheを使用してサイトを提供します。

前提条件

このガイドを始める前に、いくつかの基本設定が完了したUbuntu 14.04サーバーが必要です。 Ubuntu 14.04初期サーバー設定ガイドに従って、sudo権限が設定された非rootユーザーを取得します。

サーバーでApache、PHP、およびMySQLを構成する必要もあります。 https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-14のガイドに従って、これを設定する方法を学ぶことができます。 -04 [Ubuntu 14.04にLAMPをインストールする]。

上記の要件を満たしたら、このガイドに進みます。

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 '';

これで、データベースとユーザーが作成されましたが、ユーザーにはまだデータベースに対してアクションを実行する権限がありません。 ユーザーにアクセス許可を付与することでこれを修正できます。 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 =
. . .
allow_url_fopen =
. . .

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

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 `ディレクティブを“ All”に設定します。 ドメイン名を指す ` ServerName `ディレクティブを追加し、有効なメールアドレスを反映するように ` ServerAdmin +`ディレクティブを変更することもできます。

<VirtualHost *:80>
   . . .
   ServerName
   ServerAdmin [email protected]
   DocumentRoot /var/www/html




   . . .
</VirtualHost>

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

次に、Webサーバーを再起動して、ApacheとPHPの変更を実装するだけです。

sudo service apache2 restart

Drupalファイルをインストールする

これでシステムの準備ができたので、DrupalをWebルートにインストールできます。

実際には、最初にファイルをホームディレクトリに解凍し、適切な場所にコピーします。 そうすることで、何か問題が発生した場合や、後でファイルが誤って削除された場合に備えて、元のファイルにすぐにアクセスできます。

Drupalダウンロードページにアクセスし、「推奨リリース」セクションで最新バージョンをチェックアウトします。 興味のあるバージョンの `+ tar.gz +`リンクを右クリックし、「リンクアドレスのコピー」またはブラウザが提供する同様のオプションを選択します。

サーバーに戻り、ホームディレクトリに移動して、 `+ wget +`を使用して、コピーしたリンクを使用してプロジェクトファイルをダウンロードします。

cd ~
wget http://ftp.drupal.org/files/projects/drupal-.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://

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

image:https://assets.digitalocean.com/articles/drupal_ubuntu_1404/choose_profile.png [Drupalプロフィールを選択]

理由がない限り、「標準」インストールを選択し、「保存して続行」をクリックします。 データベース構成ページが表示されるまで、次のいくつかの続行ボタンをクリックします。 データベースとユーザーを構成したときに使用した詳細を入力します。

このガイドでは、「+ drupal 」というデータベース、「 drupaluser 」という名前のデータベースユーザー、および「 password +」というパスワードを使用しました。 ユーザー作成段階で別のパスワードを選択しておく必要があります。 データベースの詳細を入力したら、[保存して続行]をクリックします。

image:https://assets.digitalocean.com/articles/drupal_ubuntu_1404/database_config.png [Drupalデータベース構成]

:[保存して続行]をクリックすると、同じデータベース構成ページにリダイレクトされる可能性があります。 この場合は、ページを更新するだけです。 データベースが構成され、プロファイルがインストールされます。

ページの上部に、設定ファイルの権限を変更するのが適切であるという情報ボックスが表示されます。 これを一時的に行います。 今のところ、あなたのサイトに関するいくつかの基本的な情報を設定する必要があります。 サイトに適切な値を使用してフィールドに入力します。

image:https://assets.digitalocean.com/articles/drupal_ubuntu_1404/config_site.png [Drupal構成サイト]

最後に[保存して続行]ボタンをクリックして、インストールを完了します。 ドメイン名にアクセスしてサイトにアクセスできます:

画像:https://assets.digitalocean.com/articles/drupal_ubuntu_1404/installed_site.png [Drupal完了インストール]

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 =

Safariなど、Chrome以外のブラウザーでブラウザーのインストールを試すこともできます。 ブラウザのCookie設定は、インストールに干渉する可能性があります。

とにかく、修正を実装したら、既存の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は非常に柔軟で、ニーズとユーザーのニーズに基づいてサイトの外観と機能をカスタマイズできます。

ここからどこへ行くかについてのアイデアを得るには、https://www.digitalocean.com/community/tags/explore/drupal [Drupalタグページ]にアクセスしてください。ここで、道に沿って役立つチュートリアルを見つけることができます。 また、コミュニティから支援を受けたり、コミュニティに貢献するための質問と回答のエリアもあります。

前の投稿:ファイアウォールとは何ですか?
次の投稿:CDNを使用して静的コンテンツ配信を高速化する