Drupal

提供: ArchWiki
2015年11月6日 (金) 19:18時点におけるKusakata (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

"Drupal は PHP で書かれたフリーのオープンソースコンテンツ管理システム (CMS) とコンテンツ管理フレームワーク (CMF) であり GNU General Public License で配布されている。" - Wikipedia

この記事では Drupal をセットアップして Apache, MySQL または PostgreSQL, PHP, Postfix を設定する方法を解説します。LAMP (Apache, MySQL, PHP) もしくは LAPP (Apache, PostgreSQL, PHP) サーバーが既にセットアップされていることが前提です。

インストール

Arch リポジトリ

公式リポジトリから drupal パッケージをインストールしてください。

/etc/php/php.ini を編集:

  • PHP のバージョンが 5.2.0 未満の場合、;extension=json.so という行を探して行頭の ";" を消してアンコメントしてください。そのような行が見つからない場合は、ファイルの [PHP] セクションに追加してください。
  • Drupal 7 を使うには、データベースの PDO 拡張を有効にしてください。MySQL の場合 extension=pdo_mysql.so という行をアンコメントする必要があります。
  • open_basedir = で始まる行を探してください。Drupal のインストールディレクトリ /usr/share/webapps/drupal//var/lib/drupal/ を追加します。/srv/http/ は使わない場合は削除してかまいません。

/etc/httpd/conf/httpd.conf を編集:

  • Drupal 専用のウェブサーバーにする場合、DocumentRoot "/srv/http" という行を探して Drupal のインストールディレクトリに変更してください: DocumentRoot "/usr/share/webapps/drupal"。それから "<Directory "/srv/http">" で始まるセクションを探して /srv/http を Drupal のインストールディレクトリに変更します: /usr/share/webapps/drupal。同じセクション内に、"AllowOverride All" という行が記述されているか確認してください。
  • Apache のバーチャルホストを使う場合、Apache#バーチャルホスト を見て下さい。

最後に /usr/share/webapps/drupal/.htaccess ファイルの deny from all という行をコメントアウトすれば httpd のアクセスが有効になります。Apache (httpd) を再起動してください。

手動インストール

http://drupal.org から最新パッケージをダウンロードして展開してください。フォルダを Apache の htdocs フォルダに移動します。ウェブブラウザを開いて、[localhost localhost] に移動してください。そして画面上の指示に従ってください。

GD のインストール

Drupal を動かすには GD ライブラリが必要です。先に php-gd パッケージをインストールしてください。/etc/php/php.ini を編集して ;extension=gd.so という行をさがし、";" を削除してアンコメントしてください。そのような行がない場合、ファイルの [PHP] セクションに追加してください。その後 Apache (httpd) を再起動します。

Postfix のインストール

Drupal でメールを送信するには、Postfix をインストールする必要があります。Drupal はアカウントの確認やパスワードのリカバリにメールを使います。まず postfix をインストールしてください。

  1. Edit Postfix configuration file /etc/postfix/main.cf as needed. All that you should have to do is change the hostnames under "Internet Host and Domain Names" myhostname = hostname1
  2. Start the Postfix service: # systemctl start postfix.
  3. Send a test e-mail to yourself: mail myusername@localhost. Enter a subject, some words in the body, then press Ctrl+d to exit and send the letter. Wait 10 seconds, and then type mail to check your mail. If you've gotten it, excellent.
  4. Make sure port 25 is fowarded if you have a router so that mails can be sent to the Internet at large
  5. Edit the file /etc/php/php.ini. Find the line that starts with, ;sendmail_path="" and change it to sendmail_path="/usr/sbin/sendmail -t -i"
  6. Restart the Apache web server.

Tips and tricks

Cron のスケジュール

Drupal recommends running cron jobs hourly. Cron can be executed from the browser by visiting [localhost/cron localhost/cron]. It is also possible to run cron via script by copying the appropriate file from the "scripts" folder into /etc/cron.hourly and making it executable.

Xampp の互換性

Drupal の 5.x と 6.x シリーズは PHP 5.3 をサポートしていないため、最新の Xampp とは互換性がありません。現在 Drupal に対応する最後の Xampp のバージョンは 1.7.1 です。

Note: Xampp's PHP memory limit currently defaults to 8MB. Also, Xampp ignores php.ini files in the Drupal directory. To fix this:

  1. Edit Xampp's configuration file /opt/lampp/etc/php.ini using your favorite editor.
  2. Search for the "memory_limit" line, and replace it with an appropriate value. Most Drupal installations just need 32MB, but sites with a lot of modules may need 100MB or more.
  3. Restart Xampp: /opt/lampp/lampp restart

アップロードプログレスが有効にならない

Upon successful installation you may see the following message in the Status Report:

Your server is capable of displaying file upload progress, but does not have the required libraries. It is recommended to install the PECL uploadprogress library (preferred) or to install APC.

First, install the php-pear package. Next, use the pecl command to automatically download, compile and install the library:

# pecl install uploadprogress

Finally, add to /etc/php/php.ini

extension=uploadprogress.so

Restart Apache.

トラブルシューティング

localhost にアクセスした時にブラウザが PHP のコードを表示してしまう

php-apache がインストールされていません。

Then, enable the PHP module in /etc/httpd/conf/httpd.conf by adding the following lines in the appropriate sections:

LoadModule php5_module modules/libphp5.so
Include conf/extra/php5_module.conf

If, when starting httpd, you get the following error:

httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

You should edit /etc/httpd/conf/httpd.conf. In that file find the line that looks similar to

#ServerName www.example.com:80

Uncomment it (remove # from the front) and adjust the address as needed. Restart httpd:

# systemctl restart httpd

localhost にアクセスしたときにセットアップページが表示されない

In this situation, you should navigate in your /srv directory and look for the drupal folder (most probably it will be in the http directory). Then edit /etc/httpd/conf/httpd.conf. and look for a line starting with DocumentRoot and change the path with that folder's path (for example DocumentRoot "/srv/http/drupal") and also find another line starting with <Directory and set the same path there as well. Restart httpd.

セットアップページが起動せず HTTP ERROR 500 が表示される

This may be because Drupal needs the json.so extension to be activated in your /etc/php/php.ini. Just uncomment in /etc/php/php.ini the line:

;extension=json.so

Restart httpd service.

See this link for info.

This can be caused because Drupal doesn't have access to its .htacccess, to enable this make sure that the directive AllowOverride All is set in your /etc/httpd/conf/httpd.conf or for your respective user directory.

See this link for info.

参照