建ててみた、かな。ロッジだけに。
経緯
- 7月くらいに、うちの会社のインフラエンジニアさんが「さくらの夕べ」に参加した
- そのおみやげに、さくらのクラウドで使えるクーポン 20,000円分(!)をもらった
- もらったはいいけど、何に使おうかなー
放置してる運営してるWebアプリはどれも GAE なので、移行とかはない- お仕事は AWS だし
- Jenkins とか立ててみるかなーとかも考えたけど
- ところで a-know は Qiita(Qiita:Team)が好き
- Qiita のクローンの Lodge てのがある
- コ・レ・ダ!!(-ω☆)キラリ
構築手順
以下、手順だけど、別にさくらのクラウドに限った話じゃないと思う。 あと、 Lodge の README がものすごく丁寧に書いてあるので基本はそっちを見たほうがいいと思うんだけど、それでもなんかうまく行かなかったところがあった(主に自分の実力不足)ので、そこらへんを重点的にメモっとく。
まずはサーバを立てる
- さくらのクラウドのアカウントを作る
- クーポンを登録する゚+.(◕ฺ ω◕ฺ )゚+.
- 「サーバ」タブを開いて「+追加」ボタンを押す
UI が独特だったけど、特に迷うことはなかった。
いろいろインストール
Chef とか Ansible とかを使えばいいんだろうけど、今回はそこが目的じゃないので、それぞれを手作業で、真心込めてインストール。
- インストール
rbenv
zlib-devel
openssl-devel
mysql
mysql-devel
mysql-server
mysql-utilities
touch /var/lib/mysql/mysql.sock
chown mysql:mysql /var/lib/mysql
/etc/init.d/mysqld restart
ruby
RUBY_CONFIGURE_OPTS="--with-openssl-dir=/usr/bin/"
付けてrbenv install
bundler
rbenv rehash
とかする- lodge を
git clone
(ここらへんから README も見ながらで) config/database.yml
を編集- 編集した内容で mysql にユーザーを作る
Gemfile
を編集therubyracer
の gem がコメントアウトされているので有効にする
bundle install --path vendor/bundle
.env.example
を.env
としてコピーこの時点で、Unicorn / Thin / WEBrick、お好きなもので立ち上げれば
http://<ip_address>:3000
でアクセスできるはず
ドメイン設定
- DNSレコードを設定
- Aレコード
- 今回は Route53 を使った
- ポートの指定をしなくてもいいように、nginx を設定
- nginx をインストール
/etc/nginx/nginx.conf
を編集- http ブロックの中に下記のように追記して nginx をリスタート
server { listen 80; root <lodge の ルートディレクトリ>; server_name <ドメイン>; location / { proxy_pass http://<ドメイン>:3000; } }
ここらへん、nginx を触ったのがこれが初めてでよくわかってないので、後日インフラエンジニアさんに教えてもらうよてい。
以上おわり。
で、立ったん?
立ったよー٩(๑❛ᴗ❛๑)۶
コスト
今回のプランで、一ヶ月立ち上げっぱなしで 1,954円。まぁ 2,000円弱。 もらったクーポンは 20,000円分なので、だいたい 10ヶ月はタダで運用できる計算。 まぁ、そもそもクーポンでの 20,000円も有効期間が1年みたいなので、特に気にせず使ってみることにしよう。
でも、本家 Qiita:Team の一番安い micro プランが 1,490円/月 ってことなんでw、このサーバには他にも色々突っ込んで、2,000円分は働いてもらうよてい。(▼へ▼メ)オラオラ
今後やろうとしてること
今回立てた Lodge にはプライベートなメモ(特にマークダウンで書きたいもの)を書きためていくつもりなんだけど、そうなると定期的なバックアップが欲しくなるわけで。 AWS にはある定期スナップショットみたいなものは、どうやらまださくらのクラウドにはないみたいなんだけど、色々探してみたら↓これが見つかったので、こいつを仕込むのはやってみようかなと。