概要
緊急時の開発環境に使えるようにCloud9をセットアップしたので紹介。
構築した環境
ざっくりと以下の感じ
* ruby 2.3.1
* rails
* postgresql + postgis
手順
プログラムのアップデート・インストール
色々プログラムのバージョンが古かったり、入っていなかったりするのでそれらをアップデートおよびインストールする。
apt-getをアップデート
sudo apt-get update
rubyをアップデート
ruby --version
で見たところ versionが2.3.0だったので、ちょっとだけアップデートした。
rvm upgrade 2.3.0 2.3.1
postgresqlとpostgisインストール
sudo apt-get install postgresql libpq-dev language-pack-ja
sudo apt-get install -y postgis postgresql-9.3-postgis-2.1
- postgresql を起動する。
sudo service postgresql start
既存のリポジトリをクローンする
bitbucketで管理しているリポジトリをクローンする。
git clone https://xxxxx@bitbucket.org/yyyyy/zzzzz.git
Rails関連の設定
database.ymlにあわせたpostgresqlの設定をする
- 対象となるdatabase.ymlの記述例は以下の通り
config/database.yml
development:
host: db
database: database_dev
encoding: utf8
username: appuser
password: apppass
adapter: postgis
pool: 4
timeout: 7000
ホスト名の追加
- ホスト名 dbでpostgresqlにアクセスできる用にする。listen_addressに db を追加する
/etc/postgresql/9.3/main/postgresql.conf
------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
# - Connection Settings -
#listen_addresses = 'localhost,db' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
- ホスト名がdbの時、localhostと同じIPにアクセスできるようにする。ただし、 インスタンスが作り直される時に消えてしまうので、その都度入れ直す必要あり。
127.0.0.1 localhost
127.0.0.1 db
postgresqlへデータベースの追加
- postgresqlを起動し、ユーザーを追加する
sudo -u postgres psql
# CREATE USER appuser WITH PASSWORD 'apppass';
# ALTER ROLE appuser SUPERUSER;
# CREATE DATABASE 'database_dev' encoding 'UTF-8' TEMPLATE template0 owner appuser;
# ALTER ROLE appuser WITH CREATEDB;
Ctrl-D
postgresqlへpostgisアダプタの追加
sudo -u postgres psql -d database_dev
# CREATE EXTENSION postgis;
Ctrl-D
postgresqlへUTF-8を登録する
# CREATE COLLATION "ja_JP.utf8" (LOCALE = 'ja_JP.UTF-8');
git情報の登録
git用にのnameとemailを登録する。(参考:リポジトリごとに user.name や user.email の設定を強制する)
git config user.name "username"
git config user.email "user@email.com"
railsの起動
- ふつうにgem入れたりmigrationしたりseedを入れたりする。
gem install bundler
bundle install
rake db:migrate
rake db:seed
rails server -b $IP -p $PORT
うまくいかないとき
- postgresqlを起動、再起動する
sudo service postgresql start
もしくは
sudo service postgresql restart
- cloud 9を再起動する Cloud9 再起動する方法
以上