- ubuntu 14.04 LTS
-
基本 Server 設定 (e.g. apt, git, openssl, openssh ...)
-
Mysql
-
rbenv install ruby 2.1.2
-
Nginx + Unicorn
-
User
-
Fork & git clone 下來
-
$ bundle install
-
$ berks install
-
到 https://www.vagrantup.com/downloads 下載 Vagrant
-
到 https://www.virtualbox.org/wiki/Downloads 下載 VirtualBox
-
$ vagrant box add ubuntu/trusty64
-
$ vagrant up
開啟虛擬機 (ubuntu 14.04 LTS) -
$ cat ~/.ssh/id_rsa.pub | ssh vagrant@10.10.10.10 "mkdir -p /home/vagrant/.ssh && cat >> /home/vagrant/.ssh/authorized_keys"
將本機端的 ssh_key copy 到虛擬機, vagrant 的預設密碼是 vagrant -
$ ssh vagrant@10.10.10.10
(進入虛擬機)
=>$ ssh-keygen
=>$ more ~/.ssh/id_rsa.pub
=> 把出來的內容貼到 github account setting -> ssh_key 上 -
$ knife solo prepare vagrant@10.10.10.10
設定 chef 環境 -
『 nodes/10.10.10.10.json.example 』 copy to 『 nodes/10.10.10.10.json 』
=> 第四行請換成你想設定的 Mysql 密碼 -
『 data_bags/users/deploy.json.example 』 copy to
『 data_bags/users/deploy.json 』 (chef cook 用)
『 data_bags/users/apps.json 』 (capistrano deploy 用) -
將上面二個檔案的第四行換成你要設定的密碼,第七行放你本機端的 ssh_key
-
開始料理! =>
$ knife solo cook vagrant@10.10.10.10
-
第一次料理之後會幫你建立二個 user 權限: deploy & apps,
之後改用$ knife solo cook deploy@10.10.10.10
即可 -
第二次料理應該就能將環境架好
-
$ git clone git@github.com:sdlong/rails101s.git
-
$ bundle install
-
$ cap production deploy:check
檢查 & 建立基本資料設定 => 會有 error 要你補尚未放入的檔案 -
$ ssh apps@10.10.10.10
-
建立 rails101 的 databse =>
$ mysqladmin -u root -p create rails101
密碼在你設定的 nodes/10.10.10.10.json 上面 -
到 /home/apps/rails101s/shared/config 補上 database.yml & secrets.yml
production:
adapter: mysql2
encoding: utf8
database: rails101
pool: 5
username: root
password: "xxxxx" # 密碼在你設定的 nodes/10.10.10.10.json 上面
socket: /var/run/mysqld/mysqld.sock
請在 rails repo 上 $ rake secret
複製貼上值到檔案上
production:
secret_key_base: bdg23523...(替換掉)
-
(回到 rails repo) 再執行
$ cap production deploy:check
檢查無誤 -
$ cap production deploy
開始 deploy -
http://10.10.10.10/ deploy 完成!
TODO