インストールの手順を掲載した記事です
Connect-CMS公式サイトの『さくらのレンタルサーバーの初期ドメインにディレクトリインストールする』(GitHub Wiki)を下敷きに、自分の理解と採用している手順をまとめたものです。
想定読者は「趣味でホームページを作ったことはあるけど、Connect-CMSのインストール経験はない人」(半年前の自分)です。
すでに経験ある人のために、無駄な説明を隠せるようにもしています。
目次(章)
OFFにすると、その章の概要だけを表示します。
|
A. 事前準備 |
|
B. データベースの作成 |
|
C. Connect-CMSのインストール |
|
D. シンボリックリンクの作成 |
|
E. 管理者パスワードの変更 |
サンプル
・「 USERNAME 」を さくらの初期アカウント として想定します。
・「 example.com 」を 独自ドメイン として想定します。
みなさんは自分のもので読み替えて下さい。
A.事前準備
[ 概要 ]
- 独自ドメインの入手、さくらのレンタルサーバーとの紐付け、SSL化を行う[省略]
- Connect-CMSの利用パターンを選ぶ
- https://~ で普通のhtmlにアクセスしてみる(DNSはOK?)
- 使用するソフトウェアをインストールする[省略]
独自ドメインの入手、さくらのレンタルサーバーとの紐付け、SSL化を行う[省略]
Connect-CMSの利用パターンを選ぶ
Connect-CMSを使えば、簡単にWebサイトが作れます。
その際、作成方針として
という2つの選択肢が挙げられます。
パターン1 は、新しくWebサイトを作るような状況です。
例えば、 https://www.example.com/ で表示されるindexページからConnect-CMSを使う場合です。
すなわち、Webサイトの一番上からConnect-CMSの影響下です。
パターン2 は、既存のWebサイトにConnect-CMSの機能を使って新しいコーナーを新設するような状況です。
例えば、学校のWebサイトで「トップページといくつかの下位コンテンツ(学校紹介や学事歴)」は従来のページをそのまま使うが、「日々の活動」はConnect-CMSのブログ機能を使って新しく作ることにする、というような場合です。
https://www.example.com/blog/ があって、そのblogディレクトリの中でConnect-CMSが働いているイメージです。
すなわち、blogディレクトリ以下だけがConnect-CMSの影響下です。
以下にまとめます。
インストール作業が少し変わるため、どちらのパターンになるかを考えておきましょう。
パターン1
サイト全体をConnect-CMSで作る場合
https://www.example.com/のルート直下から Connect-CMSの影響下
パターン2
特定のサブディレクトリ以下をConnect-CMSで作る場合
https://www.example.com/ のWebサイトのうち、 https://www.example.com/test01/以下だけ がConnect-CMSの影響下
後からでも改修できますが、最初に決めておいた方が楽です。
https://~ で普通のhtmlにアクセスしてみる(DNSはOK?)
適当なindex.htmlページをアップロードし、上のA-2で想定したURLにアクセスできることを確認しておきましょう。
インストールに失敗したとき、Connect-CMSの設定を間違えたのか、それともレンタルサーバー側の設定を間違えたのかを明確にするための操作です。
すでに適切な表示を確認しているなら、この操作は飛ばして構いません。
操作手順
(1)~(3)について、WinSCPなどで行っても構いません。
(1)
さくらのレンタルサーバーのコントロールパネルにログインする
(2)
「Webサイト/データ」から「ファイルマネージャー」を開く
(3)
/home/USERNAME/www/ の直下に、独自ドメインと同じ名前のディレクトリを作成する
ここでは「 example.com 」というディレクトリを作成しました。みなさんは自分の独自ドメインの名前でディレクトリを作成して下さい。
この「example.comディレクトリ」を https://www.example.com のルート位置(一番上のディレクトリ)として使うことになります。
Webサイトを作ったことのある人なら、このようにディレクトリを作成すると、「https://www.example.com/
そのため、この後、さくらのレンタルサーバーに備わっている機能を使い、 /home/USERNAME/www/example.com/ と https://www.example.com/ が対応するようにズラします。これは手順(5)-(6)あたりで行います。
ちなみに、この「初期ドメイン直下に独自ドメインと同じ名前のディレクトリを作る」という操作は必須ではありません。しかし、レンタルサーバーで新しいWebサイトを構築する際、これを自分ルールとして適用しておくと、後で別の独自ドメインを取得することになった場合にファイルの整理が楽になります。要するに、今後、1つのレンタルサーバー内で複数の独自ドメインを同居させて運用していくことを見据えた配慮です。
ここからパターン1とパターン2に分けて説明します。
不要な方を非表示にできます。
パターン1
サイト全体をConnect-CMSで作る場合
(4)
確認用のindex.htmlをアップロードする
example.comディレクトリ直下( つまり、 /home/USERNAME/www/example.com/index.html )となるようにindex.htmlをアップロードして下さい。
簡単なindex.htmlを作りましたので、ダウンロードしてお使い下さい。
(5)
さくらの「Web公開フォルダ」でディレクトリの対応関係を調整する
操作
- さくらのコントロールパネルで「ドメイン/SSL」→「ドメイン/SSL」→ 該当ドメインの「設定」ボタンを押す
- 「Web公開フォルダ」で[~/www| /example.com/ ]と入力する(自分のディレクトリ名で読み替えて下さい)
操作の意味
サーバー上のディレクトリと独自ドメインのルートを合わせます。すなわち、 https://www.example.com/ にアクセスすると /home/USERNAME/www/example.com/ の中身が表示されるように調整しています。
(6)
ブラウザで独自ドメインのURLにアクセスし、表示を確認する
https://www.example.com に相当するURLにアクセスします。
正しくindexページが表示されない場合、ファイルまでのパス(=そのファイルへの階層関係)が合っていないか(403エラー)、DNSが反映されていない(DNSエラー)、などが考えられます。
(7)
index.htmlを削除する
index.htmlの適切な表示を確認したら、後の説明の条件をそろえるため、index.htmlを削除しておきます。
以上の操作で「DNSが正しく反映されている」ことが分かりました。
よくある「正しいURLでアクセスしたのにWebページが表示されない」原因のひとつをクリアしたわけです。
では、パターン2で説明します。
パターン1の人は、紫の枠が終わるまで飛ばして下さい。
パターン2
特定のサブディレクトリ以下をConnect-CMSで作る場合
(4)
階層関係をつくる
サブディレクトリにインストールする場合、example.comディレクトリを基準に「右クリックから『表示アドレスへの操作』→『フォルダ作成』と『名前の入力』を必要な数だけ繰り返し、階層関係を作って下さい。
ここでは https://www.example.com/test01/~ を Connect-CMS で作成する状況を想定し、/home/USERNAME/www/example.com/test01 のように1つのディレクトリの作成と命名をしました。
それぞれのディレクトリ階層に合わせて読み替えて下さい。
(5)
確認用のindex.htmlをアップロードする
階層関係に応じて、Connect-CMSで動かすディレクトリにindex.htmlをアップロードして下さい( /home/USERNAME/www/example.com/test01/index.html のようになる感じ)。
(6)
さくら側の設定で「Web公開フォルダ」を合わせる
操作
- さくらのコントロールパネルで「ドメイン/SSL」→「ドメイン/SSL」→ 該当ドメインの「設定」ボタンを押す
- 「Web公開フォルダ」で[~/www| /example.com/ ]と入力する
(つまり、「 / 」と「 独自ドメイン名 」と「 / 」だけを入れる)
操作の意味
サーバー上のディレクトリと独自ドメインのルートを合わせます。すなわち、 https://www.example.com/ にアクセスすると /home/USERNAME/www/example.com/ の中身が表示されるようにつなぎ方を調整しています。
そして、そこを基準にディレクトリ階層を下り、予定した位置で正しくindex.htmlが表示されることを確認します。
(7)
index.htmlのあるURLにアクセスし、表示を確認する
https://www.example.com/test01/index.html に相当するURLです。
自分の独自ドメインで読み替えて下さい。
(8)
index.htmlまでのディレクトリを丸ごと削除する
index.htmlの適切な確認したら、今後の説明の条件をそろえるため、index.htmlまでのディレクトリを削除します。
当然ですが、要るファイルまで削除しないように注意して下さい。
下図ではindex.htmlごとtest01ディレクトリを削除しました。
以上の操作で「DNSが正しく反映されている」ことが分かりました。
よくある「正しいURLでアクセスしたのにWebページが表示されない」原因のひとつをクリアしたわけです。
PHPのバージョンを選択する
Connect-CMSが採用している「Laravel」のバージョンにより、使うべきPHPのバージョンが決まります。
2022年9月2日時点でConnect-CMSを構成するLaravelは「8系」であり、さくらのレンタルサーバー内ではPHP7.4とPHP8.0が使用可能です。
ちなみに、Connect-CMSで採用されているLaravelのバージョンは [ Laravel Framework 8.83.23 ] でした(2022年9月2日)。 8.67.0 よりも後のバージョンですので、今後さくらのレンタルサーバー内で用意されれば PHP8.1 の環境でも動作します。
(1)
コントロールパネルの「スクリプト設定」→「言語のバージョン設定」で、PHPの選択画面を開く
(2)
PHP7.4 か PHP8.0 を選択する
私はPHP8.0を使用しています。
使用するソフトウェアをインストールする
このページでは以下の3つのソフトウェアを使って説明します。
同様の機能をもつなら、別のソフトウェアでも構いません。
① WinSCP
② PuTTY
③ TeraPad
具体的なインストール手順は省略します。
他のサイトでご確認下さい。
B.データベースの作成
[ 概要 ]
さくらのレンタルサーバーの機能を使い、Connect-CMSで使用するデータベース(ファイル)を新しく作成します。
(1)
コントロールパネルの「Webサイト/ファイル」→「データベース」で、データベース管理画面を開く
(2)
[新規追加]ボタンを押す
(3)
データベース名を入力し、「同意する」にチェックを入れ、[作成する]ボタンを押す
さくらのレンタルサーバーでは「USERNAME_○○」という名前で作られます。
例えば、「 USERNAME_connect-cms01 」。
(4)
データベース(ファイル)が作成されたことを確認する
接続パスワードも確認しておく
接続パスワードを設定していない場合、[設定]ボタンより登録して下さい。
その際、接続パスワードに「 # 」を使わないようにして下さい。
(インストールの最終段階でエラーを引き起こします)
以上で準備は整いました。
次からConnect-CMSの本体をインストールしていきます。
C.Connect-CMSのインストール
[ 概要 ]
さくらのレンタルサーバーにリモート接続をし、Connect-CMSのダウンロード、Connect-CMSとデータベースとの接続設定、データベースの初期設定などを行います。
(1)
PuTTYでさくらのレンタルサーバーにアクセスします
・ポート: 22
・接続タイプ: SSH
・アカウント: USERNAME
・パスワード: コントロールパネルのログイン用パスワード
以後、黒背景に白抜きの文字はPuTTYでのコマンド操作を意味します。
(2)
説明のスタート地点を合わせるため、ホームディレクトリに移動します
cd
ホームディレクトリに移動するLinuxコマンドです。
Windowで言うと「 C\ユーザー\taro みたいなフォルダに移動する 」と思って下さい。
ログイン直後はホームディレクトリにいるため、実はあまり意味のない操作だったりしますが、念のためです。
pwd
Linuxでいま自分がいるディレクトリを教えてくれるコマンドです。
/home/USERNAME
(3)
Webアプリ全般を収める自分用のフォルダを作る
(例えば、zzz_MyApplications)
mkdir zzz_MyApplications
mkdir ○○ は「○○というディレクトリを作って下さい」という意味のLinuxコマンドです。
これにより、/home/USERNAME の中に zzz_MyApplications というディレクトリができます。
このフォルダ作成は公式のインストール操作にはなく、必須の操作ではありません。将来を見据えてWebアプリ全般を格納するディレクトリを作りました。
わざわざこのディレクトリを作る理由は、自分の置いたファイル群と元からあるファイル群を区別するためです。/home/USERNAME には触らない方がよいファイルが結構あります(普通はwwwフォルダの中だけでWebサイトを作ります)。
「自分が設置したConnect-CMSのファイル群(他のWebアプリも)はすべてzzz_MyApplicationsの中に置く」と決めておくことで壊滅的な操作をしてしまう可能性を下げます。さらに、わざとzから始まる変なディレクトリ名にすることで、並びを最後にし、自分が作ったものであることを明確にしました。
ls
lsは「今いるディレクトリのディレクトリとファイルの一覧を表示して下さい」という意味のLinuxコマンドです。
zzz_MyApplicationsができていることを確認しましょう。
いくつかのディレクトリ・・・ tmp www zzz_MyApplications
(4)
作成したディレクトリに移動する
cd zzz_MyApplications
cdはディレクトリを移動するためのLinuxコマンドです。
cd ○○で、今いる階層を基準に一つ下にある○○という名前のディレクトリに移動します。
(5)
このサーバーでConnect-CMS全般を収めるディレクトリを作る
mkdir connect-cms
mkdir ○○ は「○○というディレクトリを作って下さい」という意味のLinuxコマンドです。
これにより、/home/USERNAME/zzz_MyApplications の中に connect-cms というディレクトリができます。
今後、Connect-CMSをこのサーバーにインストールする際は、常にこの「connect-cms」ディレクトリを使うようにします。区別と整理のための自分ルールです。
この操作からConnect-CMS公式のインストール操作に合流します。
(6)
Connect-CMS一般を収めるディレクトリに移動する
cd connect-cms
cdはディレクトリを移動するためのLinuxコマンドです。
cd ○○で、今いる階層を基準に一つ下にある○○という名前のディレクトリに移動します。
(7)
念のため、現在のディレクトリ位置を確認する
pwd
pwdは現在のディレクトリ位置をフルパスで教えてくれるLinuxコマンドです。
/home/USERNAME/zzz_MyApplications/connect-cms
(8)
GitHubよりConnect-CMSのファイル群をダウンロードする
git clone https://github.com/opensource-workshop/connect-cms.git test01
「test01」は自分の好きなディレクトリ名で構いません。
これ自体はURLに関係しません。
git clone ○○ ▲▲ は「(いまいる場所にある)▲▲というディレクトリに(無ければ新しく作って)、○○に置いてあるファイル群をまるごとダウンロードして下さい」という意味のコマンドです。
Cloning into 'test01'...
remote: Enumerating objects: 33246, done.
remote: Counting objects: 100% (10155/10155), done.
remote: Compressing objects: 100% (2753/2753), done.
remote: Total 33246 (delta 7634), reused 9738 (delta 7276), pack-reused 23091
Receiving objects: 100% (33246/33246), 22.97 MiB | 14.49 MiB/s, done.
Resolving deltas: 100% (24875/24875), done.
Checking connectivity... done.
(略)
これで「test01」というディレクトリに(データベースファイルを除いた)Connect-CMS関係のファイルがすべて詰め込まれました。ですから、「test02」のような別のディレクトリを指定して git clone をすれば、全く別のConnect-CMSとして使用することができます。
また、「test01」の中で関係ファイルが完結するわけですから、不要になれば rm -rf test01 コマンドで「test01」ディレクトリをまるごと削除するだけでアンインストールできます。(データベースファイルも手動で削除する必要があります。削除の順番は問いません)
(9)
Connect-CMS本体のディレクトリに移動する
cd test01
cdはディレクトリを移動するためのLinuxコマンドです。
cd ○○で、今いる階層を基準に一つ下にある○○という名前のディレクトリに移動します。
先ほど git clone で「test01」ディレクトリを作ってConnect-CMSのファイルをダウンロードしたため、cd の移動先として「test01」を指定します。
(10)
念のため、現在のディレクトリ位置を確認する
pwd
pwdは現在のディレクトリ位置をフルパスで教えてくれるLinuxコマンドです。
/home/USERNAME/zzz_MyApplications/connect-cms/test01
git clone の際に指定したディレクトリの中にいればOKです。
(ここでは「test01」になる)
(11)
Composerをダウンロードする
curl -sS https://getcomposer.org/installer | php
ComposerはPHPライブラリの使用を管理してくれる便利ツールです。
Connect-CMSも利用しています。
All settings correct for using Composer
Downloading...
Composer (version 2.4.1) successfully installed to: /home/USERNAME/zzz_MyApplications/connect-cms/test01/composer.phar
Use it: php composer.phar
(12)
指定したComposerのライブラリをインストールする
php composer.phar install
開発者側で必要なライブラリを指定したファイルを同封してくれています。
それらをインストールするためのコマンドです。
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Package operations: 118 installs, 0 updates, 0 removals
- Installing azuyalabs/yasumi (2.4.0): Loading from cache
- Downloading doctrine/event-manager (1.1.2)
- Downloading doctrine/cache (2.2.0)
- Downloading doctrine/inflector (2.0.4)
(略)
Package manifest generated successfully.
53 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
(13)
Connect-CMSの設定ファイルをコピーして使う
cp .env.example .env
cpはファイルをコピーするためのLinuxコマンドです。
cp ○○ ▲▲ で、「○○から▲▲という名前の複製を作る」という意味になります。
何か不具合があったときに戻せるように、元の設定ファイルを上書きするのではなく、複製して使います。
(14)
.envを編集するためにテキストエディタを起動する
私はさくらのレンタルサーバー上でのテキスト編集(FreeBSDでのvi操作)を難しく感じます。そのため、WinSCPでサーバーとつなぎ、「.env」ファイルの右クリックから自分のパソコンの慣れたテキストエディタ(TeraPad)を起動させて編集作業を行っています。
・ホスト名: USERNAME.sakura.ne.jp
・ポート: 22
・ユーザー名: USERNAME
・パスワード: コントロールパネルのログイン用パスワード
WinSCPで /home/USERNAME/zzz_MyApplications/connect-cms/test01/ の階層を移動し、.envファイルを見つけて下さい。
(15)
.envを編集し、上書き保存する
自分の設定で読み替えながら、7行目~16行目あたりを次のように書き換えて下さい。
APP_URL=https://www.example.com
LOG_CHANNEL=daily
DB_CONNECTION=mysql
DB_HOST=mysql●●.USERNAME.sakura.ne.jp
DB_PORT=3306
DB_DATABASE=USERNAME_connect-cms01
DB_USERNAME=USERNAME
DB_PASSWORD=自分のデータベースパスワード
(略)
データベース情報はコントロールパネルのデータベース管理画面にあります。
DB_PASSWORDはコントロールパネルのログイン用ではなく、データベース用のパスワードを入力します
また、「 # 」の文字があると、その後ろはコメントアウトとして扱われるため、データベースのパスワードで使ってはいけません
サブディレクトリにインストールする場合
APP_URL=https://www.example.com/test01 のように、下位階層を継ぎ足して下さい。
(16)
APP_KEYを生成する
php artisan key:generate
この操作で「.env」ファイルにあるAPP_KEYが新しく作られます。暗号化の際に使われるそうです。
Application key set successfully.
(17)
データベーステーブルを構築する
php artisan migrate
初期設定のデータベース定義に基づいてデータベースが構築するためのコマンドです。
(18)
migrateコマンドの実行を「 yes 」で許可する
上の migrate でEnterキーを押すと、「本当に実行しますか?」
* Application In Production! *
**************************************
Do you really wish to run this command? (yes/no) [no]:
>
と尋ねてきます。
yes
と入力し、データベース構築の処理を開始します。
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_000000_create_users_table
Migrating: 2014_10_12_100000_create_password_resets_table
(略)
Migrated: 2022_07_06_160526_migrate_deleted_user_from_group_users (5.23ms)
Migrating: 2022_08_31_185750_add_uuid_to_failed_jobs
Migrated: 2022_08_31_185750_add_uuid_to_failed_jobs (106.41ms)
(19)
データベーステーブルに初期データを追加する
php artisan db:seed
データベースに初期データを流し込むためのコマンドです。
(20)
db:seedコマンドの実行を「 yes 」で許可する
上の db:seed でEnterキーを押すと、「本当に実行しますか?」
* Application In Production! *
**************************************
Do you really wish to run this command? (yes/no) [no]:
>
と尋ねてきます。
yes
と入力し、データの流し込みを開始します。
Seeding: Database\Seeders\DefaultPagesTableSeeder
Seeded: Database\Seeders\DefaultPagesTableSeeder (19.75ms)
Seeding: Database\Seeders\DefaultUsersTableSeeder
Seeded: Database\Seeders\DefaultUsersTableSeeder (209.65ms)
Seeding: Database\Seeders\DefaultUsersRolesTableSeeder
Seeded: Database\Seeders\DefaultUsersRolesTableSeeder (2.64ms)
Seeding: Database\Seeders\DefaultConfigsTableSeeder
Seeded: Database\Seeders\DefaultConfigsTableSeeder (45.16ms)
Seeding: Database\Seeders\DefaultPluginsTableSeeder
Seeded: Database\Seeders\DefaultPluginsTableSeeder (2.92ms)
Seeding: Database\Seeders\DefaultReservationsTableSeeder
Seeded: Database\Seeders\DefaultReservationsTableSeeder (4.64ms)
Database seeding completed successfully.
D.シンボリックリンクの作成
[ 概要 ]
特定のURLでやってきたアクセスをConnect-CMSのpublicディレクトリへと転送するためのシンボリックリンクを作成します。
シンボリックリンクを使う理由
一言でいえば、「Webサーバーが公開している部分」と「Connect-CMSの公開してよい部分」をうまくつなげるためです。
すごく大雑把ですが、一般に「Webページを公開する」とは、Webサーバーが指定するディレクトリに作成した公開用のWebページファイルを置くことです。さくらのレンタルサーバーで言えば、/home/USERNAME/www/以下に必要なファイルを配置することです。そうすれば、wwwディレクトリ以下に置いたファイル群が外部からのアクセスの対象になります。
これは「自分でWebサイトを作ったことのある人」にとっての常識的感覚だと思います。(この感覚に従い、「Connect-CMSのファイルをダウンロードしてきて、自分のwwwディレクトリにアップロードすればいいんだろうな」と思って始めた初心者は多いと思います。困惑をお察しします)
しかし、Connect-CMSを構成するファイル群には外のアクセスを禁止すべき設定ファイルなどがたくさん含まれています。例えば、先ほど編集した.envファイルにはデータベースの設定が書かれています。これを他人に知られたら勝手にデータベースの内容を書き換えられてしまいます。
要するに、Connect-CMSには「公開すべき一部のファイル群(publicディレクトリ)と非公開にすべき大量のファイル群(それ以外)がある」わけです。
ここまでの作業では非公開領域( /home/USERNAME/zzz_MyApplications/connect-cms/test01 )で行ってきました。したがって、公開に向けて次の課題をクリアしなければなりません。
閲覧ユーザーからすれば、 https://www.example.com/ (やhttps://www.example.com/test01/ )にアクセスしても、Connect-CMSの画面が表示されないわけです。
そのため、ブラウザからConnect-CMSの「public」ディレクトリにアクセスが届くようにする必要があります。
これには2種類の方法があります。
- Webサーバーの設定を変更して、Web用の公開ディレクトリをデフォルトである /home/USERNAME/www/から、応用的に /home/USERNAME/zzz_MyApplications/connect-cms/test01/public/ へと変更する
- 指定のURLにアクセスしてきたら、そのまま /home/USERNAME/www/zzz_MyApplications/connect-cms/test01/public/ に転送する
さくらのレンタルサーバーでは勝手にWebサーバーの設定を変更できないため、aの方法ができません。b の方法で対処します。
すなわち、特定のディレクトリ位置にシンボリックリンクを置き、「そこに来たアクセスをConnect-CMSの『public』ディレクトリに転送する」というアクロバティックな処理を仕掛けます。
どこにシンボリックリンクを置くか?(読み飛ばし可)
この節の内容は真剣に理解しようとして読むほどではありません。
整合性の理屈とやり方が分かれば、ちょっとの試行錯誤で簡単にできるようになります。この後の設定方針に関わるため、書くだけ書いておきます。
これからやることは、「サーバー内のどこのディレクトリ」を「URLでいうルート直下」に対応させるかの設定です。Webサーバーの公開範囲外に置いてあるConnect-CMSをブラウザに表示させるために不可欠です。
さくらのレンタルサーバーのWebサーバーのデフォルトは、 /home/USERNAME/www/ のディレクトリ内が https://www.example.com/ のルート直下 に対応するようになっています。つまり、普通は /home/USERNAME/www/index.html が https://www/example.com/index.html になります。
ちなみに、さくらのレンタルサーバーには「Web公開フォルダ」という設定があり、(A-3で行ったように) /home/USERNAME/www/example.com/ のディレクトリ内を https://www.example.com のルート直下になるようにズラすことができます。
これが本ページの最初の方で述べた「~/www/ の直下に example.comというディレクトリを作っても、https://www/example.com/example.comのように重ならずに運用できる」秘訣です。
もうひとつ考慮しないといけないことがシンボリックリンクの扱いです。
シンボリックリンクはWindowsでいうショートカットみたいな役割をしますが、今回の使い方においてはディレクトリのようなふるまいをします。
例えば、~/www/example.com/ の直下に symlink というシンボリックリンクを作り、/home/USERNAME/zzz_MyApplications/connect-cms/test01/public/ につなげようとすると、https://www.example.com/symlink というURLにアクセスした結果としてConnect-CMSが表示されます。
パターン1の場合だと、https://www.example.com/ にアクセスしたときにConnect-CMSで表示して欲しいですよね。
ですから、パターン1の場合は「 /home/USERNAME/www/example.com/symlink 」が「 https://www.example.com 」に対応する、というようにさくらのレンタルサーバーの「公開Webフォルダ」で設定するわけです。
パターン2の場合だと、https://www.example.com/test01/以下 にアクセスした場合にConnect-CMSで表示して欲しいです。
ただし、サブディレクトリ型だと他のWebファイル/ディレクトリの並列関係も考えないといけませんから、デフォルト設定どおりに「 ~/www/example.com/直下のindex.html が https://www.example.com/index.html に対応している」方が管理しやすいです(すでにそのように運用している場合も多いでしょう)。ですから、この対応関係は崩さないようにします。
しかし、そうすると「じゃあ、~/www/example.com/ の直下に test01 というディレクトリを作り、その中に symlink を作ればいいのですね」としてやると、https://www.example.com/test01/symlink/~ でConnect-CMSを使うようになってしまいます。symlinkの文字もURLに残っています。
これでは意図に合わないので困ります。どうしたらいいでしょう?
先ほど「今回の使い方においてディレクトリのようなふるまいをする」と言いました。
正解は「 /home/USERNAME/www/example.com/ 直下に【 test01 】という名のシンボリックリンクを作る 」でした。これで https://www.example.com/test01/~ にアクセスがあった場合に適切にConnect-CMSが表示されるようになります。
ややこしいですね。
結論をまとめると
パターン1: サイト全体をConnect-CMSで作る場合
/home/USERNAME/www/example.com/symlink が https://www.example.com/ になるように、Webサーバーに認識させる
パターン2: 特定のサブディレクトリ以下をConnect-CMSで作る場合
例えば、https://www/example.com/aa/bb/cc/test01/ 以下をConnect-CMSで使用するなら、
① /home/USERNAME/www/example.com/ が https://www.example.com/ になるように、Webサーバーに認識させる。
② その上で、 /home/USERNAME/www/example.com/aa/bb/cc/の直下に【 test01 】というシンボリックリンクを作る。
汎用的に言えば、「ディレクトリで階層関係を作っていき、最後のディレクトリの代わりにシンボリックリンクを作る」ようにする
になります。
実際にシンボリックリンクを作成する
[ 概要 ]
Web公開ディレクトリ( /home/USERNAME/www/example.com/ )に移動し、特定のディレクトリ内にシンボリックリンクを作成します。最後にさくらのレンタルサーバーの機能を使ってWebサーバーの公開ディレクトリの位置を調整します。
では、実際に作業としてシンボリックリンクを作りましょう。
もう少しで全作業は終わりです。がんばってください。
ここからパターン1とパターン2に分けて説明します。
以下で不要な方を非表示にできます。
パターン1
サイト全体をConnect-CMSで作る場合
(1)
サーバーのホームディレクトリに戻る
cd
どこにいても 一発でホームディレクトリ( /home/USERNAME/ )に戻れるLinuxコマンドです。
(2)
「example.com」ディレクトリに移動する
cd www/example.com
今いる階層を基準に、「ひとつ下のwwwディレクトリ」の下にあるexample.comディレクトリに移動します。
「example.com」の部分は自分の独自ドメイン名で書き換えてください。
(3)
【書き換えが必要】シンボリックリンクを作成します
ln -s /home/USERNAME/zzz_MyApplications/connect-cms/test01/public/ test01
ln -s 〇〇 ▲▲ は、「▲▲にアクセスした時、〇〇の方へ転送する」というシンボリックリンクを作るLinuxコマンドです。
上のコマンドは「いまいる場所に、Connect-CMSの『public』ディレクトリへとリンクしている『test01』という名前のシンボリックリンクを作る」という意味です
上のコマンドをテキストエディタにコピペし、そこで自分用のパス(経路)とシンボリックリンク名を書き換えた後、コマンドとして張り付けると便利です。
間違えたら、 rm test01 でシンボリックリンクを削除してやり直します。
(4)
さくらのレンタルサーバーの「ドメイン/SSL」を開く
(5)
対象の独自ドメインにある[設定]ボタンを押す
(6)
シンボリックリンクの文字を含むまでのパスを入力し、保存する
これまでの例だと、 ~/www| /example.com/test01/ となるように入力します。
(7)
ブラウザでConnect-CMSの画面が表示されることを確かめる
https://www.example.com にアクセスし、下図のような画面が表示されれば正しくインストールできています。
では、パターン2を説明します。
パターン1の人は紫の枠が終わるまで飛ばして下さい。
パターン2
特定のサブディレクトリ以下をConnect-CMSで作る場合
(1)
サーバーのホームディレクトリに戻る
cd
どこにいても 一発でホームディレクトリ( /home/USERNAME/ )に戻れるLinuxコマンドです。
(2)
「example.com」ディレクトリに移動する
cd www/example.com
今いる階層を基準に、「ひとつ下のwwwディレクトリ」の下にあるexample.comディレクトリに移動します。
「example.com」の部分は自分の独自ドメイン名で書き換えてください。
(3)
mkdir と cd ○○ を繰り返し、Connect-CMSを使う1つ前までの階層関係を作ります
https://www.example.com/aa/bb/cc/ のccからConect-CMSを使うなら、aa と その下にbb を作り、bbに移動した状態にします。
もしトップページから見て1つ下の階層での利用を想定するなら(例: https://www.example.com/test01/ )、同じ理屈でディレクトリの作成は不要です。
(4)
現在のディレクトリ位置を確認する
pwd
pwdは現在のディレクトリ位置をフルパスで教えてくれるLinuxコマンドです。
/home/USERNAME/www/example.com
もし、https://www.example.com/aa/bb/cc/ のccからConect-CMSを使うなら、aaとその下にbb を作り、bbに移動した状態ですから、
/home/USERNAME/www/example.com/aa/bb
であるかを確認して下さい。
(5)
【書き換えが必要】シンボリックリンクを作成します
ln -s /home/USERNAME/zzz_MyApplications/connect-cms/test01/public/ test01
ln -s 〇〇 ▲▲ は、「▲▲にアクセスした時、〇〇の方へ転送する」というシンボリックリンクを作るLinuxコマンドです。
上のコマンドは「いまいる場所に、Connect-CMSの『public』ディレクトリへとリンクしている『test01』という名前のシンボリックリンクを作る」という意味です
上のコマンドをテキストエディタにコピペし、そこで自分用のパス(経路)とシンボリックリンク名を書き換えた後、コマンドとして張り付けると便利です。
間違えたら、 rm test01 でシンボリックリンクを削除してやり直します。
(6)
さくらのレンタルサーバーの「ドメイン/SSL」を開く
(7)
対象の独自ドメインにある[設定]ボタンを押す
(8)
example.comディレクトリまでのパスを入力して保存する
~/www|/example.com/ となるように入力する。
(つまり、「 / 」と「 独自ドメイン名 」と「 / 」だけを入れる)
(9)
ブラウザでConnect-CMSの画面が表示されることを確かめる
https://www.example.com/test01/ にアクセスしてみて下さい。下図のような画面が表示されればインストールは正しく完了しています。
E.管理者パスワードの変更
[ 概要 ]
Connect-CMSにログインし、システム管理者のパスワードを変えます。
(1)
画面右上の「ログイン」の文字を押す
(3)
画面右上の「管理機能」→「管理者メニュー」を押す
(4)
画面左側の「ユーザー管理」を押す
(5)
ログインID「admin」の左にある編集アイコンを押す
(6)
新しいログインIDと、パスワード2回を入力し、画面下側にある[ユーザ変更]ボタンを押す
正しく登録をされた場合でも、画面上に案内はありません。
入力したパスワードが消えたことを見て、処理が進んだと認識して下さい。
(7)
画面右上の[コンテンツ画面へ]を押し、Connect-CMSのトップページに戻る
インストール作業は以上です。
それでは、Connect-CMSをお楽しみ下さい。