数年ぶり(多分、6, 7年くらいぶり)にブログサイトを構築しようと思い、KUSANAGI on ConoHa にチャレンジしているところのリンク集と考慮点のまとめ

# 下調べ

とりあえず、始める前に「KUSANAGI on ConoHa」「セキュアな設定」あたりについて、情報収集。

## KUSANAGI on ConoHaについて

まずは、公式。

- [KUSANAGI for ConoHa – KUSANAGI](https://kusanagi.tokyo/cloud/kusanagi-for-conoha/)
 - [KUSANAGIの初期設定 – KUSANAGI](https://kusanagi.tokyo/document/kusanagi-init/)
 - [KUSANAGIのプロビジョニング – KUSANAGI](https://kusanagi.tokyo/document/kusanagi-provision/)
 - [WordPressのインストール – KUSANAGI](https://kusanagi.tokyo/document/wp-install/)
 - [推奨するセキュリティ対応 – KUSANAGI](https://kusanagi.tokyo/document/security/)

よくまとまっているブログ、特に、運用の部分も踏まえて、その点もフォローしているのがいい。

- [連載目次：ConoHaとKUSANAGIで月々630円の格安WordPressサーバを作る | 有限工房](https://ygkb.jp/2246/)
 - [ConoHaに入会してKUSANAGIを立ち上げる](https://ygkb.jp/4543/)
 - [KUSANAGIを設定してWordPressを立ち上げる](https://ygkb.jp/2321/)
 - [KUSANAGIのキャッシュ機能をONにする](https://ygkb.jp/4552/)
 - [KUSANAGIにSSHでつなぐためにセキュリティを強化する](https://ygkb.jp/2397/)
 - [KUSANAGI運用のコツ](https://ygkb.jp/5883/#i-3)

ディレクトリについてとか、独自ドメインの考慮(DNSでのAレコードの設定とか、ConoHaのコンパネでの設定とか)。

- [ConoHa + KUSANAGIで超高速なWordPressを作る](https://okuzawats.com/conoha-kusanagi-wordpress-20161002/)
 - [ConoHaのVPSにムームードメインで取得した独自ドメインを設定する](https://okuzawats.com/conoha-domain-20161030/)
 - [ConoHa VPSの基本的なセキュリティ設定](https://okuzawats.com/conoha-security-20161226/)

Let’s Encryptに関して、www のあるなし関係なく同一のIPに接続するようにDNSのAレコード設定が必要。

- [KUSANAGI for ConoHaを導入しました – aki-tブログ](https://aki-t.net/75)

ConoHa利用料のコストに関して、GMOの株主になると、優待でコストが抑えられる。10年使うなら実質4万程度で済む。優待なく、月額900円で10年使ったら10万強の費用(向こう10年、株主優待の内容が変わらない、という前提だけど)。

あと、最小スペックでメモリ512MBがあるけれど、これはスケールアップができないため、サイトが成長する前提の場合は、メモリ1GB以上を使った方が良さそう。

Let’s Encryptの設定には、メールアドレスが必要ということと、事前に、対象のドメインでサーバーにアクセスできるようにしておく必要があるため、ドメインを新規取得の場合は、事前にDNSのレコード設定を済ませておいた方が良いとか。

- [ConoHa+KUSANAGI+WordPressでブログ運用が想像以上に快適で安定しています](https://curo.jp/log/conoha-kusanagi-wordpress-stable#ConoHaGMO)
 - [ConoHa+KUSANAGI+WordPressのセットアップ注意点](https://curo.jp/log/conoha-kusanagi-wordpress-setup)

公式マニュアルに沿った内容で、さらに、キャプチャ付きで全体の流れが解説されている。

別サーバーからの移行方法について記載があり、これを知ることでディレクトリ構造などについて理解を深めることができそう。(追記: が、これが、KUSANAGIの標準的なディレクトリ構造なのかがわからなかった...)

- [ConoHaでKusanagiを設定する方法 | 経験知](https://keikenchi.com/conoha-kusanagi-setting)
 - [ConoHaでKUSANAGI8.0.0-3を設定して他のサーバから移行する方法](https://keikenchi.com/conoha-kusanagi-setting-2)

KUSANAGI on ConoHa について、VM作成後のサーバー側の各種設定変更について詳細に書かれている
これが一番細かそう

- [ConoHa で KUSANAGI がかなり良い。サーバーセットアップと初期設定 - IMPOV::In My Point Of View](http://impov.hatenablog.com/entry/2016/05/29/221827)
 - [サーバーの立ち上げ - ConoHa で KUSANAGI その1](http://impov.hatenablog.com/entry/2016/05/30/011912)
 - [作業用ユーザーを作成する - ConoHa で KUSANAGI その2](http://impov.hatenablog.com/entry/2016/05/30/154726)
 - [SSH のポートを変更する - ConoHa で KUSANAGI その3](http://impov.hatenablog.com/entry/2016/05/30/174948)
 - [ConoHa API を叩いてインフラ側で Firewall を設定 - ConoHa で KUSANAGI その4](http://impov.hatenablog.com/entry/2016/05/30/210105)
 - [Firewalld を念の為に設定 - ConoHa で KUSANAGI その5](http://impov.hatenablog.com/entry/2016/05/31/002826)
 - [ユーティリティのインストールと設定 - ConoHa で KUSANAGI その6](http://impov.hatenablog.com/entry/2016/05/31/020208)
 - [KUSANAGI の設定 - ConoHa で KUSANAGI その7](http://impov.hatenablog.com/entry/2016/05/31/223736)

## セキュアな設定

前項のリンクと重複しているものもあるが、セキュリティ関連の設定を抜き出してリスト化。

### インスタンス(サーバー)のセキュアな設定に関して

全般的な考慮点。

- [ConohaにVPSを設置して、SSHログイン、ポート番号変更、rootログイン禁止までを30分で！ - Qiita](http://qiita.com/ongaeshi/items/bb17ebfbd4d22057c8fd)
- [ConoHaでVPSを借りて、SSH接続などの初期設定 - tkm_71のブログ](http://tkm-71.hatenablog.com/entry/2016/03/20/153825)

sudoについて触れられている、この辺りは、別に `su -` して作業すりゃーいーじゃん、とも思ったので、「なぜ、sudoしないといけないの？した方が良いの？」というあたりを、おさらいしておく(なんでだったか忘れちゃったw)

- [ConoHa と CentOS7 でサーバー構築 - Qiita](http://qiita.com/nanocloudx/items/e393dead67b8a48ba6a6)

iptableでのポート変更と、~/.ssh/configを設定することで、sshコマンド実行時のオプション指定を簡略化

- [ConoHa VPSの基本的なセキュリティ設定](https://okuzawats.com/conoha-security-20161226/)

ポート変更時は、コンパネ側も考慮が必要で、コンパネ側の全開放について触れていないブログが多いから要注意。あと、これは、firewall-cmdを使ったポート変更の設定例。

- [KUSANAGIにSSHでつなぐためにセキュリティを強化する | 有限工房](https://ygkb.jp/2397/)

sshのポート変更から、インフラ側のFirewallの設定変更をAPIで行う例(他の解説ブログは、Firewall側は全開放がほとんど)と、サーバー側のFirewalldの設定についても触れられている。

 - [SSH のポートを変更する - ConoHa で KUSANAGI その3](http://impov.hatenablog.com/entry/2016/05/30/174948)
 - [ConoHa API を叩いてインフラ側で Firewall を設定 - ConoHa で KUSANAGI その4](http://impov.hatenablog.com/entry/2016/05/30/210105)
 - [Firewalld を念の為に設定 - ConoHa で KUSANAGI その5](http://impov.hatenablog.com/entry/2016/05/31/002826)

### WordPress on KUSANAGIのセキュアな設定に関して

KUSANAGI推奨のセキュア設定については、公式を

- [ConoHa+KUSANAGI+WordPressのセットアップ注意点](https://curo.jp/log/conoha-kusanagi-wordpress-setup)

ということで、公式のドキュメントには、一通り目を通しておく

- [推奨するセキュリティ対応 – KUSANAGI](https://kusanagi.tokyo/document/security/)

## 技術的なエトセトラ

下調べの中で、引っかかった関連する技術的な情報で、「あっ、これ、見ておくと良さそう」と思ったもの

後々、そうしたいなぁーと思っていたことで、LaravelなどのPHPのプログラム／アプリケーションを同居させたいなぁーと思ったので、関連しそうな情報をピックアップ。

KUSANAGIのPHP環境は、初期設定だとHHVMのようだけれど、Laravelは、HHVMでも問題ない？もしダメなら、PHP7の環境にする。

で、Laravelではないけれど、FuelPHPを動かそうとしているページがあったけれど、最終的な結論が書かれていない。

- [nginx - KUSANAGI for ConoHa で Nginx + WordPress + FuelPHP を正常に動作させる(68307)｜teratail](https://teratail.com/questions/68307)

KUSANAGI特有のPHPの設定とか、あるのかも？でも、これはバージョンが古いと、このようなトラブルが起きるという意味にも取れる。

- [ConoHa の KUSANAGI の PHP の設定がおかしい | tako_blog](http://tako.nakano.net/blog/2016/02/conoha-%E3%81%AE-kusanagi-%E3%81%AE-php-%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%81%8C%E3%81%8A%E3%81%8B%E3%81%97%E3%81%84/)

以下は、所々、説明に違和感(*1)があるけれど、やりたいことの手段の一つになりそう。KUSANAGIで複数サイトをプロビジョニングするってのが、確かに、良さげ。プロビジョニングごとに、httpサーバーやPHPのエンジンは変えられる？フツーは、そんな複雑なことしないよね？

- [無料SSL/TLC付き複数サイトを高コスパインフラでお気楽に運用する | ikuty.com](https://ikuty.com/web/very-easyway-to-make-multisite/#)

(*1)... 「WordPressの上にKUSANAGI」という表現だけど、違うと思う。そもそも完全な上下の関係というよりは、環境構築&設定の手段がKUSANAGIで、その結果、プロビジョニングされるのがWordPressという格好。

ドンンピチャな質問と、回答が公式にあったw

- [conohaでLaravel | KUSANAGIユーザーグループ](https://users.kusanagi.tokyo/support/topic/conoha%E3%81%A7laravel/)

上記から参照リンクされているのが、以下。

- [KUSANAGI for Laravel 【 Laravel爆速実行環境 】 - Qiita](http://qiita.com/tajima_taso/items/f139eb71423041120247)

主に、ディレクトリの構成を見直すのと、Laravelプロジェクトの特定のディレクトリに対して、httpd/nginxの動作ユーザーが書き込みできるようにパーミッションを設定する。

公式のフォーラムを見てみると、参考になりそうなことがチラホラ。

複数のプロビジョニングが可能っぽい、httpd.confでいう所のVirtualHostで複数ドメインをホストできるってことだろうから、まぁ、当たり前か

- [Kusanagiで用意するWordPressとは別に、コンテンツを格納するディレクトリ作り公開可能でしょうか？ | KUSANAGIユーザーグループ](https://users.kusanagi.tokyo/support/topic/kusanagi%e3%81%a7%e7%94%a8%e6%84%8f%e3%81%99%e3%82%8bwordpress%e3%81%a8%e3%81%af%e5%88%a5%e3%81%ab%e3%80%81%e3%82%b3%e3%83%b3%e3%83%86%e3%83%b3%e3%83%84%e3%82%92%e6%a0%bc%e7%b4%8d%e3%81%99%e3%82%8b/)

/home/kusanagi配下にしか、httpのドキュメントルートを置けないらしい

- [複数ユーサーでKUSANAGIを使用できますか？ | KUSANAGIユーザーグループ](https://users.kusanagi.tokyo/support/topic/%e8%a4%87%e6%95%b0%e3%83%a6%e3%83%bc%e3%82%b5%e3%83%bc%e3%81%a7kusanagi%e3%82%92%e4%bd%bf%e7%94%a8%e3%81%a7%e3%81%8d%e3%81%be%e3%81%99%e3%81%8b%ef%bc%9f/)
- [DocumentRoot以下のサブディレクトリにWordPressを複数インストール | KUSANAGIユーザーグループ](https://users.kusanagi.tokyo/support/topic/documentroot%e4%bb%a5%e4%b8%8b%e3%81%ae%e3%82%b5%e3%83%96%e3%83%87%e3%82%a3%e3%83%ac%e3%82%af%e3%83%88%e3%83%aa%e3%81%abwordpress%e3%82%92%e8%a4%87%e6%95%b0%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88/)

少し、ハッスルした内容だけど、Ansibleで構築作業を自動化。

- [Ansible](https://kazuya.blog/centos/ansible)
 - [AnsibleでConoHaのクラウドをセットアップ（初期設定）](https://kazuya.blog/pc/5041.html#)
 - [AnsibleでConoHaのクラウドをセットアップ（ミドルウェア）](https://kazuya.blog/pc/5116.html)

こちらは、Ansibleではなく、Vagrant... 勉強にはなるかなw

- [Conohaへ(ほぼ)CLIだけでCoreOSのインスタンスをセットアップしてみた - くんすとの備忘録](http://www.kunst1080.net/entry/2016/12/01/204857)
- [KUSANAGIのインスタンスをConohaにVagrantを使ってセットアップする方法 - くんすとの備忘録](http://www.kunst1080.net/entry/2016/12/05/182947)

他社のサービスとのパフォーマンス比較

- [s3+CloudFrontよりConoHa+KUSANAGIのほうが速いかもしれない | noldor's blog](https://blog.noldor.info/download-speed-s3-cf-vs-conoha-kusanagi/)
- [ConoHaとロリポップとXサーバーでWordpressの速度比較した結果ｗｗｗｗｗｗ | ghost_in_the_info](https://ghostinthe.info/post-1193/)

ちょっとマニアックだけれど、ディスクの設定についてConoHaでどのような扱いになっているのかを見ているもの(LVM Volumeなのか？とか、/bootどうなっている？とか)

- [ConoHaでPHP7.1のLAMP環境を作る。例えばDrupal8用に。 - IMPOV::In My Point Of View](http://impov.hatenablog.com/entry/2017/03/06/185623)

# 考慮点

- VPS作成
 - ポチポチで起動
- ドメイン
 - 取得ドメインのDNSのAレコードの設定
 - ConoHaのコンパネでの設定
- サーバー側の初期作業
 - 後項に出てくる諸々の設定
- WordPress on KUSANAGIのセットアップ
 - マニュアル通りにすれば、とりあえずは、良さそう
- WordPress自体の設定
 - よく使うプラグインとか(これは、まだ特に何も調べていない)
- ssh関連
  - ポート変更
     - コンパネの設定が影響する
         - 全開放、もしくは、API叩いて制御？
     - サーバ側の設定で絞る
     - iptablesが入っていないという情報もあったが、定かではない
         - systemctl stop firewalld.service
         - systemctl mask firewalld.service
         - systemctl enable iptables.service
     - ローカルからのsshコマンドでポート指定
         - ssh -i {keyfile_path} {user}@{host} -p {port_number} 
     - ~/.ssh/configで指定
         - ssh conoha などの略式で利用可能になる
  - 鍵認証
     - ssh-keygen -t rsa -b 2048
     - ローカルのユーザー、サーバー上の作業ユーザー、それぞれで作成？
     - id_rsa.pub, authorized_keys, .pem のぞれぞれの意味は？(前者2つが公開鍵で、.pemが秘密鍵)
 - root禁止
 - ssh2
- sudo, su
 - 作業用ユーザー追加
 - なぜ、sudoはセキュア？
- ディレクトリ構成を考える
 - KUSANAGIのプロビジョニングで作成されるディレクトリ構造が不明 /home/kusanagiにできる？
 - WordPress
     - /home/wordpress/site/
 - Laravel
     - /home/laravel/site/
- DB名
 - 命名規則 {site_name}_wp とか？ 
- KUSANAGI
 - `kusanagi autorenewal on`
 - `kusanagi https redirect`
 - wp-config.php の配置場所の変更
- ConoHa使ってアフィリエイト
  - クーポン
     - [このとも ～友達紹介～｜VPSならConoHa](https://www.conoha.jp/conotomo/) 
  - 広告掲載
     - [アフィリエイトプログラム｜VPSならConoHa](https://www.conoha.jp/affiliate/)

ということで、具体的なコマンド例などは割愛しているので、時間があれば、その辺りは作業しつつ記録していく予定