ANNAIマガジン
xserver
この記事の目次

はじめに

日本国内の様々なレンタルサーバーに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データベースの追加

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

MySQLユーザーの追加

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

MySQLアクセス権の設定

詳しい手順については、エックスサーバーのマニュアルを参照してください。
https://www.xserver.ne.jp/manual/man_db_setting.php

以上で、Drupalサイト用のデータベースが準備できました。

  • データベース名:d8test_db
  • 接続ユーザー名:d8test_user
  • 接続パスワード:ユーザー追加時に指定したもの

なお、エックスサーバーではMySQLがWebサーバーと別のサーバーでホストされます。Drupalインストール時にこのホスト名が必要になるので、MySQLの設定画面で確認しておきましょう。

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にアクセスすると、インストール画面に転送されます。以後、画面の指示に従ってインストールを進めます。

Drupal 8 のインストール画面

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

データベースへの接続情報の指定

以後、手順を進めていくとインストールが完了し、Drupal 8サイトが表示されます。

信頼の置けるホストの設定

サイトの状態を確認すると、信頼の置けるホストの設定にエラーが表示されます。これは、sites/default/settings.phpファイルを編集して、次のようにホスト名の記述を追加することで表示されなくなります。

$settings['trusted_host_patterns'] = array(
  '^d8test\.xsrv\.jp$',
);

まとめ

エックスサーバーにDrupal 8をインストールし、php.iniの設定や.htaccessの変更など特別な調整は必要なく、用意したMySQLデータベースの接続情報を指定する標準的な手順でインストールできることを確認しました。体感的なパフォーマンスは良好で快適に使用できます。

この記事を書いた人 : Kenji Shirane

バージョン 4.6 のころから Drupal のお世話になっています。好きなモジュールは H5PQuiz。北海道小樽市在住。

関連コンテンツ