Drupal
"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 のインストール
You may need the GD library for your Drupal installation. First install the php-gd package.
Edit /etc/php/php.ini
. Find the line with ;extension=gd.so
and uncomment it by removing the ";". If no such line is found, add it to the [PHP]
section of the file.
Restart Apache (httpd).
Postfix のインストール
Drupal でメールを送信するには、Postfix をインストールする必要があります。Drupal はアカウントの確認やパスワードのリカバリにメールを使います。まず postfix をインストールしてください。
- 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
- Start the Postfix service:
# systemctl start postfix
. - Send a test e-mail to yourself:
mail myusername@localhost
. Enter a subject, some words in the body, then pressCtrl+d
to exit and send the letter. Wait 10 seconds, and then typemail
to check your mail. If you've gotten it, excellent. - Make sure port 25 is fowarded if you have a router so that mails can be sent to the Internet at large
- Edit the file
/etc/php/php.ini
. Find the line that starts with,;sendmail_path=""
and change it tosendmail_path="/usr/sbin/sendmail -t -i"
- 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 の互換性
The 5.x and 6.x series of Drupal do not support PHP 5.3, and as a result are incompatible with the latest release of Xampp. Currently, the last Drupal-compatible version of Xampp is 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:
- Edit Xampp's configuration file
/opt/lampp/etc/php.ini
using your favorite editor. - 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.
- 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.