前回までの「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」をクリックします。

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

エラーになります。

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」のトップページにリダイレクトされるようにしたいと思います。
- コメントを投稿するにはログインしてください