MENU

clear
Zihuatanejo to me

ブログカテゴリー

最新の記事

メニュー

SNS

Railsローカル環境構築

目次

    railsのローカル環境構築

    こんにちはフロントエンドエンジニアのキヨシ太夫です。

    今日はrailsのローカル環境構築を備忘録として。

    まああんまり何回もやることではないから、やる度に最新のトレンドが変わってたりするかもですが。

    みなさんの参考になれば!!

    Rubyロゴ

    ローカル環境構築概要

    まず本記事のゴールから

    • 作業環境はMac High Sierra
    • 作業は、ターミナルとテキストエディタ(私はsublimetext)
    • 仮装環境はVagrant。
    • で、仮装環境のOSはCentOS7。
    • DBはMysql(MariaDB)
    • railsのバージョンは5系

    こんなところでしょうか。

    参考サイト

    ほぼ以下二つの記事でいけると思います。

    https://qiita.com/SanoHiroshi/items/892a8516f4a6445e1e05

    https://gabekore.org/mac-ruby-rails-overview

    Railsロゴ

    手順1:仮想環境準備

    細かい説明は省きます。VagrantとVirtualBoxをインストールします。

    VirtualBox

    Vagrant

    ローカルで開発を進めるために、サーバーを自分のパソコンに作ると言うイメージを持っていれば良いと思います。

    手順2:Vagrant環境構築

    以下コマンドで仮想サーバーを構築します。

    $ mkdir Vagrant
    $ cd Vagrant
    $ vagrant init bento/centos-7.1
    

    これでvagrantの設定ファイルが作成されます。

    今回はcentos7で行きます。

    で、作成された設定ファイルを修正して、ポート設定をします。

    とは言っても以下だけ。

    $ vi Vagrantfile
    
    Vagrant.configure(2) do |config|
     # The most common configuration options are documented and commented below.
     # For a complete reference, please see the online documentation at
     # https://docs.vagrantup.com.
     # Every Vagrant development environment requires a box. You can search for
     # boxes at https://atlas.hashicorp.com/search.
     config.vm.box = "bento/centos-7.1"
     # Disable automatic box update checking. If you disable this, then
     # boxes will only be checked for updates when the user runs
     # `vagrant box outdated`. This is not recommended.
     # config.vm.box_check_update = false
    
     # Create a forwarded port mapping which allows access to a specific port
     # within the machine from a port on the host machine. In the example below,
     # accessing "localhost:8080" will access port 80 on the guest machine.
    
     //ここの#をはずして書き換える
     config.vm.network "forwarded_port", guest: 3000, host: 3000 
    
     # Create a private network, which allows host-only access to the machine
     # using a specific IP.
     # config.vm.network "private_network", ip: "192.168.33.10"
    
     # Create a public network, which generally matched to bridged network.
     # Bridged networks make the machine appear as another physical device on
     # your network.
     # config.vm.network "public_network"
    

    ここまで言ったら仮想サーバーを起動します。最初は少し時間がかかります。

    $ vagrant up
    

    手順3:共有ファイルマウント

    仮想サーバーのファイルとローカルファイルを共有します。

    これにより、ローカルのファイルを編集すると仮想サーバーにある同ファイルも更新されます。

    $ vi Vagrantfile
     # Share an additional folder to the guest VM. The first argument is
     # the path on the host to the actual folder. The second argument is
     # the path on the guest to mount the folder. And the optional third
     # argument is a set of non-required options.
    
     40行目あたりコメントアウトして名前を変える
     config.vm.synced_folder "../", "/your_app_name"
    

    第一引数が仮想サーバー側のパス。第二引数がローカルファイルのパスです。

    二番目の名前はご自由にどうぞ。

    あとは以下コマンドで必要なものをインストールします。

    #仮想環境
    $ vagrant ssh
    $ sudo yum install kernel-devel
    $ sudo yum install gcc make
    $ exit
    #ローカル
    $ vagrant plugin install vagrant-vbguest
    $ vagrant vbguest
    
    設定を反映させるコマンド
    $ vagrant reload
    

    うまくマウントできているか確認します。

    $ vagrant ssh
    $ cd /your_app_name/
    $ ls
    Vagrantfile
    

    上記の結果が出ればとりあえずok

    手順4:Ruby,rails等のインストール

    ざっと以下をコマンドでインストール

    $ vagrant ssh
    $ sudo yum update
    $ sudo yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison git
    
    Gitが入ったか確認
    $ git --version
    git version 2.2.2
    
    rbenvをいれる
    $ git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
    $ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
    $ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
    $ source ~/.bashrc
    $ exec $SHELL -l
    $ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
    $ cd ~/.rbenv/plugins/ruby-build
    $ sudo ./install.sh
    以下のコマンドが使えればOK。
    $ rbenv install -l
    
    Rubyのインストール
    $ rbenv install 2.3.0; rbenv rehash
    $ rbenv global 2.3.0
    
    
    ちゃんと入ったか確認
    $ ruby -v
    ruby 2.2.2
    $ which gem
    ~/.rbenv/shims/gem
    $ which ruby
    ~/.rbenv/shims/ruby
    
    
    bundlerをいれてRailsのインストールする
    $ gem install bundler --no-rdoc --no-ri
    Successfully installed bundler-1.10.6
    $ sudo rbenv rehash
    $ gem install rails
    $ rbenv rehash
    $ rails -v
    Rails 4.2.3
    $ which rails
    ~/.rbenv/shims/rails
    

    手順5:MySQL設定

    $ sudo yum -y install mariadb-server
    $ sudo vi /etc/my.cnf
    [mysqld]
    #この一行を追記する
    character-set-server=utf8
    データベース起動
    $ sudo systemctl start mariadb 
    
    自動起動設定
    $ sudo systemctl enable mariadb 
    
    rootやセキュリティの設定を一括で行う
    $ sudo mysql_secure_installation
    
    rootで入れるか試す
    $ mysql -u root -p 
    
    railsで使う準備
    $ sudo yum install mysql-devel
    $ gem install mysql2
    
    共有フォルダへ移動する
    $ cd /vagrant
    $ rails new AppName --skip-bundle -d mysql
    $ cd Vagrant
    

    手順6:あとちょっと!!

    さてrailsアプリのファイルがとりあえずできましt。

    最後にローカル環境で、Gemfileを編集します。

    コメントアウトを外す
    gem 'therubyracer', platforms: :ruby
    
    $ bundle install
    

    あとはDBを作成します。

    まずは、config.database.ymlを編集します。

      default: &default
      adapter: mysql2
      encoding: utf8
      pool: 5
      username: root
      ここに「sudo mysql_secure_installation」を打った時に設定したrootのパスワードを設定する
      password: パスワードを追記
      socket: /var/lib/mysql/mysql.sock
    

    テーブルを作ります。

    $vagrant ssh
    $ mysql -u root -p 
    MariaDB [(none)]> CREATE DATABASE Vagrant_development;
    Query OK, 1 row affected (0.00 sec)
    
    MariaDB [(none)]> CREATE DATABASE Vagrant_test;
    Query OK, 1 row affected (0.00 sec)
    
    MariaDB [(none)]> CREATE DATABASE Vagrant_production;
    Query OK, 1 row affected (0.00 sec)
    
    MariaDB [(none)]> quit
    

    そしてrails起動!!

    $ rails s -b 0.0.0.0
    => Booting WEBrick
    => Rails 4.2.5.1 application starting in development on http://0.0.0.0:3000
    => Run `rails server -h` for more startup options
    => Ctrl-C to shutdown server
    [2016-02-26 18:30:18] INFO  WEBrick 1.3.1
    [2016-02-26 18:30:18] INFO  ruby 2.3.0 (2015-12-25) [x86_64-linux]
    [2016-02-26 18:30:18] INFO  WEBrick::HTTPServer#start: pid=6551 port=3000
    

    これでlocalhost:3000にアクセスできるはず!!

    最後に

    備忘録的にザーッと書きました。

    細かい意味など気になる方は、各コマンドをググってもらえればwww

    本日はここまで!

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    arrow_upward

    Top