takemo101 / cmstool-skeleton
This is Chubby's CMS tool skeleton.
Installs: 21
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
Requires
- php: ^8.2
- takemo101/cms-tool: ^0.1.6
Requires (Dev)
- symfony/var-dumper: ^6.4|^7.0
README
概要
このツールは、ヘッドレス CMS のフロントページを管理するためのツールです。
このツールを使用することで、ヘッドレス CMS のフロントページの作成、編集、削除ができます。
サポートしているヘッドレス CMS
現在は microCMS のみサポートしています。
必須環境
インストール(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_ENABLE
をfalse
に設定してください。
キャッシュは、有効期限が切れた場合に自動的に削除されますが、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