Rails 5用

2016/08/02

Rails 5用

勉強備忘資料
Centos7 RubyOnRailsバージョンアップ
$ rbenv install --list
  2.3.0
  2.3.1
  2.4.0-dev
  
$ ruby --version
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]

$ gem install rails

$ gem install bundler

rails db:create
rails db:migrate

Postgresqlをインストール

Postgresql
Centos7にインストール
$ yum localinstall http://yum.postgresql.org/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm
$ yum localinstall https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
$ yum list postgres*
$ yum install -y postgresql95-server.x86_64 postgresql95-contrib.x86_64 postgresql95-libs.x86_64 postgresql95-devel
$ yum install -y postgresql96-server.x86_64 postgresql96-contrib.x86_64 postgresql96-libs.x86_64 postgresql96-devel
$ /usr/pgsql-9.5/bin/postgresql95-setup initdb

  • 起動、自動起動設定、バージョン確認
$ systemctl enable postgresql-9.5.service
$ systemctl start postgresql-9.5.service 
$ systemctl status postgresql-9.5.service



$ psql --version
  psql (PostgreSQL) 9.5.3
  
  • 設定ファイル修正
$ sudo vi /var/lib/pgsql/9.5/data/postgresql.conf   

# 59行目あたり
#listen_addresses = 'localhost'
↓
listen_addresses = '*'

# 63行目あたり
#port 5432 コメント外す
↓
port 5432

$ sudo vi /var/lib/pgsql/9.5/data/pg_hba.conf    

# ↓追記
host all all 接続許可するIPアドレス/32 trust

host all all 0.0.0.0/0 trust

  • rootユーザ操作
su - postgres 
psql -c "alter user postgres with password 'postgresql'"

psql -c "alter user pguser with password 'pguser'" 
psql -l    

psql testdb

testdb=# createuser pguser

testdb=# createdb testdb -O pguser

ALTER ROLE pguser WITH CREATEROLE CREATEDB;
ALTER ROLE pguser WITH CREATEROLE SUPERUSER;
ALTER ROLE pguser WITH CREATEDB;

ALTER ROLE pguser createdb;

testdb=# \q

  • 2017.04.13 postgresql-9.6エラー解決

    # ファイルを修正 $ sudo vi /var/lib/pgsql/9.5/data/pg_hba.conf

    # サービスを再起動 $ sudo systemctl restart postgresql-9.6

    • rails5 postgresql96 エラー解決方法
gem install pg -v '0.19.0' -- --with-pg-config=/usr/pgsql-9.6/bin/pg_config    

bundle config build.pg --with-pg-config=/usr/pgsql-9.6/bin/pg_config 

ユーザ作成

$ createuser -S -D -R -P user1

新しいロールのためのパスワード: ←作成するデータベースユーザ user1 のパスワードを入力
もう一度入力してください: ←同じパスワードを再入力
なお、createuserコマンドのオプションは以下の通りです。

オプション 説明
-P パスワードを設定する。
-s スーパーユーザ権限を与える。
-S スーパーユーザ権限を与えない。
-d データベース作成権限を与える。
-D データベース作成権限を与えない。
-r ユーザ作成権限を与える。
-R ユーザ作成権限を与えない。
-l ログイン権限を与える。(デフォルト)
-L ログイン権限を与えない。

番外(vagrant)

vagrantで作ったpostgresqlに接続したかった。。 $ sudo -u postgres psql

#\ password pguser Enter new password: Enter it again:

  • 初期化参考 - PostgreSQL をインストールし、データベースサーバーを構築

番外(Docker)

rails api

  • rails api - grapeで簡単に作るrails api

参考例

  • rails5 Movie Review App - Movie Review App Video Series

  • NGROK - NGROKでローカル開発

    • localhostで動いているサーバーを外部(LAN外)からアクセスできるように中継をしてくれるツールです
  • Rails MVC - Rails MVC

Post Directory