Skip to content

Instantly share code, notes, and snippets.

@nakamura-akifumi
Last active January 2, 2016 04:38
Show Gist options
  • Save nakamura-akifumi/8251359 to your computer and use it in GitHub Desktop.
Save nakamura-akifumi/8251359 to your computer and use it in GitHub Desktop.
enju trunk 環境構築用 provisioning script その1(ミドルウェア構築部)
echo "start script"
#RUBY_VERSION=1.9.3-p484
#RUBY_VERSION=2.0.0-p481
RUBY_VERSION=2.1.2
PGDATA=/var/lib/pgsql/9.3/data
PGLOG=/var/lib/pgsql/9.3/pgstartup.log
echo "Ruby version ${RUBY_VERSION}"
echo "step1: install devtools"
yum update -y
yum install -y w3m poppler-utils ImageMagick ImageMagick-devel memcached \
git gcc-c++ libxslt-devel curl-devel \
readline-devel libffi-devel java-1.7.0-openjdk java-1.7.0-openjdk-devel \
openssl-devel mlocate patch ctags-etags unzip \
mlocate patch ctags-etags fail2ban logwatch libpcap-devel libcap-ng-devel \
system-config-firewall-tui sqlite-devel libmemcached \
openldap-clients
rpm -ivh http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-centos93-9.3-1.noarch.rpm
yum install -y postgresql93 postgresql93-server postgresql93-contrib postgresql93-libs postgresql93-devel
#service postgresql-9.3 initdb --encoding=UTF8 --no-locale --auth-local=trust
cat << 'EOL' >> /etc/profile
#postgresql
export PGDATA=/var/lib/pgsql/9.3/data
export PATH="/usr/pgsql-9.3/bin:$PATH"
#java
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk.x86_64
#export ENJU_CUSTOMER_PREFIX="customer"
#export RAILS_ENV=production
#export ENJU_LOGIN_LINK_HIDDEN=hidden
EOL
source /etc/profile
mkdir -p ${PGDATA}
chown -R postgres:postgres /var/lib/pgsql/9.3
su -l postgres -c "initdb --pgdata='$PGDATA' --auth='ident' --encoding=UTF8 --no-locale --auth-local=trust --auth-host=trust" >> "$PGLOG" 2>&1 < /dev/null
chkconfig postgresql-9.3 on
service postgresql-9.3 start
chkconfig memcached on
service memcached start
rm -f /etc/localtime
cp -p /usr/share/zoneinfo/Japan /etc/localtime
date
chkconfig iptables off
echo "step1.2 : check env and set user env"
vagrant_env=`cut -d: -f1 /etc/passwd | grep vagrant`
if [ -n "$vagrant_env" ]
then
echo "vagrant env."
execute_user_name="vagrant"
solr_dest_dir="/home/vagrant/src"
else
echo "not vagrant"
execute_user_name="enju"
echo "create user : ${execute_user_name}"
useradd -U -G wheel ${execute_user_name}
solr_dest_dir="/home/enju/src"
fi
chmod +w /etc/sudoers
cat << 'EOL' >> /etc/sudoers
Defaults exempt_group="${execute_user_name}"
Defaults env_keep += "PATH"
EOL
echo "step2 : install rbenv and ruby-build"
rbenv_bin=/usr/local/rbenv/bin/rbenv
if [ -e $rbenv_bin ]; then
echo "exist rbenv : skip."
else
cd /usr/local
git clone git://github.com/sstephenson/rbenv.git rbenv
mkdir rbenv/shims rbenv/versions
groupadd rbenv
chgrp -R rbenv rbenv
chmod -R g+rwxXs rbenv
cat << 'EOL' >> /etc/profile
# rbenv
export RBENV_ROOT=/usr/local/rbenv
export PATH="/usr/local/rbenv/bin:$PATH"
eval "$(rbenv init -)"
EOL
source /etc/profile
fi
mkdir /usr/local/rbenv/plugins
cd /usr/local/rbenv/plugins
git clone git://github.com/sstephenson/ruby-build.git
chgrp -R rbenv ruby-build
chmod -R g+rwxs ruby-build
echo "step3 : setup ruby"
rbenv install ${RUBY_VERSION}
#curl http://patches.com/ruby.patch | rbenv install -p ${RUBY_VERSION}
rbenv global ${RUBY_VERSION}
rbenv rehash
gem install rbenv-rehash --no-ri --no-rdoc
rbenv rehash
gem install bundler --no-ri --no-rdoc
gem install rake --no-ri --no-rdoc --force
gem install whenever --no-ri --no-rdoc --force
gem install pry --no-ri --no-rdoc --force
echo "step4 : download solr-3.6.2"
mkdir -p ${solr_dest_dir}
solrfile="${solr_dest_dir}/apache-solr-3.6.2.tgz"
if [ -e $solrfile ]; then
echo "exist ${solrfile} : skip download"
else
cd ${solr_dest_dir}
curl -o apache-solr-3.6.2.tgz http://www5163ug.sakura.ne.jp:8893/apache-solr-3.6.2.tgz
tar zxvf apache-solr-3.6.2.tgz
fi
if [ -n "$vagrant_env" ]
then
echo "vagrant env: NOP"
else
echo "not vagrant: chown"
chown -R enju.enju /home/enju
fi
echo "step5 : setup postgresql user"
su - postgres -c "createuser -dRS enju"
@nakamura-akifumi
Copy link
Author

vimプラグインを追加。solrのダウンロード先を変更。

@nakamura-akifumi
Copy link
Author

rubyのバージョンを1.9.3-p484から2.0.0-p451に変更。

@nakamura-akifumi
Copy link
Author

sudoersを修正する処理を追加。

@nakamura-akifumi
Copy link
Author

apache-solr-3.6.2.tgz のダウンロード先を変更。

@nakamura-akifumi
Copy link
Author

ruby のバージョンを 2.0.0 p451 から 2.0.0 p481 に変更。

@nakamura-akifumi
Copy link
Author

vimrc修正

@nakamura-akifumi
Copy link
Author

vimを別のファイルに移動

@nakamura-akifumi
Copy link
Author

rubyのバージョンを2.1.2に変更

@nakamura-akifumi
Copy link
Author

さくらのVPSに対応。

@nakamura-akifumi
Copy link
Author

gem whenever を追加。

@nakamura-akifumi
Copy link
Author

gem install pry を追加。

@nakamura-akifumi
Copy link
Author

ENJU_LOGIN_LINK_HIDDEN=hidden を追加。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment