【초보자용】Ruby on Rails5로 Web 개발 시작

소개



Rails를 만지고 싶다거나 Rails로 웹 서비스를 만들고 싶다고 생각했기 때문에
구축하려고합니다.

오늘의 목표는 로컬 환경에서 웹 서비스가 표시되는 곳까지입니다.
dcalen.com이라는 사이트를 만들려고 하기 때문에 거기까지 하고 싶다.
잘 부탁드립니다.

가상 환경 구축



VirtualBox 설치



OS에 맞는 VirtualBox를 다운로드하여 설치.
htps //w w.ゔぃr 짠 l보 x. 오 rg / uuki / Down ぉ ds

Vagrant 설치



OS에 맞는 Vagrant 다운로드 및 설치
htps //w w.ゔぁ 란츠 p. 이 m/두w응아 ds. HTML

VirtualBox와 Vagrant를 설치하면 드디어 가상 환경을 구축해 갑니다.

가상 머신 생성



h tp // w w.ゔぁg란 t보 x. 에 s/ 에서 원하는대로 이미지 링크를 복사하여 만듭니다.
이번 나는 "Official Ubuntu 16.04 daily Cloud Image amd64"를 선택.
# vagrant box add 'ボックス名' 'URL'
$ vagrant box add ubuntu1604a64 https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-vagrant.box
$ mkdir ~/vagrant
$ mkdir ~/vagrant/dcalen
$ cd ~/vagrant/dcalen
$ vagrant init ubuntu1604a64

2G 할당(4G정도 쪽이 좋을까라고 생각하면서.)
$ vi Vagrantfile

vagrantfile
  config.vm.provider "virtualbox" do |vb|
    # Display the VirtualBox GUI when booting the machine
    # vb.gui = true

    # Customize the amount of memory on the VM:
    vb.memory = "2048"
  end

Ruby on Rails에서 3000번 포트를 사용하므로 포트 포워딩 설정.

vagrantfile
  config.vm.network "forwarded_port", guest: 3000, host: 3000`

외부에서 vagrant의 가상 환경에 액세스 할 수 있도록 설정.

vagrantfile
  config.vm.network "private_network", ip: "192.168.33.10"

그리고는, 가상 환경을 시작해 ssh 해 본다.
$ vagrant up
$ vagrant ssh
_____________________________________________________________________
WARNING! Your environment specifies an invalid locale.
 The unknown environment variables are:
   LC_CTYPE=UTF-8 LC_ALL=
 This can affect your user experience significantly, including the
 ability to manage packages. You may install the locales by running:

   sudo apt-get install language-pack-UTF-8
     or
   sudo locale-gen UTF-8

To see all available language packs, run:
   apt-cache search "^language-pack-[a-z][a-z]$"
To disable this message for all users, run:
   sudo touch /var/lib/cloud/instance/locale-check.skip
_____________________________________________________________________

처음에는 위와 같은 warning이 나오지만, 이것에 속는다.
   sudo apt-get install language-pack-UTF-8
     or
   sudo locale-gen UTF-8

라고 기재되어 있지만, 이것을 쳐도 그런 것은 없다고 화난다.
$ sudo apt-get install language-pack-ja-base
$ cat /etc/default/locale
# Created by cloud-init v. 0.7.8 on Sun, 11 Dec 2016 02:18:39 +0000
LANG="en_US.UTF-8"
$ echo "export LC_ALL=en_US.UTF-8" >> ~/.bashrc
$ source ~/.bashrc

이것으로 화가 나지 않게 된다.

환경 구축



사용자 작성


$ sudo su -
# adduser fukumura
# gpasswd -a fukumura sudo

패키지의 update(이것을 하지 않으면 다운로드로 404 빈발입니다.)


$ sudo apt-get update

zsh 설치


$ sudo apt-get install zsh

다음에 로그인하고 나서는 zsh가 되도록(듯이) 설정.
$ chsh
Password:
Changing the login shell for ubuntu
Enter the new value, or press ENTER for the default
        Login Shell [/bin/bash]: /usr/bin/zsh

done.
% echo "export LC_ALL=en_US.UTF-8" >> ~/.zshrc
% sudo apt-get install build-essential g++ zlib1g-dev libssl-dev libreadline-dev libyaml-dev libxml2-dev libxslt1-dev libffi-dev bison mariadb-server libmysqld-dev

그런 다음 mariadb 설정도 utf8에.

/etc/mysql/mariadb.conf.d/50-server.cnf

# 105,106行目:変更
character-set-server = utf8
# collation-server = utf8mb4_general_ci
# systemctl restart mysql
# mysql_secure_installation

참고 htps //w w. 세 rゔぇr-rld.んふぉ/쿠에 ry? 오 = 우분 _ 16.04 & p = 마리아 db

Ruby 환경 구축



rbenv 소개



개발자용 user를 작성.
% sudo - fukumura

htps : // 기주 b. 코 m / r ben v / r ben v 참고.
% git clone https://github.com/rbenv/rbenv.git ~/.rbenv
% echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
% echo 'eval "$(rbenv init -)"' >> ~/.zshrc
% mkdir -p ~/.rbenv/plugins
% cd ~/.rbenv/plugins
% git clone [email protected]:rbenv/ruby-build

※ .ssh/id_rsa를 설치하지 않으면 오류가 발생합니다.

PATH 변경이 적용되도록 쉘을 다시 시작합니다.
% type rbenv
最新化
% cd ~/.rbenv
% git pull

Ruby 설치


% rbenv install --list

htps //w w. 루 by ぁん g. 오 rg / 그럼 / 어쩌면 ds /
좋아하는 것을. 조금 시간이 걸립니다.
% rbenv install 2.3.3
% rbenv rehash
% rbenv global 2.3.3
% ruby -v
ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-linux]

ruby2.3.3이 설치되었습니다.

Ruby on Rails 설치


% gem install rails --version="~>5.0"
% rails -v
Rails 5.0.0.1
% rails new dcalen -d mysql
% cd dcalen

SQLite로 움직이는 것도 어째서, mariadb에서.
다음을 준비.
MariaDB [(none)]>create user [dbdev] identified by 'パスワード1',
MariaDB [(none)]>[dbtest] identified by 'パスワード2',
MariaDB [(none)]>[dbprod] identified by 'パスワード3';
MariaDB [(none)]>select User,Host from mysql.user;
MariaDB [(none)]>grant all on *.* to '[ユーザー名]'@'localhost'

DB 만들기
MariaDB [(none)]>CREATE DATABASE dcalen_development;
MariaDB [(none)]>CREATE DATABASE dcalen_test;
MariaDB [(none)]>CREATE DATABASE dcalen_production;

rails측도 database.yml를 수정.

config/database.yml
development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: dcalen_development
  pool: 5
  username: dbdev
  password: *********
  host: localhost

test:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: dcalen_test
  pool: 5
  username: dbtest
  password: *********
  host: localhost

production:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: dcalen_production
  pool: 5
  username: dbprod
  password: <%= ENV['DCALEN_DATABASE_PASSWORD'] %>

rails server 시작.
%rails server -b 0.0.0.0 -d

그래서,
http://192.168.33.10:3000
로 표시됩니다.



다음은, rails ごごごょうご, 리버스 프록시 세워, 배포의 구조 만들거나 할까.

좋은 웹페이지 즐겨찾기