/cmstool-skeleton

This is Chubby's CMS tool skeleton.

Primary LanguagePHPMIT LicenseMIT

CMS Tool Project

概要

このツールは、ヘッドレス CMS のフロントページを管理するためのツールです。
このツールを使用することで、ヘッドレス CMS のフロントページの作成、編集、削除ができます。

サポートしているヘッドレス CMS

現在は microCMS のみサポートしています。

必須環境

環境 バージョン
PHP 8.2 以上
OS MacOS, Linux (Windows 未対応)

インストール(composer create-project)

以下はcomposer create-projectコマンドを使用して、プロジェクトを作成する方法です。

1. プロジェクトの作成

$ composer create-project takemo101/cmstool-skeleton cms-tool

composer がインストールされていない場合は、こちらからインストールしてください。

2. プロジェクトのディレクトリに移動

$ cd cms-tool

3. プロジェクトのセットアップ

console コマンドを使用して、プロジェクトのセットアップを行います。

# 環境変数設定のため、.example.env を .env にコピー
$ cp .example.env .env

# .env の APP_KEY に割り当てる暗号キーの生成
$ php console generate:key

# storage ディレクトリのシンボリックリンクの生成
$ php console storage:link

php console generate:keyコマンドを実行すると、.envファイルのAPP_KEYに自動生成された暗号キーが設定されます。 ただし、自身で暗号キーを設定したい場合は、以下のように.envファイルのAPP_KEYに暗号キーを設定してください。

APP_KEY=自身で設定した暗号キー

4. プロジェクトの起動

docker を使用して、apache や nginx などの環境を構築する場合は、ドキュメントルートを/publicに設定してください。

また、docker を使用しない場合は、以下コマンドでビルトインサーバーを起動してください。

$ php console serve

ビルトインサーバーの起動後、ブラウザで http://localhost:8080 にアクセスすると、ブラウザからインストールを始めることが出来ます。

ちなみに、ビルトインサーバーのポート番号などを変更したい場合は.envファイルを以下のように編集してください。

SERVER_PORT=ポート番号
SERVER_HOST=ホスト名
SERVER_SCRIPT=/public/index.php # ドキュメントルート

5. インストールに必要なもの

microCMS の API キーとサービス ID が必要になります。

6. インストール後の設定

インストール作業を完了すると、http://localhost:8080/system/loginから管理画面にログインすることが出来ます。

管理画面からは、SEO・外観テーマ・公開/非公開・アカウント・API の設定などを行うことが出来ます。

サイトの公開設定については、インストール直後は非公開になっていますので、公開する場合は管理画面ダッシュボードの「公開する」ボタンから公開を行ってください。

インストール(microCMS テンプレート)

以下は、microCMS テンプレートを使用して、プロジェクトを作成する方法です。

作成されたプロジェクトのディレクトリに移動して、以下のコマンドを実行して必要なパッケージをインストールしてください。

$ composer install

composer がインストールされていない場合は、こちらからインストールしてください。

パッケージをインストールしたら、上記のインストール手順の 3. 以降の手順を実行してください。

テーマについて

管理画面からテーマを変更することで、外観を変更することが出来ます。
現状は、初期テーマとして「Simply」というブログテーマが設定されていますが、テーマの内容を編集したい場合は、一度複製してから編集する必要があります。
テーマの複製は、管理画面の「テーマ」詳細から「複製」ボタンを押すことで複製することが出来ます。

複製したテーマは、/themesディレクトリ以下に保存されますので、そのディレクトリ内のテンプレートなどを編集して、編集したテーマを管理画面から選択することで使用することが出来ます。

複製したテーマファイルには、README.mdが含まれていますので、ご確認ください。

キャッシュについて

ヘッドレス CMS から取得したデータは、キャッシュに保存されます。
ただ、テーマの編集などを行った場合は、キャッシュをクリアする必要がありますので、以下のコマンドを実行してください。

$ php console cache:clean

常にキャッシュを無効にした場合は、.envファイルのCACHE_ENABLEfalseに設定してください。

キャッシュは、有効期限が切れた場合に自動的に削除されますが、Webhook を設定している場合は、Webhook が実行されたタイミングでキャッシュが削除されます。

Webhook については、管理画面に記載されている URL をヘッドレス CMS の Webhook 設定に登録してください。

アップデートについて

このプロジェクトでは、takemo101/cms-toolというパッケージを利用しており、以下の composer コマンドでパッケージをアップデートすることが出来ます。

$ composer update takemo101/cms-tool

.envの設定

.envでは、以下の設定を行うことが出来ます。

### for app ###
# 管理画面で表示されるアプリケーションの名前です。
APP_NAME=アプリケーションの名前

# アプリケーションの環境モードで local, development, production が設定できます(localでも問題ありません)
APP_ENV=local

# アプリケーションのデバッグモードで true にすると、エラーが発生した場合にエラー内容が表示されます。
APP_DEBUG=true

# アプリケーションの暗号キーで、パスワードのハッシュ化・暗号化などに使用されます。
APP_KEY=暗号キー

# アプリケーションの URL で、末尾のスラッシュは不要です。
# ページを表示する場合は、自動的にURLが設定されますが
# サーバーなどのバックグラウンドで実行する場合は、自動的にURLが設定されないので、このURLが使用されます。
APP_URL=http://localhost:8080

# APIのアクセスでTLSを使用する場合はtrueに設定してください。
GUZZLE_TLS_OPTION=true

# 管理画面のアクセスする場合などに利用するセッションの有効期限を秒で設定します。
SESSION_LIFETIME=21600

# キャッシュを有効にする場合はtrueに設定してください。
# もしも、テーマの作成などを行っている場合は、キャッシュを無効にすると良いです。
CACHE_ENABLED=true

# キャッシュの有効期限を秒で設定します。
CACHE_LIFETIME=86400