LoginSignup
4
2

More than 5 years have passed since last update.

Cloud9にRails (postgresql + postgis) の開発環境を構築する

Last updated at Posted at 2017-07-30

概要

緊急時の開発環境に使えるように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で管理しているリポジトリをクローンする。

参考: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

以上

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2