2014年4月22日火曜日

Vagrantでローカル開発環境構築

Vagrantでローカル開発環境を構築するメモ

VagrantのBoxをダウンロードして追加する
$ vagrant box add centos64box http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130731.box

Vagrantfileを作成する
$ vagrant init centos64box

Vagrantfileをカスタマイズ
$ vi Vagrantfile

次のコメントアウトを外す
# config.vm.network :private_network, ip: "192.168.33.56"

Vagrantを立ち上げる
$ vagrant up

Vagrantに接続
$ vagrant ssh

最新化
$ sudo yum update -y

ネットワークの設定
$ sudo vi /etc/resolv.conf

行頭に追加
options single-request-reopen

ファイアーウォールを切る
$ sudo service iptables stop
$ sudo chkconfig iptables off

インストール済みのリストを表示
$ yum list installed

Webサーバーがインストール済みか確認
$ yum list installed | grep httpd

Webサーバーをインストールする
$ sudo yum install -y httpd

Webサーバーを立ち上げる
$ sudo service httpd start
$ sudo chkconfig httpd on

インストールされるphpの詳細を表示する
$ yum info php

古いのでepel remiを入れる
ディレクトリに注意

インターネットで"epel downloads"と検索
→ https://dl.fedoraproject.org/pub/epel/6/x86_64/
上記サイトで"epel-release"を検索
$ wget https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

次に"remi"で検索
→ http://rpms.famillecollet.com/
CentOSの-v 6を探す
$ wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

rpmのリポジトリにepelを追加
$ sudo rpm -Uvh epel-release-6-8.noarch.rpm

remiの追加
$ sudo rpm -Uvh remi-release-6.rpm

設定ファイルの編集
$ sudo vi /etc/yum.repos.d/epel.repo

6行目あたりを編集
enabled=1 → enabled=0

remiを使った場合にインストールされるphpの詳細
yum info --enablerepo=remi php

phpをインストール
$ sudo yum --enablerepo=remi install -y php php-devel php-pysql php-mbstring php-gd

phpの設定を編集
$ sudo vi /etc/php.ini

以下を探して編集
;error_log = syslogの下に追加
error_log = /var/log/php.log
次のコメントアウトを外す
;mbstring.language = Japanese
5行下辺りを編集
mbstring.internal_encoding = EUC-JP → UTF-8
4行下辺りのコメントアウトを外す
;mbstring.http_input = auto
10行した当たりのコメントアウトを外す
;mbstring.detect_order = auto
次を編集
expose_php = On → Off
;date.timezone = を探して編集
date.timezone = Asia/Tokyo

Webサーバーを再起動
$ sudo service httpd restart

MySQLをインストール
$ sudo yum install -y --enablerepo=remi mysql-server

設定ファイルの編集
$ sudo vi /etc/my.cnf

4行目に次を追加
character_set_server=utf8
default-storage-engine=InnoDB
innodb_file_per_table
[mysql]
default-character-set=utf8
[mysqldump]
default-character-set=utf8

MySQLを起動する
$ sudo service mysqld start

更に設定
$ /usr/bin/mysql_secure_installation
パスワードを設定する

デフォルトで起動させる
sudo chkconfig mysqld on

PostgreSQLを入れる
公式サイトで次の命令をコピー
$ sudo yum install -y http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-redhat93-9.3-1.noarch.rpm

インストール
$ sudo yum install -y postgresql93-server postgresql93-contrib

初期化
$ sudo service postgresql-9.3 initdb
$ chkconfig postgresql-9.3 on
$ sudo service postgresql-9.3 start
$ sudo passwd postgres

$ su - postgres
$ psql
ユーザーを表示
# \du
# create user vagrant createdb password 'lssn6666' login;
# \q
$ exit

Rubyを入れる
複数のバージョンを管理できるrbenvを入れる
その前にgitを入れる
$ sudo yum intall -y git

公式サイトからコマンドをコピー
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ type rbenv

ruby-buildを公式サイトからインストール
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

rubyをインストール
$ rbenv install -v 2.0.0-p247
$ rbenv rehash
$ rbenv global 2.1.1

Ruby on Railsを入れる
gemをアップデート
$ gem update --system

インストール
$ gem install rails --no-ri --no-rdoc -V
$ rbenv rehash
$ rails -v

Rubyを最新にする

rbenvを更新する
$ cd ~/.rbenv
$ git pull origin master

ruby-buildを更新する
$ cd plugins/ruby-build
$ git pull origin master

利用可能なバージョンを確認する
$ rbenv install -l

最新バージョンをインストールする
$ rbenv install -v 2.1.1