GCPでKusanagi Wordpress


# イメージの作成

とはいえ以下に添ってイメージを作成、インスタンスを作成
[KUSANAGI for GCP – KUSANAGI](https://kusanagi.tokyo/cloud/kusanagi-for-gcp/)

ソースは「Cloud Storage」
Cloud Storage ファイル　「kusanagi-for-gcp/kusanagi-for-gcp.tar.gz」
を入力

![image](https://qiita-image-store.s3.amazonaws.com/0/49910/62932509-0bc5-32bd-0791-73a5a14f3ae2.png)


# インスタンスの作成

作成したイメージにチェックを入れ、「インスタンスを作成」ボタンを押す
![image](https://qiita-image-store.s3.amazonaws.com/0/49910/2ef3d9b1-c45b-815e-afed-50e7f452c3b1.png)

インスタンス名を入力し、
* ゾーン：asia-northeast1-a、共有CPU、メモリ1.7GB、$16.97/月を選択。
* 「HTTP トラフィックを許可する」「HTTPS トラフィックを許可する」にそれぞれチェックを入れる


※東京リージョンがasia-northeast1の模様。
[リージョンとゾーン  |  Compute Engine ドキュメント  |  Google Cloud Platform](https://cloud.google.com/compute/docs/regions-zones/regions-zones?hl=ja)


![image](https://qiita-image-store.s3.amazonaws.com/0/49910/b189ce0f-434b-4d88-6a34-c96a517faddd.png)


インスタンス一覧の画面に切り替わり、作業中の状態が表示される。
しばらく待てばインスタンスが作成される。

![image](https://qiita-image-store.s3.amazonaws.com/0/49910/48c9c93a-0e9b-852b-5015-7304a7f76153.png)


# リモートアクセス

インスタンス一覧の行の右側にSSHからプルウィンドウが表示される。
ここで好みの処理を選ぶ。ひとまず「ブラウザウィンドウで開く」を選択する。

![image](https://qiita-image-store.s3.amazonaws.com/0/49910/6f000795-fa61-40cd-5e58-efd8fac993f6.png)


ウィンドウが表示され、KUSANAGIのターミナルが表示される。
![image](https://qiita-image-store.s3.amazonaws.com/0/49910/62320604-8ebf-08cc-93bd-61c005c2f2d0.png)

# kusanagi 初期設定

以下の説明に添って処理を進める。
[KUSANAGIの初期設定 – KUSANAGI](https://kusanagi.tokyo/document/kusanagi-init/)

## yum update


KUSANAGIコマンドによる初期設定を行う前に、まずCentOSやKUSANAGIシステムのアップデートを yum を利用して行います。
の前にsuになります。

```shell-session
# sudo su
```

```shell-session
# yum --enablerepo=remi,remi-php56 update -y
```


以下のようなエラーが出たらclean allを行います。
```shell-session
$ yum --enablerepo=remi,remi-php56 update -y
Loaded plugins: fastestmirror
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
You need to be root to perform this command.
```

エラーメッセージにrun: yum makecache fastと書いてあります。
clean allもやっときます。

```shell-session
# yum makecache fast
# yum clean all
```

再度、updateします。

```shell-session
# yum --enablerepo=remi,remi-php56 update -y
```

こんどはうまくいきました。処理完了までけっこう時間がかかります。（5分くらい）


### サーバー再起動

次のように入力し、一度サーバを再起動します。

```shell-session
# reboot
```

## kusanagi init

最初にsuになります。

```shell-session
# sudo su
```

kusanagiコマンドで処理を進めますが、以下に要領を記述します。
基本的にデフォルトのまま進んでいっていいかと思います。

```shell-session
# kusanagi init
```

kusanagi自体のバージョンチェッkが走った後に初期処理が開始されます。
自動でTLS用ホスト鍵ファイルの生成が行われるのでしばらく待ちます。

### サーバタイムゾーンの設定

Timezoneの選択になるので、Tokyoと打って、Asiz/Tokyoが表示されるのを確認してEnterを押します。
![image](https://qiita-image-store.s3.amazonaws.com/0/49910/f7dc17fc-e2dc-7904-5e61-3031be309d67.png)

### 使用言語の選択

```shell-session
Select your using language.
```
お好きな言語を


### キーボードタイプの設定

```shell-session
Select your keyboard layout.
```
お使いのキーボードを選択してください。

### ユーザーパスワードの設定

```shell-session
Changing password for user kusanagi.
```
ユーザー kusanagi のパスワードの設定を行います。
今後、WordpressのFTP設定等にも使うパスワードになります。


### 鍵認証の設定

```shell-session
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): 
```
お好きなキーワードを入れてください。
たぶん使いません。（一度も使った事がない）

### MySQL rootパスワードの設定
rootのパスワードです。
忘れないパスワードを入れてください。
DBの作成が始まります。しばらく待ちます。（数分）

Mroongaのインストールについて尋ねられますが、不安な気がしたのでデフォルトのNを選択して進みました。

```shell-session
Complete!
Do you want to install Mroonga ?: [y/N]
```

以下では失敗するというスレが立っています。
[MariaDBのインストールが失敗する \| KUSANAGIユーザーグループ](https://users.kusanagi.tokyo/support/topic/mariadb%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%8C%E5%A4%B1%E6%95%97%E3%81%99%E3%82%8B/)




### Webサーバの選択

```shell-session
KUSANAGI can choose middlewares.
Please tell me your web server option.
1) NGINX(Default)
2) Apache
```
よほどの事がないかぎりNGINXを選んでいいかと。

### アプリケーションサーバの選択

```shell-session
Then, Please tell me your application server option.
1) PHP7(Default)
2) HHVM
3) PHP5
```
よほどの事がないかぎりHHVMを選んでいいかと。

※2018/11/08 追記　現在バージョンではPHP7がデフォルトになっていました。 

### Rubyのバージョン選択

```shell-session
Then, Please tell me your ruby version.
1) Ruby2.4
```

1しか選択肢がありませんでした。

### 初期設定の完了

以下メッセージが表示されたら完了です。

```shell-session
KUSANAGI initialization completed
Done.
```


# KUSANAGIのプロビジョニング

KUSANAGIのプロビジョニング（Wordpressのインストール）を行います。

以下コマンドで開始します。
任意のプロファイル名は何でもOK。私はドメイン名にしています。

```shell-session
# kusanagi provision 任意のプロファイル名
```

### WordPressの言語選択

```shell-session
Target directory is /home/kusanagi/sugasaki_com.
Choose the installation language of WordPress.
1 : en_US
2 : ja
q : quit
```

お好きな言語を。


### ホスト名の設定

```shell-session
Enter hostname(fqdn) for your website. ex) kusanagi.tokyo
```

ドメインを入力します。HTTPは含めません。


### Let’s Encryptの設定

```shell-session
In order to use Let's Encrypt services, you must agree to Let's Encrypt's Term of Services.
If you agree to this TOS, type your email address; if not, hit enter twice.
TOS of Let's Encrypt : https://letsencrypt.org/repository/
```

メールアドレスを入力します。


### データベース名の設定

```shell-session
Enter the name of your database.
```
DB名を入力します。
後ほどのWordpressの初期設定で入力するので忘れないように控えておいてください。

### データベースのユーザー名の設定

```shell-session
Enter user name for データベース名
```
ユーザーを入力します。データベース名と同じでもOKだし、別でもOKかと。（セキュリティ要件次第で）
これも後ほどのWordpressの初期設定で入力するので忘れないように控えておいてください。



### データベースユーザーのパスワードの設定

```shell-session
Enter password for database user 'データベースユーザー名'. USE [a-zA-Z0-9.!#%+_-] 8 characters minimum.
```
パスワード入力
後ほどのWordpressの初期設定で入力するので忘れないように控えておいてください。


### プロビジョニングの完了

以下のメッセージが出れば完了です。

```shell-session
Provisioning of プロビジョニング名 completed. Access sugasaki.com and install WordPress!
Done.
```


# Wordpressの初期設定

ブラウザでドメインにアクセスします。

![image](https://qiita-image-store.s3.amazonaws.com/0/49910/0239e327-f831-cb2a-5d4d-907b92a3f184.png)


![image](https://qiita-image-store.s3.amazonaws.com/0/49910/ca5c0b38-f387-4fbe-62dc-fc143429792e.png)

データベース名、ユーザー名、パスワード
データベースのホスト名は「localhost」のまま
テーブル接頭辞は「wp\_」のままでOK
別のWordpressをインストール予定であれば好きに付け足してください。

入力が終われば「送信」ボタンを押す。
無事に入力できていれば、以下の画面が表示されます。「インストール実行」ボタンを押します。

![image](https://qiita-image-store.s3.amazonaws.com/0/49910/d06488b9-ee30-66d7-09dc-c86c378e36cd.png)

サイトのタイトル、ログインに必用なユーザー、パスワードを入力します。
「Wordpressをインストール」ボタンを押します。

![image](https://qiita-image-store.s3.amazonaws.com/0/49910/120f13a9-5ab5-eef3-2f3e-61de2ff1dbfd.png)

以下のように成功しました！が表示されたらOK。ログインします。

![image](https://qiita-image-store.s3.amazonaws.com/0/49910/7c300e22-20ea-4506-ecae-54436b5a6de1.png)



# Wordpressの初期設定



## セキュリティ状況を変更する

ダッシュボードの下部あたりに「セキュリティ状況」があります。
初期状態では以下のようにアラートが表示されていますので随時修正します。
![image](https://qiita-image-store.s3.amazonaws.com/0/49910/7d917892-b4df-4db6-d534-7d0242651310.png)

ドキュメントルートは以下にあります。
/home/kusanagi/プロファイル名/DocumentRoot


修正終われば以下のようになります。
![Kobito.zN8Fzw.png](https://qiita-image-store.s3.amazonaws.com/0/49910/b4f45139-a327-fdb4-50dc-955cebeb37cb.png "Kobito.zN8Fzw.png")


## FTPの設定

プラグインのインストール等、FTPの設定が必用になります。

wp-config.phpの書き込み権限を一時的に変更してwp-config.phpを編集します。

wp-config.phpをおいたフォルダにて以下
`chmod 755 wp-config.php`

`vi wp-config.php`

```shell-session
権限を編集OKに
`chmod 755 wp-config.php`

編集します。
`vi wp-config.php`

編集が終われば権限を元に戻します。
`chmod 440 wp-config.php`

```

以下のようにFTPパスワードをセットします。

![image](https://qiita-image-store.s3.amazonaws.com/0/49910/dac7eec9-c553-a404-f671-c94549476f94.png)


最後にもし、SSL設定が失敗していれば（HTTPSでアクセスできなければ）再度SSLを設定します。

## SSL

kusanagi ssl --email メールアドレス プロファイル名



以上、よりWordpressライフを！！


## マルチサイト
マルチサイトが必用であれば以下の設定を行います。

[WordPress > multisite - Qiita](https://qiita.com/sugasaki/items/b85ae211d880a49526b8)