LoginSignup
3
3

More than 5 years have passed since last update.

concrete5 の開発サーバーの構築メモ

Last updated at Posted at 2019-02-14

コンクリートファイブジャパン株式会社で、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 の作成

  1. concrete5 Git を作成
    1. application/block/.gitkeep (空ファイルを作成)
    2. application/bootstrap/*
    3. application/config/
    4. application/config/app.php
    5. application/config/concrete.php
    6. application/files/index.html
    7. application/themes/.gitkeep (空ファイルを作成)
    8. packages/.gitkeep (空ファイルを作成)
    9. その他 application 内のフォルダは適宜作成。ローカルでも c5 環境を立てる場合は他のすべての空フォルダの作成が必要。
  2. gitignore concrete5 のテンプレートを挿入

1. Deployer 設定

チーム全体向けの設定。弊社オリジナルの Deployer パッケージを制作し、デプロイに使っています。

  1. Deployer のテンプレートをダウンロード
  2. Deploy.php を設定
    1. repository に Git URL を挿入
    2. new_style は 1
  3. concrete5 バージョンを確認
    1. 新しい concrete5 バージョンが出た場合は concrete5_downloads を追記
  4. 共有ファイル・ディレクトリを設定

共有ファイル・ディレクトリの設定例

// 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');
```

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3