CIVICTHEME JOURNAL 11

公開準備その2

約3,000文字 読了目安:約7分

この記事の目次

Drupal 10.3.2のインストール

SSHやComposerが用意出来ていますので、Drupal10.3.2をインストールしていきます。

その前に、XserverにてこのWEBサイトのドメインを取得しておきます。

取得したサブドメイン drupal.hooked-on01.com

SSHでログインするとプライマリはhooked-on01.comとなっており、そこにpublic_htmlフォルダがあります。Xserverのサブドメインはこのpublic_html内にdrupal.hooked-on01.comのフォルダが作成されていますのでそこに移動します。


// このフォルダ内にDrupal Coreをインストールしていきます。 //
$ cd hooked-on01.com/public_html/drupal.hooked-on01.com
// 公式のガイド //
$ composer create-project drupal/recommended-project:10.3.2 "install-dir"
// 実際のインストール //
$ composer create-project drupal/recommended-project:10.3.2
// recommended-projectフォルダを作成します。今回これでインストールしています。 //

Drupalインストールの流れ

  1. $ composer create-project drupal/recommended-project:10.3.2
  2. $ composer require drush/drush
  3. drush site:install –account-name=admin –account-pass=admin -y
  4. https://drupal.hooked-on01.com/recommended-project/web/ ※WEB上の設定画面
  5. 上記にアクセスしDrupalの設定を進めます。

ここで、問題が生じます。mbstring.encoding_translation = Offのエラーです。

WEB上からのインストールが進まなかったのでターミナルからのインストールに切り替えます。

$ drush site:install

※ターミナルの情報を記録しなかったのでコマンドやターミナル画面情報はご容赦ください。

DBの設定を行い無事Drupalの管理画面にログイン出来ます。

参照

drushのインストールをComposer経由で行いデフォルトだと、drushの実行は$ ./vendor/drush/drush/drush cr のような形でパスを指定して実行しなければいけません。これだと作業性が悪いので~/.bash_profileにパスを通して$ drush crの形でdrushの実行ができるようにしていまします。

# ./vendor/bin/のパスを:~/.bash_profile に追加(bash使用時)
$ echo 'export PATH="./vendor/bin:$PATH"' >> ~/.bash_profile
$ source ~/.bash_profile
# 以上で
$ ./vendor/drush/drush/drush cr //この指定から
$ drush cr //この指定での実行が可能になります。

先ほどのmbstringのエラーを解決していきます。

mbstringのエラー

mbstring.encoding_translation = Offのエラー

マルチバイトの処理に関わるエラーでPHPが推奨していません。これはphp.iniに記述されています。Xserverはサブドメインには.user iniというファイルを置いて管理しています。


// エラーの原因となっている //
mbstring.encoding_translation = Off
// ではなく //
mbstring.encoding_translation = 0
// がデフォルトで推奨されています。フォルダ内の.user iniを書き換える事で解決します。//

mbstringのエラーは解決しましたが管理画面にもう一つエラーが出ています。

HTTPホストヘッダー攻撃に対する設定をしてくださいとの内容です。

HTTPホストヘッダー攻撃設定

HTTPホストヘッダー攻撃に対する設定をしてくださいとの内容です。


// web/site/default/settings.phpに以下の記述をします。 //
$settings['trusted_host_patterns'] = [ '^drupal\.hooked-on01\.com$',];
// 自身のサイトのみホストパートナーとする設定にします。これで解決します。 //

// マルチサイトなどで複数のドメインやサブドメインが必要である場合 //
$settings['trusted_host_patterns'] = [  '^example\.com$',  '^.+\.example\.com$',  '^example\.org$',  '^.+\.example\.org$', ];
// のような形で設定します。 //

これでインストール時点で発生したエラーを解決できました。

Civic Themeのインストール

Drupalのインストールが無事終わったのでCivic Themeのインストールをします。

Civic Themeのインストールは、インストール前にパッチを当てる必要があります。

パッチの当て方とインストールについてはThemeのインストールにまとめてありますのでそちらを参照ください。

パッチも無事あたり、Civic Theme 1.8.1も無事インストール出来ます。Local設定で出たエラーのbeta版選択やserchAPIの問題も同様に処理していきます。

サブテーマがインストール不可

Civic Theme 1.8.1のメインテーマのインストールが終わり、サブテーマをインストールします。テーマ自体はインストール出来ていますが、デザイン面に不具合が出ています。インストール後にnpmコマンドでNode.jsのインストールを行い、Figmaのインストールを行っていく必要があります。今回Nodebrewを使い、Node.jsをインストールしていきますが、16系以降はエラーが出て使えません。

色々調べるのですが、Xserverの共有レンタルサーバーではNode.js 17以下しか使用できません。こればかりはどうしようもないので、諦めてサブテーマではなくメインテーマでWEBサイトを構築する事にします。

今回、Localでしか使った事がないDrupalとCivicテーマをサーバーにて動かす事が出来たのは進歩でありますので、しばらくこれで動かしながら、Node.Jsが最新とまではいかなくても、20以上のバージョンが使えるサービスを探し、そちらでしっかり動かしていく事にします。

しばらくは仮運用のような形ですが、VPSのサービスで対応出来そうなので、サービス内容と料金を考えて進めていきます。

すべての記事を見る ↗