Amazon Linux + Apache2.4 + MySQL5.6 + Ruby 2.1 の新しめな環境を構築する
以下のAMIをインストールしたところから。
AMI:amzn-ami-minimal-pv-2014.03.2.x86_64-ebs (ami-63dc9262)
※Micro Instance または、EBS 2G にしているとRubyインストール時に足りなくなるので余裕を持たせること。
→この環境構築時は、m1.midium と 4G で構築。
#時刻を日本時間へ ========================================
sudo cp /usr/share/zoneinfo/Japan /etc/localtime
#まずはOS更新 ========================================
sudo yum -y update
#MySQL(5.6)のインストール ========================================
# amznリポジトリに5.6がないので登録
sudo yum install -y http://repo.mysql.com/mysql-community-release-el6-4.noarch.rpm
# MySQL初期化に必要(minimalの場合必要)
sudo yum install -y perl-Data-Dumper
# インストール
sudo yum install -y mysql-community-server
# 起動
sudo service mysqld start
sudo chkconfig mysqld on
#Apache(2.4)のインストール ========================================
sudo yum install -y httpd24
# 起動
sudo service httpd start
sudo chkconfig httpd on
# rbenv インストール ========================================
# 必要な諸々をインストール
sudo yum install -y git gcc make zlib-devel libxml2-devel libxslt-devel readline-devel openssl-devel gcc-c++ httpd24-devel curl-devel sqlite-devel
# rbenvをインストール
git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL -l
git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
cd ~/.rbenv/plugins/ruby-build/
sudo ./install.sh
# Ruby インストール ========================================
cd ~
rbenv install 2.1.2
rbenv rehash
rbenv global 2.1.2
# バージョンの確認は↓
# rbenv install list
gem install bundler
# Passenger インストール ========================================
gem install passenger
rbenv rehash
passenger-install-apache2-module
# 最後に「Almost there!」とConfigの内容が表示されるのでメモること。
# コンフィグを設定(先ほどメモした内容)
cd /etc/httpd/conf.d/
sudo vi passenger.conf
例
LoadModule passenger_module /home/ec2-user/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/passenger-4.0.45/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /home/ec2-user/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/passenger-4.0.45
PassengerDefaultRuby /home/ec2-user/.rbenv/versions/2.1.2/bin/ruby
</IfModule>
# Apacheの設定
sudo vi virtualhost.conf
<VirtualHost *:80>
ServerName 『ホスト名』
DocumentRoot /var/www/『アプリ名』/public
<Directory "/var/www/『アプリ名』/public">
AllowOverride all
Options -MultiViews
Require all granted
</Directory>
</VirtualHost>
# アプリデプロイ ========================================
cd /var/www
sudo mkdir 『アプリ名』
sudo chmod 557 『アプリ名』 #ec2-userでは権限足りないのでとりあえず
rails new 『アプリ名』
cd『アプリ名』
bundle install
# 確認 ========================================
sudo service httpd restart
http://『ホスト名』/
#ツッコミ歓迎です。