PHP製CMS October のインストール

# October
**October** は GitHub で WordPress の次にスター数を獲得している PHP 製 CMS だったが、2016年9月上旬あたりに Flat-File CMS の [Grav](http://qiita.com/bezeklik/items/7593579462cb0557fd3d) に抜かれて3位に後退した。フレームワークに **Laravel** が採用されている。
# インストール
## 構成
* CentOS 7.2.1511 (minimal)
* Apache 2.4.6 (updates)
* PHP 7.0.9 (remi-php70)
* MySQL Community Server 5.7.14 (mysql57-community)

Apache 2.4 + PHP 7 + MySQL 5.7 で検証したが基本的な動作に問題はなかった。

## MySQL / Apache / PHP のインストール
```bash
yum install https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
yum install mysql-community-server
cp -a /etc/my.cnf{,.org}
echo "character-set-server=utf8" >> /etc/my.cnf
systemctl enable mysqld
systemctl start mysqld
grep "temporary password" /var/log/mysqld.log | awk '{print $11}' # 初期パスワードを確認
mysql_secure_installation
cat << "_EOQ_" | mysql -u root -p
CREATE DATABASE `october` CHARACTER SET 'utf8';
GRANT ALL ON `october`.* TO `october`@`%` IDENTIFIED BY 'P@assw0rd';
_EOQ_
yum install epel-release
yum update
yum install yum-utils http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum-config-manager --enable remi remi-php70
yum install httpd php php-gd php-mbstring php-mysqlnd php-pecl-zip
sed -i 's|;date.timezone =|date.timezone = Asia/Tokyo|' /etc/php.ini
sed -i '/memory_limit =/s/128M/512M/' /etc/php.ini
cat << _EOF_ > /etc/httpd/conf.d/october.conf
ServerName localhost
<Directory "/var/www/html">
    AllowOverride All
</Directory>
_EOF_
systemctl enable httpd
httpd -t
systemctl start httpd
```
## October のインストール
```bash
cd /var/www/html
php -r "eval('?>'.file_get_contents('https://octobercms.com/api/installer'));"
php artisan october:install
```
```text
.====================================================================.

 .d8888b.   .o8888b.   db  .d8888b.  d8888b. d88888b d8888b.  .d888b.
.8P    Y8. d8P    Y8   88 .8P    Y8. 88  `8D 88'     88  `8D .8P , Y8.
88      88 8P      oooo88 88      88 88oooY' 88oooo  88oobY' 88  |  88
88      88 8b      ~~~~88 88      88 88~~~b. 88~~~~  88`8b   88  |/ 88
`8b    d8' Y8b    d8   88 `8b    d8' 88   8D 88.     88 `88. `8b | d8'
 `Y8888P'   `Y8888P'   YP  `Y8888P'  Y8888P' Y88888P 88   YD  `Y888P'

`=========================== INSTALLATION ==========================='

 Database type:
  [0] MySQL
  [1] Postgres
  [2] SQLite
  [3] SQL Server
 > 0

 MySQL Host [localhost]:
 >

 MySQL Port []:
 >

 Database Name [database]:
 > october

 MySQL Login [root]:
 > october

 MySQL Password []:
 > P@ssw0rd

Enter a new value, or press ENTER for the default

 First Name [Admin]:
 >

 Last Name [Person]:
 >

 Email Address [admin@domain.tld]:
 > admin@example.jp

 Admin Login [admin]:
 >

 Admin Password [admin]:
 >

 Is the information correct? (yes/no) [yes]:
 >

 Application URL [http://192.168.56.101]:
 >

 Configure advanced options? (yes/no) [no]:
 >

Application key [Ux0HNx4TlF7WTviMsem2ndriDDdDRBy2] set successfully.
Migrating application and plugins...

.=========================================.
                ,@@@@@@@,
        ,,,.   ,@@@@@@/@@,  .oo8888o.
     ,&%%&%&&%,@@@@@/@@@@@@,8888\88/8o
    ,%&\%&&%&&%,@@@\@@@/@@@88\88888/88'
    %&&%&%&/%&&%@@\@@/ /@@@88888\88888'
    %&&%/ %&%%&&@@\ V /@@' `88\8 `/88'
    `&%\ ` /%&'    |.|        \ '|8'
        |o|        | |         | |
        |.|        | |         | |
`========= INSTALLATION COMPLETE ========='
```
```
chown -R apache:apache /var/www/html
```

# フロント画面
![october0.png](https://qiita-image-store.s3.amazonaws.com/0/15175/de9d17c8-ede3-faa1-2d3a-773b6dd3a5d7.png)

# 管理画面
## ログイン
![october1.png](https://qiita-image-store.s3.amazonaws.com/0/15175/f1187b48-e170-6a14-2db0-9e1465047214.png)

/backend へアクセスすると管理画面へのログイン画面が表示される。

## ダッシュボード
![october2.png](https://qiita-image-store.s3.amazonaws.com/0/15175/61265dc9-47c5-d3e8-fe69-e84a22b25ebe.png)

一部日本語化されているが、設定を変更しないと切り替わらない。
画面右上のアイコンをクリックし、 `Back-end preferences` をクリックすると変更画面が表示される。

## プラグインのインストール
![october3.png](https://qiita-image-store.s3.amazonaws.com/0/15175/641e582d-37d8-d3cd-5885-31d35ef06332.png)

プラグインのインストールは管理画面から行える。「設定」→「アップデート」→「Install plugins」とクリックするとプラグインの検索画面に遷移する。
無料のプラグインは以下からも確認出来る。
http://octobercms.com/plugins/free?sort=popularity

## テーマのインストール
![october4.png](https://qiita-image-store.s3.amazonaws.com/0/15175/a3e76e15-09b8-ef53-41f1-044c92200ff8.png)

プラグイン同様に管理画面からインストールできる。プラグインの検索画面に遷移した後、「THEMES」タブをクリックするとテーマ検索画面に遷移する。
無料のテーマは以下からも確認出来る。
http://octobercms.com/themes/free?sort=popularity

## 編集画面
![october5.png](https://qiita-image-store.s3.amazonaws.com/0/15175/e8942be4-e54b-0814-93ea-e39b9ceb2a40.png)

デフォルトの編集画面は見ての通りソースをがりがり書いていくスタイルで Wysiwyg エディターは用意されていない。

![october7.png](https://qiita-image-store.s3.amazonaws.com/0/15175/f562e78a-eb26-dba7-ca55-e6922aca3e0d.png)

Wysiwyg Editors プラグインをインストールすると、Wysiwyg エディターが利用できるようになる。このプラグインの場合は4種類から選べるようになる面白い作り。

![october6.png](https://qiita-image-store.s3.amazonaws.com/0/15175/90b73601-ecd5-b356-0a63-d19198c2d3c1.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 concrete5 のインストール](http://qiita.com/bezeklik/items/fd2ff842bf86b2e8f943)