在Cloud9上搭建Rails(postgresql + postgis)的开发环境

简而言之

我设置了Cloud9,以便在紧急情况下使用开发环境,现在介绍一下。

建立的环境

以下是大致的情况:
* Ruby 2.3.1
* Rails
* PostgreSQL + PostGIS

操作程序

程序的更新和安装

由于各种程序版本的过时或未安装,需要进行更新和安装。

请更新apt-get。

sudo apt-get update

升级Ruby

通过运行 ruby –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の記述例は以下の通り
development:
  host: db
  database: database_dev
  encoding: utf8
  username: appuser
  password: apppass
  adapter: postgis
  pool: 4
  timeout: 7000

添加主机名称

    ホスト名 dbでpostgresqlにアクセスできる用にする。listen_addressに db を追加する
------------------------------------------------------------------------------                                                                                                                     
# 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

将UTF-8编码注册到PostgreSQL中

# CREATE COLLATION "ja_JP.utf8" (LOCALE = 'ja_JP.UTF-8');

在git中注册信息

注册用户名和电子邮件用于Git。(参考:强制在每个仓库中设置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

或者 (huò zhě)

sudo service postgresql restart
    • cloud 9を再起動する

 

    Cloud9 再起動する方法

以上