Last active
January 1, 2016 22:28
-
-
Save nakamura-akifumi/8209743 to your computer and use it in GitHub Desktop.
enju leaf 用 vagrant provisioning ファイル
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
echo "start sciprt." | |
# enju_leafの動作環境。developmentかproductionを指定 | |
ENJU_ENV=production | |
# enju_leaf-1.1系の場合 | |
RAILS_VERSION=3.2.18 | |
TEMPLATE_URL=https://gist.github.com/nabeta/5357321.txt | |
# enju_leaf-1.2系の場合 | |
#RAILS_VERSION=4.1.1 | |
#TEMPLATE_URL=https://gist.github.com/nabeta/6319160.txt | |
USER=vagrant | |
echo "change repository" | |
sed -i -e 's/us.archive.ubuntu.com/jp.archive.ubuntu.com/g' /etc/apt/sources.list | |
echo "step1 : package update and install" | |
apt-get update | |
#apt-get -y upgrade | |
apt-get -y install ruby1.9.1-dev | |
apt-get -y install git w3m vim | |
apt-get -y install build-essential imagemagick openjdk-7-jre-headless | |
apt-get -y install zlib1g-dev | |
apt-get -y install memcached nodejs redis-server | |
apt-get -y install libicu-dev libxslt1-dev | |
apt-get -y install libsqlite3-dev | |
#apt-get -y install postgresql libpq-dev | |
#apt-get -y install mysql-server libmysqlclient-dev | |
#apt-get -y install tomcat7 tomcat7-admin | |
apt-get -y install nginx | |
echo "step2 : install rails" | |
gem install rails --version=$RAILS_VERSION --no-ri --no-rdoc --force | |
gem install whenever foreman --no-ri --no-rdoc | |
echo "step3 : install enju_leaf" | |
sudo su $USER -c "rails _${RAILS_VERSION}_ new enju -m ${TEMPLATE_URL} -d sqlite3 --skip-bundle" | |
cd enju | |
sed -i -e "s/# gem 'unicorn'/gem 'unicorn'/g" Gemfile | |
sudo su $USER -c 'echo "gem: --no-ri --no-rdoc" >> ${HOME}/.gemrc' | |
sudo su $USER -c 'bundle -j4 --path vendor/bundle' | |
echo "step4 : setup enju_leaf" | |
sudo su $USER -c 'rails g enju_leaf:setup' | |
sudo su $USER -c "ENJU_ENV=${ENJU_ENV} rails g enju_leaf:quick_install" | |
sudo su $USER -c 'whenever --update-crontab' | |
sudo su $USER -c "echo 'solr: bundle exec rake sunspot:solr:run RAILS_ENV=${ENJU_ENV} | |
resque: bundle exec rake environment resque:work QUEUE=* RAILS_ENV=${ENJU_ENV} | |
web: bundle exec unicorn -E ${ENJU_ENV}' > Procfile" | |
#sed -i -e 's/config.serve_static_assets = true/config.serve_static_assets = false/g' config/environments/production.rb | |
foreman export --app enju_leaf --user $USER upstart /etc/init/ | |
echo "step5 : setup web server" | |
cat <<EOL > /etc/nginx/sites-available/enju_leaf | |
server{ | |
gzip on; | |
location / { | |
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for; | |
proxy_set_header Host \$host; | |
proxy_set_header X-Real-IP \$remote_addr; | |
proxy_pass http://localhost:8080; | |
} | |
} | |
EOL | |
rm /etc/nginx/sites-enabled/default | |
ln -s /etc/nginx/sites-available/enju_leaf /etc/nginx/sites-enabled/enju_leaf | |
cp /etc/rc.local /etc/rc.local.orig | |
cp /etc/issue /etc/issue.orig | |
cat <<EOL > /etc/rc.local | |
IP_ADDR=\$(/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print \$1}') | |
echo "Next-L Enju Leaf is running at http://\${IP_ADDR}" > /etc/issue | |
echo "Make sure that you set up a bridged network if you are using VirtualBox." >> /etc/issue | |
EOL | |
echo "step6 : cleaning" | |
apt-get clean | |
# Removing leftover leases and persistent rules | |
rm /var/lib/dhcp/* | |
# Zero free space to aid VM compression | |
dd if=/dev/zero of=/EMPTY bs=1M | |
rm -f /EMPTY | |
#echo "step7 : starting enju_leaf" | |
#start enju_leaf | |
#/etc/init.d/nginx restart | |
echo "setup completed." |
crontabの設定がないので、以下の行をstep9あたりに追加していただけますでしょうか。
sudo su vagrant -c '/usr/local/rbenv/shims/whenever --update-crontab'
step9に追加しました。
step6に gem install whenever を追加しました。
pull-requestが無いので、https://gist.github.com/nabeta/8456127/aa801abc6c32aa26545e2473b97d751394fa3534 をコピーしてきました。
zlib1g-dev のインストールを追加。
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
ruby-buildのインストール方法に問題があったので修正しました。