カラフルボックスで始める - はじめての Craft CMS (3) 「Craft CMS のインストール」

人気のレンタルサーバー「カラフルボックス」に Craft CMS をインストールする方法をご紹介します。

Craft CMS Logo

これは Craft CMS Advent Calendar 2019 の13日目の記事です。また、「カラフルボックスで始める - はじめての Craft CMS」シリーズの第3回です。

今日は、今イチオシの CMS である Craft CMS を、高機能・高品質な高速レンタルサーバー「カラフルボックス」にインストールする手順をご紹介します。

SSH でサーバーに接続

昨日作成したアカウントでカラフルボックスにログインして、cPanel を開いてください(昨日の記事参照)。

続いて cPanel の検索ボックスに「ssh」と入力し、出てきた候補の中の「Terminal」をクリックします。

下図のよう「このインターフェイスを使用する場合は十分注意してください。コマンドラインツールを誤用すると、データが破壊されたり、破壊される可能性があります。」に警告が表示されますが、理解した上で「理解したので、進みます。」をクリックします。

これは脅しではありませんが、コマンドラインでの作業はリスクがある反面、非常に便利でもあるので、少しずつ慣れていくと良いでしょう。ただし、Craft CMS では、インストール以外にはコマンドラインツールを使わなくても大丈夫です。実は、インストール自体もコマンドラインでなくてもできるのですが、手間が増えるのでおすすめしません。

さて、下図のようなコンソールが開きました。

試しに ll と小文字のLを2つ入力してエンターキーを押してみてください。下図のようにディレクトリやファイルが一覧表示されます。現在居る場所が、ユーザーのホームディレクトリです(前回作ったデータベースユーザーは関係ありません。サーバーのユーザーです)。

Craft CMS のインストール前の準備

Craft CMS のインストールの前に、前回の記事で作成した下記の情報をすぐにコピペできるようにどこかに用意しておいてください。

  • データベース名(xxxxxxxx_craftcms
  • データベースユーザー名(xxxxxxxx_craftcms_user
  • データベースユーザーパスワード

Craft CMS のインストール

さて、いよいよ Craft CMS のインストールを行います。

ここからはコマンドラインで行う、いわゆる「黒い画面」ですが、ご安心ください。基本的にコピペで大丈夫です。

なお、下記でコマンドを書いて行きますが、例えば、

$ cd

という場合は cd を入力してエンターキーを押すという意味になります。つまり、$(ドルマーク)の後ろがコマンドということになります。

さて、始めましょう。

まず、念の為ユーザーのホームディレクトリに戻ります。

$ cd

そして下記のコマンドで Craft CMS をインストールします。この中の最後の craftcms の部分だけは自由に決められます。

$ composer create-project craftcms/craft craftcms

これは、現在居るディレクトリに craftcms というサブディレクトリを作って、そこに Craft CMS をインストールする、という意味になります。

このサブディレクトリを Craft CMS の「プロジェクトルートディレクトリ」といいます。

上記コマンドを入力してエンターを押して少し待つとInstalling craftcms/craftという言葉とともにインストールが始まります。

しばらくして下図のように Craft CMS と大きなアスキーアートが表示されれば Craft CMS の本体がインストールされました。

続いてセットアップを行います。上図の赤枠部分のコマンド ~/craftcms/craft setup をコピーして、ペーストしてエンターキーを押します。

$ ~/craftcms/craft setup

次に下記のように順に質問されますので、下記のように答えてエンターキーを押しておきます。

Which database driver are you using? [mysql,pgsql,?]: mysql(mysqlと入力してエンター)
Database server name or IP address: [localhost](何も入力せずにエンター)
Database port: [3306](何も入力せずにエンター)
Database username: [root] xxxxxxxx_craftcms_user(先に準備したデータベースユーザー名を入力してエンター)
Database password:(先に準備したデータベースユーザーパスワードを入力してエンター)
Database name: xxxxxxxx_craftcms(先に準備したデータベース名を入力してエンター)
Database table prefix:(何も入力せずにエンター)

すると下記のようにメッセージが表示され、Craft CMS の管理者アカウント、およびサイトのセットアップに移ります。

Testing database credentials ... success!
Saving database credentials to your .env file ... done

Install Craft now? (yes|no) [yes]:(何も入力せずにエンター)

続いて、下記のように順に質問されますので、下記を参考に入力してエンターキーを押しておきます。

Username: [admin] craft-admin(管理者のユーザー名を半角英数で入力してエンター。admin のままの運用は避けましょう)
Email: info@example.com(管理者のメールアドレスを入力してエンター)
Password:(管理者のパスワードを入力してエンター)
Confirm:(もう一度管理者のパスワードを入力してエンター)
Site name: かたつむりくんのWWW(サイト名を入力してエンター)
Site URL: @web(ひとまず @web と入力してエンター)
Site language: [en-US] ja-JP(日本語の場合は ja-JP と入力してエンター)

これでインストール完了です。

ディレクトリ構成の微調整

Craft CMS はインストールした時点では、作成した Craft CMS のプロジェクトルートディレクトリの中の web ディレクトリがドキュメントルートに相当する構成になっています。

下記のコマンドで、その web ディレクトリの中身を見てみましょう。なお、下記コマンド中の ~/ は「ユーザーのホームディレクトリ」を意味します。

$ ls -a1 ~/craftcms/web/

すると下記のようにリストアップされます。

.
..
.htaccess
cpresources
index.php
web.config

しかし、カラフルボックスでは、ユーザーのルートディレクトリ直下の public_html ディレクトリがデフォルトのドキュメントルートとなります。

craftcms/web(Craft CMS の想定するドキュメントルート)

public_html(カラフルボックスのドキュメントルート)

したがって、下記のコマンドで、この craftcms/web の中身をすべて public_html の中に移動します。

$ mv ~/craftcms/web/* ~/public_html/
$ mv ~/craftcms/web/.htaccess ~/public_html/

craftcms/web の中身が空になったことを確認してみましょう。

$ ls -a1 ~/craftcms/web/
.
..

public_html の中身も確認してみましょう。

$ ls -a1 ~/public_html/
.
..
.htaccess
.well-known
cgi-bin
cpresources
error_log
index.php
web.config

カラフルボックスの public_html に初めから入っているファイルもありますが、ファイルが無事移動されていることが確認できました。

ファイルマネージャーで編集

さて、ここで一旦コマンドラインツールを離れます。以下の作業もコマンドラインツールでも出来ますが、今後のために cPanel のファイルマネージャーを使ってみたいと思います。

cPanel のトップページへ戻り「ファイルマネージャー」をクリックします。

ファイルマネージャーが別ウィンドウで開きますので、左ウィンドウの「public_html」をクリックし、右ウィンドウの「index.php」をクリックし「編集」をクリックします。

Edit」をクリックします。

ブラウザ上でサーバー上の「index.php」が編集できます。なんとも便利ですね。

この index.php の 7 行目にある

define('CRAFT_BASE_PATH', dirname(__DIR__));

の部分を下記のように変更して「変更を保存」をクリックして、その右隣の「閉じる」をクリックしてウィンドウを閉じます。

define('CRAFT_BASE_PATH', dirname(__DIR__).'/craftcms');

セキュリティ対策

次に少しセキュリティ対策をしておきます。

ファイルマネージャーで上記で編集した index.php を選択し、今度は「アクセス許可」をクリックします。

この index.php は今後編集する機会は少ないので、読み取り専用にしておきます。

これまで WordPress のサイトで、この最初にアクセスが集まるトリガーとなるファイルを改ざんされ、例えば Google からのアクセスのみ全く関係ない別サイトに飛ばされる、という事例を2つほど見てきました(それらのサイトは Craft CMS でリニューアルしました)ので、こういったファイルは編集されにくくしておきましょう。

同様にファイルマネージャーで、左ウィンドウの「carftcms」「config」の順にクリックし、右ウィンドウの「general.php」をクリックし「編集」をクリックします。

'cpTrigger' => 'admin',

とある部分の admin をお好みの管理画面のトリガー名(ディレクトリ名のようなイメージ)に変更してください。ここでは craft-admin とします。実際はもっと固有の推測されにくいものにしましょう。

'cpTrigger' => 'craft-admin',

変更の保存」をクリックして、その右隣の「閉じる」をクリックしてウィンドウを閉じます。

これはセキュリティ向上のために必ず変更することをおすすめします。

これで作業完了です!

サイトの確認

ファイルマネージャーのウィンドウを閉じ、cPanel に戻り、右側の「プライマリドメイン」のところにある URL をクリックしてみましょう。

下図のような Craft CMS のデフォルト画面が表示されれば成功です。

また、管理画面にもアクセスしてみましょう。今開いている URL 末尾に、先程 admin から変更した管理画面のトリガー名(ここでは craft-admin )をつけてアクセスして見てください。

お疲れさまでした!


次回から、Craft CMS をいじって行きましょう。

Published 2019-12-13
Updated 2019-12-13