#author("2017-05-01T11:26:08+09:00","default:admin","admin")
-[[ConoHa:https://www.conoha.jp]]

-[[ConoHaで512MBプランを使ってみる:https://www.myzkstr.com/archives/626]]
-[[KUSANAGI for ConoHaとLet’s Encryptの小粋な使い方:https://www.myzkstr.com/archives/684]]

*ドキュメント [#y917135b]
**ConoHaの薄い本 [#me3673eb]
-[[vol.0「クラウド?VPS?ConoHaがわかるはじめの一歩」:https://www.conoha.jp/wp-content/uploads/2015/03/00_ConoHa.pdf]]
-[[vol.1「ボタンひとつで本格「WordPress」はじめよう!」:https://www.conoha.jp/wp-content/uploads/2014/04/01_WordPress.pdf]]
-[[vol.2「VPSで自分専用のメールサーバーを立てよう!」:https://www.conoha.jp/wp-content/uploads/2014/06/02_Postfix.pdf]]
-[[vol.3「ConoHa+Dockerでサーバーをドカドカ立てよう!」:https://www.conoha.jp/download/books/conoha-book-03-docker.pdf]]
-[[Vol.4「VPSでAndroid開発環境をつくろう!」:https://www.conoha.jp/wp-content/uploads/2014/08/04_android.pdf]]
-[[Vol.5「Gitを使ってみよう & 自分だけのGitサーバーを構築してみよう!」:https://www.conoha.jp/wp-content/uploads/2014/09/05_Git.pdf]]

*WordPressの移行 [#e3e3f37d]
-[[WordPressサイトをConoHa VPSに移行しよう:https://www.conoha.jp/guide/wordpress2.php]]
-[[「KUSANAGI for ConoHa」へのWordPress移転方法を考えて方針を決める:http://cafe-system.com/system1983.html]]
-[[WORDPRESSのお引っ越しプラグインはALL-IN-ONE WP MIGRATIONが最強:https://its-office.jp/blog/wordpress/2016/04/16/WP-Migration.html]]

-DNS変更するとアクセスできなくなるので、まずは移行元で作業
-移行元のWordPressに、プラグイン「All-in-One WP Migration」をインストール
-All-in-One WP Migration にて export
--[DocumentRoot]/wp-content/ai1wm-backups にファイルが作成されるのでダウンロード
--移行ファイルサイズが 512MB までは無料、それ以上は $69 となる。サイズを小さくしたければ、オプションで media ファイルを外して、別に移行

*環境構築 [#u852e291]
**方針 [#g17c9df2]
-現在ロリポップで運用しているWordPress, pukiwiki(これ)、メール(マルチドメイン)を順次移行
--WordPress => KUSANAGi for ConoHa
--pukiwiki => adiary(予定)
--メール => Postfix / Dovecot

**マルチドメイン対応 [#qed1c01b]
-[[VirtualHostをお手軽に実現できるDockerコンテナnginx-proxyの起動方法:https://suin.io/531]]
-[[nginx-proxyによるマルチドメイン環境:http://qiita.com/sigelinde/items/95c154dc807a4bbc9cf0]]
-[[Dockerを使って1サーバで複数Webサービスを運用するためのマイベストプラクティス:http://qiita.com/miyasakura_/items/5cd3b05aa9c5e4f3f4be]]
--nginx-proxy
---複数のサービスはそれぞれのコンテナで動いているので、各リクエストを振り分けるリバースプロキシが必要
---nginx-proxyを使うと立ち上がっているDockerコンテナに自動的に振り分けを行うことができる
--docker-letsencrypt-nginx-proxy-companion
---Let's Encryptは最近注目の無料でSSL証明書を発行できるサービス
---このコンテナを動かすだけで自動でSSL証明書の発行・更新を行ってくれる

-WordPress は kusanagi を使用し、nginx のバーチャルホスト設定で対応
-Docker上のコンテナは nginx-proxy 経由でアクセスできるようにする

**やること [#p231057f]
--WordPressを移行するので、「KUSANAGI」でVPSを構築
--Dockerをインストール

**ホスト名変更 [#b4847cce]
 $ sudo hostnamectl set-hostname [ホスト名]

**パッケージのupdate [#u5145961]
 $ sudo yum update -y

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

**vimの設定 [#r4b3f6a1]
-[[vimでペーストする際に、自動でpaste modeにする方法のメモ:http://qiita.com/ryoff/items/ad34584e41425362453e]]

-vimでコピペする際に改行毎にインデントされないようにするため、root、ユーザアカウントに以下の内容で .vimrc を設置
 if &term =~ "xterm"
     let &t_ti .= "\e[?2004h"
     let &t_te .= "\e[?2004l"
     let &pastetoggle = "\e[201~"
 
     function XTermPasteBegin(ret)
         set paste
         return a:ret
     endfunction
 
     noremap <special> <expr> <Esc>[200~ XTermPasteBegin("0i")
     inoremap <special> <expr> <Esc>[200~ XTermPasteBegin("")
     cnoremap <special> <Esc>[200~ <nop>
     cnoremap <special> <Esc>[201~ <nop>
 endif

**Docker [#k93e57f0]
-[[ConohaにDockerをインストールする:http://qiita.com/ongaeshi/items/d590f58753b05fda672d]]
-[[ConoHa + Docker + ghostで30分で技術ブロクを作る:http://blog.personal-factory.com/2015/07/04/conoha-docker-ghostde30fen-deji-shu-burokuwozuo-ru/]]

-Dockerのインストール
 $ sudo yum -y install docker-io
 $ sudo service docker start
 $ sudo docker --version
 Docker version 1.12.6, build 3a094bd/1.12.6

-再起動したときのために自動起動も設定
 $ sudo systemctl enable docker.service

**DNS設定変更 [#rbdb687c]
-この後 KUSANAGI のインストールでSSL証明書を有効にする場合は、先にDNSを変更して ConoHa にアクセスされるようにしておかないと、SSL証明書の発行でエラーになる

**KUSANAGI [#o7196843]
-[[KUSANAGI ドキュメント:https://kusanagi.tokyo/document/]]
-[[KUSANAGIを設定してWordPressを立ち上げる:https://ygkb.jp/2321/]]

-[[KUSANAGIの初期設定:https://kusanagi.tokyo/document/kusanagi-init/]]
 $ kusanagi init --tz tokyo --keyboard ja --lang ja --passwd [ユーザ kusanagi のパスワード] --nophrase --dbrootpass [MySQLのrootパスワード] --nginx --hhvm
--起動するWebサーバをnginx
--起動するアプリケーションサーバをHHVM(Facebookが開発・公開しているC++で実装されたPHP実行環境)

-[[KUSANAGIのプロビジョニング:https://kusanagi.tokyo/document/kusanagi-provision/]] ... KUSANAGIでWordPress などを使用するためのプロファイルを作成
 $ kusanagi provision --wplang ja --fqdn [FQDN] --email [メールアドレス] --dbname [DB名] --dbuser [DBユーザ] --dbpass [DBユーザのパスワード] [プロファイル名]
--/home/kusanagi/[プロファイル名] というディレクトリが作成され、この中にドキュメントルートが作成される
--WordPress 日本語版をインストール
--[[Let’s Encrypt:https://letsencrypt.jp]]でSSL証明書を発行

-WordPress の設定ファイル作成
 $ sed -ne '/\/\*\*\#\@\-\*\//,$ p' /home/kusanagi/[プロファイル名]/DocumentRoot/wp-config-sample.php | wp core config --dbname=[DB名] --dbuser=[DBユーザ] --dbpass=[DBユーザのパスワード] --dbhost=localhost  --dbcharset=utf8mb4 --extra-php --path=/home/kusanagi/[プロファイル名]/DocumentRoot

-WordPress のインストール
 $ wp core install --url=[http://aaa.com] --title=test --admin_user=[WPユーザ] --admin_password=[WPユーザのパスワード] --admin_email=[メールアドレス] --path=/home/kusanagi/[プロファイル名]/DocumentRoot

-もしミスったら、以下のコマンドを実行して「プロビジョニング」からやり直せば OK
 # kusanagi remove -y [プロファイル名]

**nginx [#ra5fdb1f]
-[[nginxのインストールからマルチドメインの設定まで:http://data-hacker.blogspot.jp/2014/03/nginxcentos.html]]

-設定ファイル用のディレクトリを作成
 # mkdir /etc/nginx/sites-available
 # mkdir /etc/nginx/sites-enable

-設定ファイルを作成(/etc/nginx/sites-available/aaa.com 同様に bbb.com, ccc.com を作る)
 # aaa.com
 server {
 	listen 80;
 	server_name aaa.com;
 
 	access_log  /var/log/nginx/access.aaa.com.log;
 	error_log   /var/log/nginx/error.aaa.com.log;
 
 	location / {
 		root   /home/kusanagi/aaa.com/DocumentRoot/
 		index  index.php;
 	}
 }

-設定ファイルをsite-enableディレクトリ側から参照するシンボリックリンクをはる
 # ln -s /etc/nginx/sites-available/aaa.com /etc/nginx/sites-enable/
 # ln -s /etc/nginx/sites-available/bbb.com /etc/nginx/sites-enable/
 # ln -s /etc/nginx/sites-available/ccc.com /etc/nginx/sites-enable/

-/etc/nginx/nginx.conf の最後の方にある「include /etc/nginx/conf.d/*.conf;」の直後に以下を追記
 include /etc/nginx/sites-enable/*;

-nginxをrestart
 # service nginx restart

**nginx + Perl [#af862825]
-[[NginxでPerlを動かす CentOS6:https://sys-guard.com/post-10029/]]

**nginx-proxy [#x33e1d58]
-nginx-proxy のイメージを取得
 # docker pull jwilder/nginx-proxy
-起動
 # docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy
-ヴァーチャルホストでアクセスしたいコンテナの起動
 # docker run -e VIRTUAL_HOST=foo.bar.com [コンテナ]

**Postfix / Dovecot [#lf33bbb2]
-[[メールサーバー構築(Postfix+Dovecot):https://centossrv.com/postfix.shtml]]

*環境構築で使うコマンド群 [#i4482e12]
-CentOSのバージョンを確認
 $ cat /etc/redhat-release
-yum でパッケージがインストール済みか?
 $ yum list installed | grep '[パッケージ]'

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS