akihisa211

 

前回までの「Drupal」インストール準備で「Xserver」へのインストールは簡単に行えるはずです。

今回は、「Composer」で最新の「Drupal」をインストールしたいと思います。

まずは、運用しているサイトのディレクトリに移動します。

「Xserver」だと「public_html」がサイトのトップなので、そのディレクトリへ移動します。

「Drupal」の最新版は、次の「Composer」コマンドで入手出来ます。

$ composer create-project drupal/recommended-project <プロジェクト名>

公式を見ると、これが最新版をインストールするコマンドのはずなのに、過去の「Drupal」を動くようにするためのコマンドが長々と書いてあり分かりにくいので、今回に限っては公式を見ないほうがいいかもしれません。

<プロジェクト名>には「Drupal」をインストールするディレクトリ名を入れます。ここでは「drupal」とします。

$ composer create-project drupal/recommended-project drupal

「composer install」が実行され、最新安定版の「Drupal」と依存ファイルがダウンロードされます。

もし、違うバージョンの「Drupal」をインストールしたい場合は、インストールしたい「Drupal」のタグを指定してやると良いようです。
次のような感じです。

$ composer create-project drupal/recommended-project:8.9.2 <プロジェクト名>

<プロジェクト名>で指定したディレクトリに移動します。今回は「drupal」ディレクトリに移動します。

$ cd drupal

「Drupal」をコマンドラインから、キャッシュのクリアーやモジュールをenableにすることが出来る「Drush」をインストールします。ちなみに「drush dl(ダウンロード)」は出来なくなっています。モジュールのダウンロードは「Composer」で行います。

$ composer require drush/drush

コマンドの実体が、drupal/vendor/drush/drush/ にdrushファイルとして作成されるので、次のように起動できます。

$ ./vendor/drush/drush/drush version

コマンドのパスを毎回指定するのは面倒なので、「drush-laucher」(https://github.com/drush-ops/drush-launcher)をインストールして、出来た「.phar」ファイルを、$HOME/bin ディレクトリにリネーム(移動)します。

$ curl -OL https://github.com/drush-ops/drush-launcher/releases/latest/download/drush.phar
$ mv drush.phar $HOME/bin/drush

一応、更新しておきます。

$ source .bashrc

確認します。

$ drush --version
Drush Launcher Version: 0.10.1
Drush Commandline Tool 11.0.9

ここで、「drush」の「site:install」を使用するとデータベース情報を指定してやるコマンドラインだけで「Drupal」が使用可能になります。

なりますが、まずWebフォームUIを使ったインストールを行います。

<自分のサイト>/drupal/web/ へアクセスします。

インストーラーが起動し、次の画面になります。
「日本語」が選択されているのを確認して、「Save and continue」をクリックします。

Drupal Install Screen01

 

インストールプロフィールを聞かれるので「標準」を選択して「保存して次へ」をクリックします。

Drupal Install Screen02

 

エラーになります。

Drupal Install Screen03

 

PHPのマルチバイト文字列入力変換が有効になっているので無効にしなさいとのことです。

自分のサイトにphpinfoファイルを作成して、確認します。

  phpinfoファイルとは、

  ファイル名:phpinfo.php

  中身<?php
  phpinfo();
  これを、自分のサイトにアップしてアクセスすると、設置したディレクトリのPHP情報を取得することが出来ます。
  確認したらファイルを削除してください。

確認した結果、何度見返してもマルチバイト文字列入力変換は「無効」になっています。ハマりました。

結論からいうと、PHP的にはマルチバイト文字列入力辺りの設定は非推奨で、いずれ消す予定のようです。

Drupalもそれを見越してなのか、マルチバイト文字列入力辺りの設定していると文句を言ってくるようです。具体的には、「mbstring.encoding_translation」をOnでもOffでもダメで、エラー内容はとは関係なく「php.ini」にこの設定があるだけでアウトです。なので、「Xserver」の「php.ini直接編集」で以下の部分全部消します。「php.ini設定変更」UIのほうは妙な表示になりますが気にしてはいけません。

mbstring.internal_encoding = UTF-8
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encoding_translation = Off

あと、ついでに

mbstring.substitute_character = none

となっていますが、PHP公式が推奨している表記に変えます。

mbstring.substitute_character = NULL

これで、問題なくインストール出来るはずですが、せっかくなので「drush」を使ったインストールを試してみたいと思います。

次のような感じです。

$ drush site:install
 Database name [drupal]:
 > <サーバーID>_db
 Database driver [mysql]:
 >   # 「MariaDB」のドライバーは「mysql」になります。空欄のままエンターを押します。
 Database username [drupal]:
 > <サーバーID>_usr
 Database password [drupal]:
 > <MariaDBにデータベースを作った時のパスワード>
 Database host [127.0.0.1]:
 > 
 Database port [3306]:
 >

 You are about to:
 * DROP all tables in your '<サーバーID>_db' database.
 Do you want to continue? (yes/no) [yes]:
 > yes

 [notice] Starting Drupal installation. This takes a while.
 [notice] Performed install task: install_select_language
 [notice] Performed install task: install_select_profile
 [notice] Performed install task: install_load_profile
 [notice] Performed install task: install_verify_requirements
 [notice] Performed install task: install_settings_form
 [notice] Performed install task: install_verify_database_ready
 [notice] Performed install task: install_base_system
 [notice] Performed install task: install_bootstrap_full
 [notice] Performed install task: install_profile_modules
 [notice] Performed install task: install_profile_themes
 [notice] Performed install task: install_install_profile
 [notice] Performed install task: install_configure_form
 [notice] Performed install task: install_finished
 [success] Installation complete.  User name: admin  User password: **********
User name: admin  User password: **********

「Drupal」用の「admin」ユーザーを作成し、そのパスワードも自動で作成されます。

これで、<自分のサイト>/drupal/web/にアクセスすると「Drupal」のトップページが表示されます。

 

今回は、「Drupal」を「Xserver」にインストールしました。

次回は、<自分のサイト>にアクセスした時、ディレクトリを指定せずとも「Drupal」のトップページにリダイレクトされるようにしたいと思います。

カテゴリー