PHP製CMS Boltのインストール

# Bolt
**Bolt** は GitHub で [Pagekit](http://qiita.com/bezeklik/items/2bd0eaa50bd36f5de0e6) の次にスター数を獲得している PHP 製の CMS である。
フレームワークに **Silex** を、標準テーマに **Foundation** を採用している。

## 2016 CMS Critic Award
[2016 CMS Critic Award](https://www.cmscritic.com/awards/) の Best Blogging Software 部門で1位に選ばれた模様。

## 印象
設定はすべて YAML でテキスト記述するようで、手軽に使うにはしんどいイメージ。コンテンツタイプやタクソノミーもすべて YAML で記述する。
テンプレートは WordPress のように管理画面から編集してもよいらしい。（リンクがどこにあるのか謎だが /bolt/file/edit/theme にアクセスすれば編集できる。）
Symfony プロファイラーが付いているので解析等には便利。
全体的に WordPress を Symfony(Silex) でちゃんと作ったらこうなった、的な印象。

# システム要件
* PHP 5.5.9 以上
* SQLite、MySQL または PostgreSQL へのアクセス
* mod_rewrite (.htaccess ファイル) が有効な Apache または Nginx (virtual host configuration covered below)
* 最小 32MB 以上の PHP へのメモリー割り当て
* 以下の PHP 拡張:
  * pdo
  * mysqlnd (to use MySQL as a database)
  * pgsql (to use PostgreSQL as a database)
  * curl
  * gd
  * gmp
  * json
  * mbstring
  * opcache (optional)
  * posix
  * xml
  * fileinfo
  * exif


# インストール
## Apache / PHP
```bash
yum -y install yum-utils http://rpms.famillecollet.com/enterprise/remi-release-7.rpm && yum -y update
yum-config-manager --enable remi remi-php70
yum -y install httpd php php-gd php-mbstring php-pdo php-process php-xml
sed -i.org 's|;date.timezone =|date.timezone = Asia/Tokyo|' /etc/php.ini
```
## Bolt
```bash
curl -O https://bolt.cm/distribution/bolt-latest.tar.gz
tar vzxf bolt-latest.tar.gz --strip=1 -C /var/www/html
```
#### 所有者とコンテクスト
```bash
chown -R apache:apache /var/www/html/*
chcon -R -t httpd_sys_script_rw_t /var/www/html/app/{cache,config,database} /var/www/html/extensions /var/www/html/public/{thumbs,extensions,files,theme}
```
上記を設定したら、いったんトップページをリクエストして app/config/config.xml を自動生成してから以下を実行する。

#### cookies_domain
```bash
sed -i '/cookies_domain:/ s/:/: 192.168.56.101/' /var/www/html/app/config/config.yml
```
`cookies_domain` を指定しないと `The CSRF token is invalid. Please try to resubmit the form.` と怒られてユーザーが作成できない。

#### 日本語化
```bash
sed -i 's/locale: en_GB/locale: ja_JP/' /var/www/html/app/config/config.yml
```

#### ドキュメントルート
```bash
cat << _EOF_ > /etc/httpd/conf.d/bolt.conf
ServerName localhost
DocumentRoot "/var/www/html/public"
<Directory "/var/www/html/public">
    AllowOverride All
</Directory>
_EOF_
```
```bash
systemctl enable httpd
systemctl start httpd
```
#### firewalld
```
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
```

# 画面
## 初期ユーザー作成
![Create the first user – Bolt.png](https://qiita-image-store.s3.amazonaws.com/0/15175/da33f497-4011-aed9-eee5-2a6e87497ee4.png)

## ダッシュボード
![ダッシュボード – Bolt.png](https://qiita-image-store.s3.amazonaws.com/0/15175/a73fc13f-d1f1-acdc-b706-67392b679fb7.png)

## ページ一覧
![一覧 » ページ – Bolt.png](https://qiita-image-store.s3.amazonaws.com/0/15175/5cd51eb5-d6fb-ca9a-48dd-78bd93e9790e.png)

## ページ編集
![ページ を編集 » Sed ille  ut dixi  vitiose. – Bolt.png](https://qiita-image-store.s3.amazonaws.com/0/15175/b8eabe28-0ea2-6920-5e2a-02dd053f717a.png)

### メタ情報
![ページ を編集 meta » Sed ille  ut dixi  vitiose. – Bolt.png](https://qiita-image-store.s3.amazonaws.com/0/15175/8760394f-9eec-a932-9ec9-9f1a8473e77d.png)

# CMS 関連記事
* [GitHubで人気の高いCMSランキング](http://qiita.com/bezeklik/items/45fa04b83792743b7cbf)
* [PHP製CMS Octoberのインストール](http://qiita.com/bezeklik/items/aaa47ea4be04270cb9e5)
* [PHP製CMS Gravのインストール](http://qiita.com/bezeklik/items/7593579462cb0557fd3d)
* [PHP製CMS Pagekitのインストール](http://qiita.com/bezeklik/items/2bd0eaa50bd36f5de0e6)
* [PHP製CMS Bolt のインストール](http://qiita.com/bezeklik/items/ca6783ccb748df4baad8)
* [PHP製CMS concrete5 のインストール](http://qiita.com/bezeklik/items/fd2ff842bf86b2e8f943)
* [CentOS 6.6 に eZ Publish 5.4 をインストールする](http://qiita.com/bezeklik/items/c5fee4120249f5adc6ed)