LoginSignup
3
4

More than 5 years have passed since last update.

MacにRails実験用環境を作成してみた

Last updated at Posted at 2016-03-21

目的

毎月行ってる勉強会にて、学生さんが勉強のために下記構成を構築しようと頑張っていたので、
virtualboxの環境を作り直したかったのもあり、便乗してPostgreSQLで実施してみた。

目標

ローカル間でのみ通信できる、Railsアプリを動作させる用環境を作成してみる。

構成

CentOS7+rbenv+passenger+postgresql

手順

インストール

$ vagrant --version
-bash: vagrant: command not found
$ VBoxManage --version
-bash: VirtualBox: command not found

virtualboxとvagrantが入ってなければインストール

$ brew cask install virtualbox
$ brew cask install vagrant

下記サイトでOSを選択し、boxにaddする
Vagrantbox.es

CentOS7.0を設定
$ vagrant box add centos70 https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box
$ mkdir ~/Documents/centos70
$ cd ~/Documents/centos70
$ vagrant init centos70

centos70に出力された設定ファイルを編集

# config.vm.network "private_network", ip: "192.168.33.10"
↓
config.vm.network "private_network", ip: "192.168.33.10"

起動

$ vagrant up

接続

$ vagrant ssh

環境作成

Git(rbenvインストール時に必要なため)

$ sudo yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker

新しめのを取得

The Linux Kernel Archives:Git

$ wget https://www.kernel.org/pub/software/scm/git/git-2.7.4.tar.gz
$ tar zxvf git-2.7.4.tar.gz
$ cd git-2.7.4
$ make prefix=/usr/local all
$ sudo make prefix=/usr/local install
$ git --version
git version 2.7.4

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 ~/.bash_profile
$ rbenv --version
$ mkdir -p ~/.rbenv/plugins
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
$ cd ~/.rbenv/plugins/ruby-build
$ sudo ./install.sh
$ rbenv install --list
$ rbenv install 2.3.0

※めっちゃ終わらなかったので時間を確認・修正してから再度実行したら20分くらいで終わった

date
sudo rm /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

passenger

$ gem install passenger

apache2-moduleインストール時に怒られるので

$ sudo chmod o+x /home/vagrant
$ sudo yum -y install httpd httpd-devel
$ sudo yum -y install ruby-devel
$ passenger-install-apache2-module

Press Enter to continue, or Ctrl-C to abort.
Use <space> to select.
Press Enter to continue anyway.
Press ENTER when you are done editing.
Press ENTER to continue.

必要値設定

$ passenger-install-apache2-module --snippet
LoadModule passenger_module /home/vagrant/.gem/ruby/gems/passenger-5.0.26/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
  PassengerRoot /home/vagrant/.gem/ruby/gems/passenger-5.0.26
  PassengerDefaultRuby /usr/bin/ruby
</IfModule>

$ sudo vi /etc/httpd/conf.d/passenger.conf
<IfModule mod_passenger.c>
  PassengerRoot /home/vagrant/.gem/ruby/gems/passenger-5.0.26
  PassengerDefaultRuby /usr/bin/ruby
</IfModule>

$ sudo service httpd restart

ローカルでしか使わないのでファイアウォール止める(publicで使用する場合は別途設定推奨)

$ sudo systemctl stop firewalld

面倒なので設定したままにする

$ sudo chkconfig httpd on
$ sudo systemctl disable firewalld

MacからWebブラウザで下記IPに接続
192.168.33.10

postgresql

新しめのを取得

PostgreSQL RPM

$ wget http://yum.postgresql.org/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm
$ sudo rpm -ivh pgdg-centos95-9.5-2.noarch.rpm
$ sudo yum -y install postgresql95-server postgresql95-devel postgresql95-contrib
$ sudo /usr/pgsql-9.5/bin/postgresql95-setup initdb
$ sudo systemctl start postgresql-9.5
$ sudo systemctl enable postgresql-9.5
$ sudo -u postgres psql

遊んだ後は

停止

$ vagrant suspend

感想

今までVirtualBoxやVMwareでの仮想環境は、チマチマと手動で作っていたような気もするけど、思ったより簡単に環境を構築できて便利な世の中になったなと実感。

補足

  • Vagrantで作成したイメージのrootのデフォルトPassはvagrantの様子

参考にさせていただいたサイト

3
4
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
3
4