【Drupal】Drupal9ローカル環境構築3 
~Drupal起動~

前回の続きです。

いよいよDrupalをインストールします。

このサイトからDrupal9のインストールファイル(tar.gz形式)をダウンロードしましょう。

tar.gzとは

「tar」はファイルをまとめていることを示し、「gz」はgzip機能を使って圧縮していることを示します。
つまり、tar.gzは、ファイルをまとめて圧縮したファイル形式ということになります。よく知られているのはzip形式のファイルだと思います。 zipはファイルをまとめる機能と圧縮する機能両方を一気にやっちゃいました!というようなイメージです。 一方、tar.gzは、一度ファイルをまとめて「tar」ファイルにした後、「gzip」により圧縮しています。

ダウンロードしたファイルをWinSCPを使って以下に格納しましょう。

/var/www/html

WinSCPとは…

FTPというプロトコルで、サーバとファイルをやり取りできるソフトウェアです。

このソフトも仕事ではよく使用します。Teratermだけだとファイルの転送はやりづらいのです。。

なぜ/var/www/htmlに配置するかというと、Apacheが外部に公開するディレクトリがデフォルトで/var/www/htmlとなっているからです。
これはドキュメントルートと呼ばれ、特別な理由がない限りは変更しないほうがいいです。 変更すると、影響箇所が広いので。

ファイルを格納したら、以下のコマンドでDrupal9のインストール資材を解凍します。

$ cd /var/www/html/

↓xは実際のバージョンを入れてください。

$ tar xvzf drupal-9.x.x.tar.gz

drupal-9.x.xというディレクトリが/var/www/html/に展開できれば成功です。

次に、展開されたディレクトリ名を変更します。

↓YYYは任意の文字。サイト名を示す文字が良い。

$ mv drupal-9.x.x YYY

ディレクトリ名を変更しない場合、Drupal9へのサイトアクセスURLが「~/drupal-9.x.x/~」となります。

では、ブラウザで以下にアクセスしてDrupal9をインストールしましょう。

「http://centOSのIPアドレス/上記で変更したディレクトリ名」
(例:http://192.168.56.100/okiyan)

以下のような画面が表示されれば成功です。言語を選択して「Save and continue」をクリックします。

なんか怒られていますね。

「The translations directory does not exist」と「The translation server is offline」です。
「translation」は翻訳という意味なので、翻訳するためのディレクトリがなくて困っているよというエラーです。つまりは 「sites/default/files/translations」ディレクトリを作成しろということです。以下のコマンドで作成しましょう。

$ mkdir -p /var/www/html/サイト名/sites/default/files/translations
$ chmod 777 -R /var/www/html/testoki/sites/default/files

それではもう一度!しかしまた同じ画面となります。。

調べたところ、SELinuxが有効となっているためとのこと。以下でSELinuxを無効化。

$ vi /etc/selinux/config
(変更前)SELINUX=enforcing
(変更後)SELINUX=disabled

そしてOS再起動

うまくいきました!「標準」を選んで「保存して次へ」をクリックします。

なんかまた怒られていますね。それぞれ以下のように解決します。

設定ファイル

以下のコマンドで設定ファイルを作成しましょう。
$ cp /var/www/html/サイト名/sites/default/default.settings.php /var/www/html/サイト名/sites/default/settings.php
$ chmod 777 /var/www/html/サイト名/sites/default/default.settings.php /var/www/html/サイト名/sites/default/settings.php
/etc/httpd/conf/httpd.confに以下を追加
<Directory “/var/www/html”>
AllowOverride All
</Directory>
/etc/httpd/conf/httpd.confの154行目を
AllowOverride All
とする。

その他

「PHP OPCODE キャッシング」と「UNICODE ライブラリー」ですが、PHPのパッケージが足りていないことを示しています。
足りない機能をインストール
$ dnf install php-opcache
$ dnf install php-mbstring

ページを再読み込みすると、データベース情報を入力する画面が表示されます。
データベース情報を入力して「保存して次へ」をクリックします。

また怒られました。。orz

「ユーザのIdent認証に失敗しました。」はPostgresqlの設定のようです。

今回の解決策は、Ident認証を、パスワード認証であるMD5に変更することです。
以下のように変更します。

/var/lib/pgsql/data/pg_hba.confの81行目あたり

# IPv4 local connections:
#host all all 127.0.0.1/32 ident
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
#host all all ::1/128 ident

無事インストールが開始されました!

好きなようにサイト情報を入力します。 「更新の通知」は、ネットにつながない環境だったらOFFでもいいと思います。

ここで入力したユーザ名は、Drupal画面を操作するrootユーザとなるので、忘れないようにしてください!

以下のような画面が表示されればDrupalインストール完了です!お疲れさまでした!

一応、設定を変更しろとのことなので、以下のコマンドを実行します。

chmod 644 /var/www/html/サイト名/sites/default/settings.php

以上で、ローカル環境にDrupalがインストールできました。

私はこの本(Drupal 9 Module Development)でDrupalの 勉強をしています。
Drupal9に関する日本語の本にはない、Drupalの具体的な実装方法が記載されています。