【Drupal】レンタルサーバーLOLIPOPにDrupal10をインストールしてみた

【Drupal】レンタルサーバーLOLIPOPにDrupalをインストールしてみた
sinceretechnology

 

 

 

 

 

はじめに

 

 

DrupalをLOLIPOPレンタルサーバーにDrupalをインストールしてみました。確かに要件的には満たしていそうですが、ルート権限を持たないためDrushなどバックエンド側のコマンドやパーミッションの設定に疑問を感じてやっていませんでした。しかし、レンタルサーバーはVPSやクラウド環境と比べて格安な上にサーバーやOSに関する保守は管理会社任せにすることができます。今回利用するLOLIPOPレンタルサーバー ハイスピードプランは、月額550円〜と格安価格にも関わらず、WebサーバーにLiteSpeedを採用しており高速で動作する上に400GBのSSDストレージが使用できます。LOLIPOPレンタルサーバー ハイスピードプランはコストパフォーマンス的に優れていますので、Drupalを利用したサイト構築をおすすめします。

 

【ロリポップとConoHa WING徹底比較】失敗しないサーバーの選び方!

 

 

 

 

 

Drupal 10インストール要件

 

 

Web sever

 

Drupal は、UNIX/Linux、OS X、または Windows でホストされる Apache 2.x 上で動作します。 Drupal 9 には少なくとも Apache 2.4.7 が必要です。Nginxの場合は、レガシー バージョン (0.7.x、0.8.x、1.0.x、1.2.x)、安定版 1.8.x バージョン、およびメインライン 1.9.x バージョンで動作します。  
また、WindowsIISでは、PHP が正しく構成されている場合、Drupal コアは IIS 5、IIS 6、IIS 7、IIS 8、または IIS 10 で動作します。

 

 

PHP

 

Drupal10の場合、PHP7以前は利用できません。

 

PHPのバージョンDrupal によるサポートサポート付きの最初の Drupal リリースおすすめされた?
7.39.x (以下の注 2)8.6.4

いいえ

7.49.x8.8.3

いいえ

8.09.x9.1.0

はい

8.1 (以下の注 1)9.x、10.x9.3.0

はい

8.210.x10.0.0

はい

 

 

Database

 

データベースにはMYSQL以外にもPOSTGRESなどがご利用いただけますが、LOLIPOPレンタルサーバーで利用できるデータベースに制限があるので、ここではMYSQLの要件のみ記載します。

 

MYSQL

  • マリアDB 10.3.7+
  • MySQL/Percona 5.7.8+

 

 

Memory

 

Minumum 1GB以上

 

Lolipopはベーシックプラン(旧ハイスピードプラン)でテストしてみます。

ベーシクップランはWEBサーバーが、Drupal要件のNGINXかAPACHE2ではありません。ただスペックもコストパフォーマンス的にも良いプランですのでこちらでやってみます。

 

 

 

 

 

LOLIPOPレンタルサーバーハイスピードプランの契約

 

 

LOLIPOPは契約前に10日間の無料お試し期間がありますので、じっくり触ってみてから契約することができます。

 

 

お試し期間(10日間)を過ぎると自動的にサービスが終了するため注意が必要です。

 

 

 

 

SSH設定

 

レンタルサーバーですのでルート権限はありませんが、SSHでターミナルから操作することも可能です。

※OS関連の保守はサーバー管理会社が行いますので安心です。

 

 

ここでSSHを有効にするを選択するとSSH情報が表示されて接続できるようになります。

 

 

 

公開鍵の設定

 

 

ssh {ユーザアカウント}@ssh.lolipop.jp -p 2222

パスワードを聞かれるので画面に表示されているパスワードをコピーして画面上にペーストします。

 

 

このままでは毎回パスワードを要求されるため公開鍵をサーバーに設定してクライアントから秘密鍵で接続できるようにします。

設定場所は、~/.ssh/authorized_keysです。

 

mkdir  ~/.ssh/authorized_keys
        vi ~/.ssh/authorized_keys

 

 

ここに公開鍵を設定します。

 

chmod 600  ~/.ssh/authorized_keys

これで、秘密鍵から接続できるようになりました!

 

 

ちなみに、~/.sshフォルダのconfigファイルに以下の設定をすると、ショートカットを利用することができ毎回sshコマンドを叩く必要はなくなります。

 

以下の場合だと、ssh lolipopd で接続が可能になります。

複数のサーバーを管理している場合はとても重宝する機能ですのでぜひ使ってみてください。

 

#lolipop common ssh info
        Host  lolipop*
          HostName ssh.lolipop.jp
          Port 2222
          HostKeyAlgorithms +ssh-rsa
          PubkeyAcceptedKeyTypes +ssh-rsa
        #lolipop
        Host  lolipopd
          User ここにユーザアカウントを設定
          IdentityFile ここに秘密鍵のパスを設定
        

 

 

 

 

LOLIPOP ドメイン設定

 

 

サブドメインまたはドメインを設定します。

 

 

 

サブドメインを設定する場合は、ドメインとサブドメインを入力します。

 

 

独自ドメインまたはサブドメイン作成時にはドキュメントルートとなる公開フォルダを作成しますが、Drupalをインストールするときは、プロジェクトフォルダの下にwebフォルダを作成します。

具体的には、公開フォルダ入力時に、例えばプロジェクトフォルダがdrupal10の場合には以下ののように入力します。

 

drupal10/web

 

こうすることにより、drupal10フォルダの下にwebフォルダが作成され、最下層のwebフォルダがドキュメントルートになります。

 

 

 

PHP設定確認

 

 

レンタルサーバーは必要なパッケージはインストール済みですので、バージョン等は管理画面で設定する必要があります。

Lolipopレンタルサーバー ハイスピードプランではPHP7以前のバージョンはご利用いただけないので、Drupal7など古いバージョンのアプリをインストールする際には注意が必要です。

 

 

 

ドキュメントルートでphpが動作するようにpathを通しておく。ここではphp8.2の場合を想定しています。phpのバージョンにより下記フォルダの名称を7.4、8.1に変更してください。

 

# phpのパスを通しておく
        export PATH="$PATH:/usr/local/php/8.2/bin"

 

2024/4/21 追記

ログイン時のパス自動設定追加

 

shellを起動した時に、~/.bashrcファイルを読み込めよって設定をしています。

 
vi ~/.bash_profile

 

以下の内容を~/.bash_profileに貼り付けます

if [ -f ~/.bashrc ]; then
   source ~/.bashrc
fi

 

以下コードを~/.bashrcに設定します。

export PATH="$PATH:/usr/local/php/8.2/bin"

 

以上で、設定が完了しました。

ssh接続をして、shellが起動されるたびに、毎度pathが設定されるようになりました。
再起動してphp -vが実行されることを確認してみてください。

 
php -v

phpコマンドが使用できるようになりました。

 

 

Drupalファイルの取得

 

ここではComposerを使用して、LolipopレンタルサーバーにDrupalインストール用のファイルを取り込みます。

 

 

プロジェクトフォルダに移動します。

この場合はdrupal10です。

 

cd drupal10

 

 

次にcomposerをインストールします。

 

php  -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));"
        

 

 

ComposerコマンドでDrupalファイルを取得設定します。  
このとき、念の為プロジェクトフォルダを直接置き換えるのではなくtmpフォルダに作成します。

 

php  composer.phar create-project drupal/recommended-project:10.0.x-dev@dev tmp 

 

 

問題なくtmpフォルダが生成できれば、tmpフォルダ以下のものをすべてプロジェクトフォルダ(ここではdrupal10)にコピーします。

 

cp -r tmp/.  .

 

 

drushをインストールします。

 

php  composer.phar  require drush/drush

 

 

Drush Launcherがインストールできないため、venderフォルダ内のdrushスクリプトを直接実行します。

 

./vendor/drush/drush/drush --version

 

 

以下のようにバージョンが表示されればインストールができています。

 

 

  • ロリポップは共有サーバーのため、制限があります。SSH接続は可能ですが、ターミナルからデータベースの操作は制限がかけられています。そのため、Drushでデータベースのインポートやエクスポート、また設定の変更もできません。
  • ロリポップでcomposerを実行すると「PHP Fatal error: Out of memory」が表示される場合があります。ロリポップではphp.iniが変更できないため、このエラーが出てしまうとcomposerでのインストールを諦めるしかありません。他の方法としては、ローカル環境でcomposerを実施し、FTPなどでサーバーにアップする方法があります。

 

 

 

 

Database作成

 

 

LOLIPOPレンタルサーバーではMYSQLが利用できます。Drupal用のデータベースを管理画面であらかじめ作成します。

 

 

 

 

 

 

ドキュメントルートの設定確認

 

 

Drupalをインストールする場合、ドキュメントルートはDrupalプロジェクトフォルダの中のwebフォルダに設定する必要があります。ロリポップサーバーでは、メインメニューから独自ドメインの画面でドキュメントルートフォルダを変更することが可能です。

 

 

 

 

Drupalインストール

 

ここまできてようやくDrupalのインストールができるようになります。

 

しかし残念ながら、DRUSHコマンドでDRUPALインストールを最後まで完了することはできません。

理由は、先程作成したデータベースが外部のサーバーに存在していて、SSHから直接MYSQLデータベースを操作できないためです。

 

本来はDrushコマンドを実行することでインストールが完了しますが、今回はウェブからインストーラの画面の指示にしたがってインストールを実施します。

 

ちなみに、以下がDRUSHコマンドでインストールを実行するコマンドです。

LILIPOPレンタルサーバーで実際に実行してみると、以下のようなエラーが発生します。

 

drush site:install --db-url=mysql://${recipe}:${recipe}@database/${recipe} \
                --account-name=${adminuser} \
                --account-pass=${adminpass} \
                -y
        

 

 

 

 

Drupalインストーラを利用したウェブからのインストール

 

 

WEBからドメインをアクセスするとインストール画面が表示されて対話形式でインストールすることができます。ガイダンスにしたがって入力します。

 

 

 

データベースは先ほど作成したデータベース情報を入力します

 

 

 

データベースのホスト名は、Localhostから変更する必要があるので、高度なオプションをクリックしてデータベース作成時に管理画面に表示されたホスト名を設定します。

 

 

 

問題なければインストールが始まります

 

 

 

サイト環境設定画面が表示されますので必要な情報を入力してください。

 

 

 

インストールが正常に終了すると以下のような画面が表示されます。

 

 

 

 

 

 

提供モジュールのインストール

 

 

Composerコマンドを使用して提供モジュールをインストールしようとしたところ、メモリー不足のエラーが発生しました。FTPまたはSFTPで実施するしか方法がないみたいです。

モジュールによってはライブラリのインストールが必要なものもあります。レンタルサーバーの場合は追加でインストールすることができないため、ライブラリーのインストールを要求された場合は諦めるしかありません。レンタルサーバーはパッケージとしてすでに出来上がった環境のためその点仕方ないですね。

 

 

 

 

 

さいごに

 

 

いかがでしたでしょうか。ロリポップサーバーは長期契約の場合、利用料金は月額500円程度です。そしてなんといっても400GBのSSDを自由に利用することができます。WordPressでは実績があり皆さんLOLIPOPで運用されている方も多いと思いますが、Drupalはあまり情報なく制約が多いレンタルサーバーで運用されている方は少ないと思います。時代はクラウドやVPSですが、レンタルサーバーはサーバーのコストパフォーマンスやメンテナンス性を考えると、捨てたものではないと思っています。もしいまDrupalでシステム構築を検討しているのであれば、選択肢の一つに入れてみてはいかがでしょうか。

 

 

 

 

 

参考

 

 

【ロリポップとConoHa WING徹底比較】失敗しないサーバーの選び方!

https://qiita.com/ArataKinjo/items/0fa2b50ec04047fb5183

 

 

 

 


この記事に関するご質問やご意見などございましたらお問い合わせフォームからお気軽にご連絡ください。