使ったことのない CMS をインストールしまくろう！のもくもく勉強会 in CPI #MEGAMIX2016

Web 制作に必要な「技術・戦略」を学ぶ [CPI MEGA MIX 2016](http://www.shared-blog.kddi-web.com/mega-mix2016/) で行われるハンズオン用の資料です。

# 概要

* 時間がなくて試せていない、新しい CMS との出会いがコンセプト
    * 動けばいいというスタンスでやります。正確なインストール方法は各 CMS の公式なドキュメントを参照してください
* [CPI ACE01](http://www.cpi.ad.jp/shared/) を使ってインストールしていきます
* CMS インストーラーは使いません
* SSH メインで作業します（FTPは使いません）
* たくさん入れるのがコンセプトなので、わざとサブディレクトリにインストールしています。

# 事前準備

## SSH の利用準備

[CPI オンラインヘルプ SSH（鍵認証）](http://acesr.document.secure.ne.jp/tools/sshkeys/)

## `php` コマンドの利用準備

CPI ではデフォルトでは `php` コマンドが使えません。

```bash
% php -v
```

Command not Found と怒られます。

回避するために、 `.cshrc` ファイルを作成します。

```bash
% cd ~
% vi .cshrc
```

`vi` エディタが開きます。下記の記述を追加してください。特定のphpバージョンへのエイリアスを指定します。

```vim:~/.cshrc
alias php php-7.0
```

[vi簡単マニュアル](http://www.amays.com/~mizusawa/namazu_kaisetu/vi.html)

SSH セッションをいったん切り

```bash
% exit
```

再接続してから、 `php` コマンドが使えるようになったか試しましょう

```bash
% php -v
```

## Composer をインストール

PHP のパッケージ管理ツールが Composer です。PHP 製のアプリケーションのインストールにとても便利です。

```bash
% cd ~
% wget https://getcomposer.org/composer.phar --no-check-certificate
```

インストールできたか確認

```bash
% php ~/composer.phar
```

[Composer 基本的な使い方](https://kohkimakimoto.github.io/getcomposer.org_doc_jp/doc/01-basic-usage.html)

## PHP の設定

この辺り CPI 独特の世界になってきます。

```bash
% cd ~/html
% vi .htaccess
```

.htaccess に追加します。

```vim:~/html/.htaccess
# 使用する php のバージョンを指定
AddHandler x-httpd-php70 .php

# シンボリックリンクを有効に
Options +SymLinksIfOwnerMatch

# リライトエンジンを有効に
RewriteEngine On

# PHP の設定ファイル php.ini を使うために必要
suPHP_ConfigPath /usr/home/CPIユーザーID/html/
```

[CPI オンラインヘルプ PHP 設定の変更方法](http://acesr.document.secure.ne.jp/tools/php/)

# CMS インストール

## WordPress

http://wp-cli.org/

コントロールパネルから、データベースを事前に作成します（MySQL5.5で）

```bash
% mkdir ~/html/wp
% cd ~/html/wp
% curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
% php wp-cli.phar core download
% php wp-cli.phar core config --dbname=データベース名 --dbuser=ユーザーID --dbpass=データベースパスワード --dbhost=127.0.0.1
% php wp-cli.phar core install --url=http://you.secure.ne.jp/wp --title=サイト名 --admin_user=ログインユーザー名 --admin_password=ログインパスワード --admin_email=cpi@example.com
```

うまくいったら確認してみよう（ドメインはコントロールパネルのお客様情報から確認）

http://you.secure.ne.jp/wp

### ポイント

* データベース名はコントロールパネルで確認
* データベースのユーザーID、パスワードは設定完了通知に「データベース情報」として記載されています
* CPI では MySQL データベースのホスト名は `127.0.0.1` です（ `localhost` ではない）
* MySQL 5.5 のポートは `3306` MySQL 5.6 のポートは `3307`
* 管理画面のログイン情報 `--admin_user` `--admin_password` `--admin_email` は自分のものに変更

## Drupal

http://docs.drush.org/en/master/install/

コントロールパネルから、データベースを事前に作成します（MySQL5.6で）

```bash
% mkdir ~/html/drupal
% php ~/composer.phar create-project drupal-composer/drupal-project:8.x-dev ~/html/drupal --stability dev
```

あとはブラウザにアクセスしてウィザードに従います

http://you.secure.ne.jp/drupal/web

### ポイント

* データベース情報の入力欄が一部隠れていてクリックで開いて入力する必要がある

## concrete5

http://documentation.concrete5.org/developers/installation/installation

データベースを事前に作成（MySQL5.5で）

```bash
% mkdir ~/html/concrete5
% cd ~/html/concrete5
% git clone https://github.com/concrete5/concrete5.git
% cd concrete5
% php ~/composer.phar install
```

あとはブラウザにアクセスしてウィザードに従う

http://you.secure.ne.jp/concrete5/concrete5/

### 日本語を使うには

翻訳更新用のアドオンをダウンロード

```bash
% cd ~/html/concrete5/concrete5/packages/
% % wget https://www.concrete5.org/download_file/-/78253/0/ -O core_translation.zip --no-check-certificate
% unzip core_translation.zip
% chmod 755 ~/html/concrete5/concrete5/application/languages/
``` 

1. ツールバー右端の Dashboard > Extend concrete5 から "Core Translation Updater" アドオンをインストール
2. Dashboard > System & Settings > Multilingual > Update Core Translation から core-dev-8 を選択して "Select" ボタンをクリック
3. Select Language で Japanese を選択して "Update" ボタンをクリック
4. Dashboard > Sysgem & Settings > Basics > Languages で Japanese を選択して "Save" ボタンをクリック

## TYPO3

https://docs.typo3.org/

データベースを事前に作成（MySQL5.6で）

```bash
% mkdir ~/html/typo3
% php ~/composer.phar create-project typo3/cms-base-distribution ~/html/typo3
% cd ~/html/typo3/web
% touch FIRST_INSTALL
```

あとはブラウザにアクセスしてウィザードに従う

http://you.secure.ne.jp/typo3/typo3/

### ポイント

`php.ini` の設定変更を幾つか求められます。

## October

https://octobercms.com/docs/console/commands#console-install

データベースを事前に作成（MySQL5.6で）

```bash
% mkdir ~/html/october
% php ~/composer.phar create-project october/october ~/html/october dev-master
% cd ~/html/october
% php artisan october:install
```

http://you.secure.ne.jp/october/backend

### ポイント

インストールはコマンドラインのウィザードで完結します。

## Grav

https://learn.getgrav.org/basics/installation

データベースが不要なCMSです。事前に作成しません。

```bash
% mkdir ~/html/grav
% php ~/composer.phar create-project getgrav/grav ~/html/grav
% cd ~/html/grav/
% php bin/grav install
```