
はじめに
日本国内の様々なレンタルサーバーにDrupal 8を導入する方法を紹介するシリーズ。今回は、パフォーマンスと負荷耐性の高さで定評があるエックスサーバー(XSERVER)を取り上げます。実際にDrupal 8をインストールし、正常に動作することを確認したので、具体的な手順を紹介します。
準備
サーバーの申し込み
エックスサーバーを利用するには、まず会員登録を行い、発行された会員IDで希望のサーバーID(管理画面へのログインIDやサーバーの初期ドメインとなる)を指定してサーバーを申し込みます。契約プランには、X10、X20、X30の3種類があり、詳細は下記ページで確認できます。
https://www.xserver.ne.jp/functions/
今回は、d8testというサーバーIDを指定してX10プラン(SSD 200GB、MySQLのデータベース数最大50個)のサーバーを申し込みました。オンライン申込みでサーバーアカウントが即時発行され、接続情報がメールで送信されます。サーバー申し込みと同時に自動登録される初期ドメインは「<サーバーID>.xsrv.jp」となります。この例では、d8test.xsrv.jpという初期ドメインが割り当てられ、 http://d8test.xsrv.jp/ というURLでブラウザからアクセスできるようになります。手順の詳細は、エックスサーバーのガイダンスを参照してください。
https://www.xserver.ne.jp/order/
SSH接続について
エックスサーバーはSSH(Secure Shell)接続に対応しており、ファイル転送も、SSH上で動作するSFTPやSCPというプロトコルを利用して、より安全に行うことができます。今回はSSHを利用してサーバーにログインし、ターミナルから操作を行うことにします。
エックスサーバーでSSHを利用するには、サーバーの管理画面からSSHを有効化し、認証用の公開鍵を登録します。公開鍵認証用の鍵ペアがない場合は、新しく生成してダウンロードすることもできます。詳細は、エックスサーバーのマニュアルを参照してください。
https://www.xserver.ne.jp/manual/man_server_ssh.php
なお、エックスサーバーではSSHのポート番号がデフォルトの22番から変更されています。接続するには、このポート番号を明示的に指定する必要があるので注意してください。
インストール手順
MySQLデータベースの作成
エックスサーバーでは、専用の管理画面で名前と文字コードを指定してデータベースを作成します。今回使用したX10プランでは、1ユーザーあたり最大50個までMySQLのデータベースを作成できます。データベース名は 「<サーバーID>_」 が接頭辞となり、その後に半角16文字以内の名前を指定します。ここでは 「db」 と入力して d8test_db という名前にしました。データベースの文字コードは、Drupal 8のシステム要件に基づきUTF-8を指定します。

次に、追加したMySQLデータベースに接続するためのユーザーIDを追加します。ユーザーIDは 「<サーバーID>_」が接頭辞となり、その後に続く半角9文字以内の名前、およびパスワードを指定して追加します。ここでは、「user」 と入力して d8test_user というユーザーIDを追加しました。

ユーザーIDを追加したら、先に作成したデータベースへのアクセス権を持つユーザーとして設定します。アクセス権未所有ユーザーに d8test_user が表示されていることを確認し、「追加」をクリックすると、アクセス権所有ユーザーとして d8test_user が設定されます。

詳しい手順については、エックスサーバーのマニュアルを参照してください。
https://www.xserver.ne.jp/manual/man_db_setting.php
以上で、Drupalサイト用のデータベースが準備できました。
- データベース名:d8test_db
- 接続ユーザー名:d8test_user
- 接続パスワード:ユーザー追加時に指定したもの
なお、エックスサーバーではMySQLがWebサーバーと別のサーバーでホストされます。Drupalインストール時にこのホスト名が必要になるので、MySQLの設定画面で確認しておきましょう。

Drupal 8の入手と展開
エックスサーバーでは、サーバーアカウントのホームディレクトリに、使用するドメインと同じ名前のディレクトリが用意され、その下のpublic_htmlディレクトリが、そのドメインのWebルートになります。
今回サーバー申込時に登録されたd8test.xsrv.jpであれば、ホームディレクトリの下のd8test.xsrv.jpディレクトリの下のpublic_htmlディレクトリがWebルートになります。以下では、このWebルートの下のd8というサブディレクトリにDrupalをインストールすることにします。
ターミナルからサーバーにログインし、ドメインのディレクトリの下のpublic_htmlディレクトリに移動します。
$ cd ~/d8test.xsrv.jp/public_html
Drupalコアのページで最新リリースのダウンロードURLを確認し、wgetコマンド等を利用してダウンロードします。
$ wget https://ftp.drupal.org/files/projects/drupal-8.5.6.tar.gz
取得した .tar.gz ファイルを展開し、生成されたディレクトリの名前をd8に変更します。
$ tar xzf drupal-8.5.6.tar.gz
$ mv drupal-8.5.6 d8
このディレクトリは、http://d8test.xsrv.jp/d8/ というURLで公開されます。
以上で準備完了です。エックスサーバーでは、php.iniの設定や.htaccessを変更することなくDrupal 8をインストールすることができます。
インストール
Webブラウザで上記のURLにアクセスすると、インストール画面に転送されます。以後、画面の指示に従ってインストールを進めます。

データベースの設定で、先に作成したMySQLのデータベースとユーザー名を指定します。また、エックスサーバーではMySQLサーバーのホストがWebサーバーと別なので、「高度なオプション」として明示的に指定する必要があります。

以後、手順を進めていくとインストールが完了し、Drupal 8サイトが表示されます。
信頼の置けるホストの設定
サイトの状態を確認すると、信頼の置けるホストの設定にエラーが表示されます。これは、sites/default/settings.phpファイルを編集して、次のようにホスト名の記述を追加することで表示されなくなります。
$settings['trusted_host_patterns'] = array(
'^d8test\.xsrv\.jp$',
);
まとめ
エックスサーバーにDrupal 8をインストールし、php.iniの設定や.htaccessの変更など特別な調整は必要なく、用意したMySQLデータベースの接続情報を指定する標準的な手順でインストールできることを確認しました。体感的なパフォーマンスは良好で快適に使用できます。
関連コンテンツ
Drupal 8初心者講座バックナンバー
Drupal初心者講座について
第1回 歴史に見るDrupal のDNA
第2回 Drupalはフレームワークか?CMSか?
第3回 Drupalの特徴
第4回 Drupal 8のインストール(1)
第5回 Drupal 8のインストール(2)
第6回 コンテンツを投稿してみる
第7回 ボキャブラリとタクソノミーを使う
第8回 コンテンツ管理におけるDrupalと他のCMSとの比較
第9回 Drupal 8のブロックシステム
第10回 Drupalの標準クエリービルダ Views
第11回 Drupalと他のCMSのクエリビルダー機能を比較
第12回 Drupal 8の多言語機能と他のCMSやサービスとの比較
第13回 Drupalの権限設定とWordPressやMovable Typeとの比較
第14回 Drupalのテーマシステムについて
第15回 Drupalの拡張モジュールの選定と利用方法
第16回 Drupalをもっと知りたい方に向けた各種情報