コンクリートファイブジャパン株式会社で、concrete5 開発環境を立ち上げるためのメモです。
1. ヒヤリング
- ドメイン名
- EC2 インスタンスのタイプが t2.micro 以上が必要化
- HDD 容量が 10GB 以上必要か
- 希望 OS は? 無ければ Amazon Linux 2 を希望
- Nginx / Apache か
- Nginx を希望 (.htaccess が使えなくなります)
- PHP バージョンは?
- 無ければ concrete5 対応の最新版を希望
- PHP-fpm として希望
- MariaDB か MySQL か
- Amazon Linux 2 であれば MariaDB 希望
- Amazon Linux であれば MySQL 希望
- 希望デプロイ方法は?
- SFTP
- Git 手動 Pull
- Git 自動 デプロイ
- Deployer デプロイ
2. サーバーの構築
concrete5社の Ansible, CloudFormation を使って作成。
Nginx / Apache の SSH 鍵を作成
Deployer が Git ファイルを取得できるように、Apache/Nginx ユーザーの公開鍵をサーバーで作成します。
下記のコマンドを使って SSH 公開鍵を取得し、GitHub, Bitbucket, Backlog などで SSH 公開鍵登録を行ってください。
Nginx ユーザーの場合
$ sudo -u nginx ssh-keygen -t rsa -b 4096 -C "nginx@example.com"
$ sudo cat /var/lib/nginx/.ssh/id_rsa.pub
Apache ユーザーの場合
$ sudo -u apache ssh-keygen -t rsa -b 4096 -C "apache@example.com"
$ sudo cat /var/lib/apache/.ssh/id_rsa.pub
3. Git の作成
- concrete5 Git を作成
- application/block/.gitkeep (空ファイルを作成)
- application/bootstrap/*
- application/config/
- application/config/app.php
- application/config/concrete.php
- application/files/index.html
- application/themes/.gitkeep (空ファイルを作成)
- packages/.gitkeep (空ファイルを作成)
- その他 application 内のフォルダは適宜作成。ローカルでも c5 環境を立てる場合は他のすべての空フォルダの作成が必要。
- gitignore concrete5 のテンプレートを挿入
1. Deployer 設定
チーム全体向けの設定。弊社オリジナルの Deployer パッケージを制作し、デプロイに使っています。
- Deployer のテンプレートをダウンロード
- Deploy.php を設定
- repository に Git URL を挿入
- new_style は 1
- concrete5 バージョンを確認
- 新しい concrete5 バージョンが出た場合は concrete5_downloads を追記
- 共有ファイル・ディレクトリを設定
共有ファイル・ディレクトリの設定例
// Writable dirs by web server
set('shared_dirs', [
'application/config',
'application/files',
'application/languages',
]);
set('shared_files',[
//'.htaccess', // /Nginx に直接記述
'.htpasswd',
'index.php',
'sitemap.xml',
'robots.txt',
]);
### concrete5_download の設定例
set('concrete5_downloads', [
'5.7.5.13'=>'http://www.concrete5.org/download_file/-/view/93075/8497/',
'8.0.0'=>'http://www.concrete5.org/download_file/-/view/92663/8497/',
'8.0.1'=>'http://www.concrete5.org/download_file/-/view/92834/8497/',
'8.0.2'=>'http://www.concrete5.org/download_file/-/view/92910/8497/',
'8.0.3'=>'http://www.concrete5.org/download_file/-/view/93074/8497/',
'8.1.0'=>'http://www.concrete5.org/download_file/-/view/93797/8497/',
'8.2.0'=>'http://www.concrete5.org/download_file/-/view/96765/8497/',
'8.2.1'=>'http://www.concrete5.org/download_file/-/view/96959/8497/',
'8.3.0'=>'http://www.concrete5.org/download_file/-/view/99806/8497/',
'8.3.1'=>'http://www.concrete5.org/download_file/-/view/99963/8497/',
'8.3.2'=>'http://www.concrete5.org/download_file/-/view/100595/8497/',
'8.4.0'=>'http://www.concrete5.org/download_file/-/view/104344/',
'8.4.2'=>'http://www.concrete5.org/download_file/-/view/105477/',
'8.4.3'=>'http://www.concrete5.org/download_file/-/view/107738/',
'8.4.4'=>'http://www.concrete5.org/download_file/-/view/108181/'
]);
set('concrete5_latest', '8.4.4');
```