「Drupal」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(ページの作成:「Category:ウェブサーバー en:Drupal it:Drupal sr:Drupal zh-CN:Drupal ''"Drupal は PHP で書かれたフリーのオープンソースコンテ...」)
 
(カテゴリ変更)
 
(2人の利用者による、間の4版が非表示)
1行目: 1行目:
[[Category:ウェブサーバー]]
+
[[Category:コンテンツ管理システム]]
 
[[en:Drupal]]
 
[[en:Drupal]]
 
[[it:Drupal]]
 
[[it:Drupal]]
 
[[sr:Drupal]]
 
[[sr:Drupal]]
[[zh-CN:Drupal]]
+
[[zh-hans:Drupal]]
  +
{{Related articles start}}
''"Drupal は PHP で書かれたフリーのオープンソースコンテンツ管理システム (CMS) とコンテンツ管理フレームワーク (CMF) であり GNU General Public License で配布されている。"'' - [[Wikipedia:ja:Drupal|Wikipedia]]
 
  +
{{Related|LAMP}}
  +
{{Related|LAPP}}
  +
{{Related2|SQLite|LASP}}
  +
{{Related|MySQL}}
  +
{{Related|PostgreSQL}}
  +
{{Related|SQLite}}
  +
{{Related|Sendmail}}
  +
{{Related|Postfix}}
  +
{{Related|Exim}}
  +
{{Related articles end}}
  +
[[Wikipedia:ja:Drupal|Wikipedia]] より:
  +
:Drupal は PHP で書かれたフリーのオープンソースコンテンツ管理システム (CMS) とコンテンツ管理フレームワーク (CMF) であり GNU General Public License で配布されている。
   
この記事では Drupal をセットアップして [[Apache]], [[MySQL]] または [[PostgreSQL]], [[PHP]], [[Postfix]] を設定する方法を解説します。[[LAMP]] (Apache, MySQL, PHP) もしくは LAPP (Apache, PostgreSQL, PHP) サーバーが既にセットアップされていることが前提です。
+
この記事では Drupal をセットアップして [[Apache]], [[MySQL]] または [[PostgreSQL]], [[PHP]], [[Postfix]] を設定する方法を解説します。[[LAMP]] (Linux, Apache, MySQL, PHP) もしくは LAPP (Linux, Apache, PostgreSQL, PHP) または LASP (Linux, Apache, SQLite, PHP) サーバーが既にセットアップされていることが前提です。
   
 
== インストール ==
 
== インストール ==
   
  +
{{Pkg|drupal}} パッケージを[[インストール]]してください。
=== Arch リポジトリ ===
 
   
  +
== 設定 ==
[[公式リポジトリ]]から {{Pkg|drupal}} パッケージを[[インストール]]してください。
 
   
  +
=== PHP ===
{{ic|/etc/php/php.ini}} を編集:
 
*PHP のバージョンが 5.2.0 未満の場合、{{ic|<nowiki>;extension=json.so</nowiki>}} という行を探して行頭の ";" を消してアンコメントしてください。そのような行が見つからない場合は、ファイルの {{ic|<nowiki>[PHP]</nowiki>}} セクションに追加してください。
 
*Drupal 7 を使うには、データベースの PDO 拡張を有効にしてください。MySQL の場合 {{ic|<nowiki>extension=pdo_mysql.so</nowiki>}} という行をアンコメントする必要があります。
 
*{{ic|<nowiki>open_basedir =</nowiki>}} で始まる行を探してください。Drupal のインストールディレクトリ {{ic|/usr/share/webapps/drupal/}} と {{ic|/var/lib/drupal/}} を追加します。{{ic|/srv/http/}} は使わない場合は削除してかまいません。
 
   
{{ic|/etc/httpd/conf/httpd.conf}} を編集:
+
{{ic|/etc/php/php.ini}} を編集してください:
*Drupal 専用のウェブサーバーにする場合、{{ic|DocumentRoot "/srv/http"}} という行を探して Drupal のインストールディレクトリに変更してください: {{ic|DocumentRoot "/usr/share/webapps/drupal"}}。それから "{{ic|&lt;Directory "/srv/http"&gt;}}" で始まるセクションを探して {{ic|/srv/http}} を Drupal のインストールディレクトリに変更します: {{ic|/usr/share/webapps/drupal}}。同じセクション内に、"{{ic|AllowOverride All}}" という行が記述されているか確認してください。
 
*Apache のバーチャルホストを使う場合、[[Apache#バーチャルホスト]] を見て下さい。
 
   
  +
* 画像操作のサポートを有効にするために {{ic|<nowiki>extension=gd.so</nowiki>}} 行をアンコメントしてください。
最後に {{ic|/usr/share/webapps/drupal/.htaccess}} ファイルの {{ic|deny from all}} という行をコメントアウトすれば httpd のアクセスが有効になります。Apache (httpd) を[[デーモン#再起動|再起動]]してください。
 
   
  +
データベースのサポートを有効にするために、使用しているデータベースの PDO 拡張を有効にしてください:
=== 手動インストール ===
 
  +
* [[SQLite]] のサポートを有効にするには {{ic|<nowiki>extension=pdo_sqlite.so</nowiki>}} 行をアンコメントしてください。
  +
* [[MySQL]] のサポートを有効にするには {{ic|<nowiki>extension=pdo_mysql.so</nowiki>}} 行をアンコメントしてください。
  +
* [[PostgreSQL]] のサポートを有効にするには {{ic|<nowiki>extension=pdo_pgsql.so</nowiki>}} 行をアンコメントしてください。
   
  +
=== Apache ===
http://drupal.org から最新パッケージをダウンロードして展開してください。フォルダを Apache の htdocs フォルダに移動します。ウェブブラウザを開いて、[localhost localhost] に移動してください。そして画面上の指示に従ってください。
 
   
  +
Apache のサンプル設定ファイルをコピーしてください:
=== GD のインストール ===
 
  +
# cp /etc/webapps/drupal/apache.example.conf /etc/httpd/conf/extra/drupal.conf
   
  +
そして {{ic|/etc/httpd/conf/httpd.conf}} の末尾でファイルをインクルードしてください:
You may need the GD library for your Drupal installation. First install the {{Pkg|php-gd}} package.
 
  +
Include conf/extra/drupal.conf
Edit {{ic|/etc/php/php.ini}}. Find the line with {{ic|<nowiki>;extension=gd.so</nowiki>}} and uncomment it by removing the ";". If no such line is found, add it to the {{ic|<nowiki>[PHP]</nowiki>}} section of the file.
 
[[Daemons#Restarting|Restart]] Apache (httpd).
 
   
  +
{{ic|/etc/httpd/conf/httpd.conf}} の中の {{ic|LoadModule rewrite_module modules/mod_rewrite.so}} 行をアンコメントしてください。
=== Postfix のインストール ===
 
   
  +
=== Drupal ===
Drupal でメールを送信するには、[[Postfix]] をインストールする必要があります。Drupal はアカウントの確認やパスワードのリカバリにメールを使います。まず {{Pkg|postfix}} をインストールしてください。
 
# Edit Postfix configuration file {{ic|/etc/postfix/main.cf}} as needed. All that you should have to do is change the hostnames under "Internet Host and Domain Names" {{ic|myhostname &#61; hostname1}}
 
# Start the Postfix service: {{ic|# systemctl start postfix}}.
 
# Send a test e-mail to yourself: {{ic|mail myusername@localhost}}. Enter a subject, some words in the body, then press {{ic|Ctrl+d}} to exit and send the letter. Wait 10 seconds, and then type {{ic|mail}} 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 {{ic|/etc/php/php.ini}}. Find the line that starts with, {{ic|<nowiki>;sendmail_path=""</nowiki>}} and change it to {{ic|<nowiki>sendmail_path="/usr/sbin/sendmail -t -i"</nowiki>}}
 
# Restart the Apache web server.
 
   
  +
{{ic|/usr/share/webapps/drupal/.htaccess}} を編集して {{ic|Require all denied}} を {{ic|Require all granted}} に置き換えてください。
== Tips and tricks ==
 
   
  +
最後に、Apache を[[再起動]]してください ({{ic|httpd.service}})。http://localhost/drupal から Drupal を開くことができます。
=== 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 {{ic|/etc/cron.hourly}} and making it executable.
 
   
=== Xampp の互換性 ===
+
=== Drush ===
   
  +
[http://www.drush.org/ Drush] は Drupal のコマンドラインシェルであり Unix スクリプトインターフェイスです。Drush にはモジュール・テーマ・プロフィールなどを操作するための便利なコマンドが多数含まれています。また、update.php を実行したり、SQL クエリや DB の以降を行ったり、cron を実行したりキャッシュを削除するユーティリティも存在します。Drush はサードパーティ製のコマンドファイルで拡張することができます。{{AUR|drush}} パッケージでインストールすることが可能です。
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.
 
   
  +
=== Drupalconsole ===
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 {{ic|/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: {{ic|/opt/lampp/lampp restart}}
 
   
  +
[https://drupalconsole.com/ Drupalconsole] はボイラープレートコードを生成したり、Drupal 8 を操作・デバッグするための CLI ツールです。{{AUR|drupalconsole}} パッケージでインストールすることができます。
=== アップロードプログレスが有効にならない ===
 
   
  +
=== PHP-Codesniffer-Drupal ===
Upon successful installation you may see the following message in the Status Report:
 
{{bc|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.}}
 
   
  +
[https://www.drupal.org/project/coder PHP-Codesniffer-Drupal] は Drupal のコードがコーディング基準やベストプラクティスに沿っているかチェックします。{{AUR|php-codesniffer-drupal}} パッケージでインストールできます。
First, install the {{Pkg|php-pear}} package.
 
Next, use the '''pecl''' command to automatically download, compile and install the library:
 
# pecl install uploadprogress
 
Finally, add to {{ic|/etc/php/php.ini}}
 
extension=uploadprogress.so
 
Restart Apache.
 
   
== トラブルシューィング ==
+
== ヒンクニック ==
   
  +
=== メールの送信 ===
=== localhost にアクセスした時にブラウザが PHP のコードを表示してしまう ===
 
   
  +
ローカル環境からメールを送信する場合 Drupal は [[Sendmail]], [[Postfix]], [[Exim]] などの Sendmail 互換の MTA を必要とします。[https://drupal.org/project/smtp SMTP] や [https://drupal.org/project/phpmailer PHPMailer] などを使って外部のメールサーバーからメールを送信する方法もあります。詳しくは [https://www.drupal.org/search/site/mail 検索ページ] を使ってください。
{{Pkg|php-apache}} がインストールされていません。
 
   
  +
=== Cron によるスケジューリング ===
Then, enable the PHP module in {{ic|/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
 
   
  +
Drupal は1時間ごとに cron ジョブを実行することを推奨しています。http://localhost/drupal/cron を開いてブラウザから Cron を実行できます。適切なファイルを "scripts" フォルダから {{ic|/etc/cron.hourly}} にコピーして実行可能属性を付与することで、スクリプトから cron を実行することも可能です。
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 {{ic|/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 {{ic|/srv}} directory and look for the {{ic|drupal}} folder (most probably it will be in the {{ic|http}} directory). Then edit {{ic|/etc/httpd/conf/httpd.conf}}.
 
  +
{{bc|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.}}
and look for a line starting with {{ic|DocumentRoot}} and change the path with that folder's path (for example {{ic|DocumentRoot "/srv/http/drupal"}}) and also find another line starting with {{ic|<Directory}} and set the same path there as well. Restart httpd.
 
   
  +
まず {{AUR|php-pear}} パッケージをインストールしてください。そして、'''pecl''' コマンドを使ってバイナリを自動的にダウンロード・コンパイル・インストールします:
=== セットアップページが起動せず HTTP ERROR 500 が表示される ===
 
  +
# pecl install uploadprogress
 
  +
最後に {{ic|/etc/php/php.ini}} に以下を追加してください:
This may be because Drupal needs the {{ic|json.so}} extension to be activated in your {{ic|/etc/php/php.ini}}.
 
  +
extension=uploadprogress.so
Just uncomment in {{ic|/etc/php/php.ini}} the line:
 
  +
その後 Apache を再起動してください。
;extension=json.so
 
Restart httpd service.
 
 
See [http://drupal.org/node/1018824 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 {{ic|/etc/httpd/conf/httpd.conf}} or for your respective user directory.
 
 
See [https://httpd.apache.org/docs/current/mod/core.html#allowoverride this link] for info.
 
   
 
== 参照 ==
 
== 参照 ==
112行目: 92行目:
 
* [http://drupal.org/handbook Drupal 公式ドキュメント]
 
* [http://drupal.org/handbook Drupal 公式ドキュメント]
 
* [http://drupal.org/node/307956 Simple guide to install Drupal on Xampp]
 
* [http://drupal.org/node/307956 Simple guide to install Drupal on Xampp]
* [[LAMP]]
 

2017年10月20日 (金) 23:05時点における最新版

関連記事

Wikipedia より:

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

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

インストール

drupal パッケージをインストールしてください。

設定

PHP

/etc/php/php.ini を編集してください:

  • 画像操作のサポートを有効にするために extension=gd.so 行をアンコメントしてください。

データベースのサポートを有効にするために、使用しているデータベースの PDO 拡張を有効にしてください:

  • SQLite のサポートを有効にするには extension=pdo_sqlite.so 行をアンコメントしてください。
  • MySQL のサポートを有効にするには extension=pdo_mysql.so 行をアンコメントしてください。
  • PostgreSQL のサポートを有効にするには extension=pdo_pgsql.so 行をアンコメントしてください。

Apache

Apache のサンプル設定ファイルをコピーしてください:

# cp /etc/webapps/drupal/apache.example.conf /etc/httpd/conf/extra/drupal.conf

そして /etc/httpd/conf/httpd.conf の末尾でファイルをインクルードしてください:

Include conf/extra/drupal.conf

/etc/httpd/conf/httpd.conf の中の LoadModule rewrite_module modules/mod_rewrite.so 行をアンコメントしてください。

Drupal

/usr/share/webapps/drupal/.htaccess を編集して Require all deniedRequire all granted に置き換えてください。

最後に、Apache を再起動してください (httpd.service)。http://localhost/drupal から Drupal を開くことができます。

コマンドラインツール

Drush

Drush は Drupal のコマンドラインシェルであり Unix スクリプトインターフェイスです。Drush にはモジュール・テーマ・プロフィールなどを操作するための便利なコマンドが多数含まれています。また、update.php を実行したり、SQL クエリや DB の以降を行ったり、cron を実行したりキャッシュを削除するユーティリティも存在します。Drush はサードパーティ製のコマンドファイルで拡張することができます。drushAUR パッケージでインストールすることが可能です。

Drupalconsole

Drupalconsole はボイラープレートコードを生成したり、Drupal 8 を操作・デバッグするための CLI ツールです。drupalconsoleAUR パッケージでインストールすることができます。

PHP-Codesniffer-Drupal

PHP-Codesniffer-Drupal は Drupal のコードがコーディング基準やベストプラクティスに沿っているかチェックします。php-codesniffer-drupalAUR パッケージでインストールできます。

ヒントとテクニック

メールの送信

ローカル環境からメールを送信する場合 Drupal は Sendmail, Postfix, Exim などの Sendmail 互換の MTA を必要とします。SMTPPHPMailer などを使って外部のメールサーバーからメールを送信する方法もあります。詳しくは 検索ページ を使ってください。

Cron によるスケジューリング

Drupal は1時間ごとに cron ジョブを実行することを推奨しています。http://localhost/drupal/cron を開いてブラウザから Cron を実行できます。適切なファイルを "scripts" フォルダから /etc/cron.hourly にコピーして実行可能属性を付与することで、スクリプトから cron を実行することも可能です。

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

ステータスレポートで以下のようなメッセージが表示される場合:

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.

まず php-pearAUR パッケージをインストールしてください。そして、pecl コマンドを使ってバイナリを自動的にダウンロード・コンパイル・インストールします:

# pecl install uploadprogress

最後に /etc/php/php.ini に以下を追加してください:

extension=uploadprogress.so

その後 Apache を再起動してください。

参照