Skip to content

Instantly share code, notes, and snippets.

@bugcloud
Last active January 2, 2016 16:19
Show Gist options
  • Select an option

  • Save bugcloud/8329356 to your computer and use it in GitHub Desktop.

Select an option

Save bugcloud/8329356 to your computer and use it in GitHub Desktop.
Setup basic Ruby web application server environment on Cent OS 5.x.
#!/bin/bash
yum -y update
sed -i 's/^/#/g' /etc/sysconfig/i18n
echo 'LANG="ja_JP.utf8"' >> /etc/sysconfig/i18n
# install RPM forge
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.x86_64.rpm
# use 32bit?
# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.i386.rpm
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm -K rpmforge-release-*.rpm
rpm -i rpmforge-release-*.rpm
sed -i 's/enabled = 1/enabled = 0/g' /etc/yum.repos.d/rpmforge.repo
sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/rpmforge.repo
# install EPEL
rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
#use 32bit?
# rpm -ivh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
sed -i 's/enabled = 1/enabled = 0/g' /etc/yum.repos.d/epel.repo
sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/epel.repo
# install many packages
yum -y install gcc gcc-c++ ncurses-devel autoconf make rpm-build curl zlib-devel readline-devel openssl-devel bzip2-devel bzip2
yum --enablerepo=rpmforge -y install libpng-devel libjpeg-devel giflib-devel gettext-devel git mysql-server mysql-devel chkconfig pcre pcre-devel libyaml-devel tmux
#yum --enablerepo=epel -y install python26
# install python2.7.x and node.js
cd /usr/local/src
wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz --no-check-certificate
wget http://nodejs.org/dist/v0.10.31/node-v0.10.31.tar.gz
tar xvfz Python-2.7.8.tgz
cd Python-2.7.8
./configure
make
make install
cd /usr/local/src
tar xvfz node-v0.10.31.tar.gz
cd node-v0.10.31
./configure
make
make install
# start mysql server
sed -i 's/\[mysqld_safe\]/default-storage-engine=InnoDB\ndefault-character-set=utf8\nskip-character-set-client-handshake\n[mysqld_safe]\n/' /etc/my.cnf
/etc/rc.d/init.d/mysqld start
chkconfig mysqld on
# install & start nginx
# http://nginx.org/en/download.html
rpm -ivh http://nginx.org/packages/centos/5/noarch/RPMS/nginx-release-centos-5-0.el5.ngx.noarch.rpm
yum install -y nginx
/etc/rc.d/init.d/nginx start
chkconfig nginx on
yum -y remove '*.i[3-6]86'
yum -y remove cups wireless-tools
chmod -x /etc/cron.daily/makewhatis.cron
chkconfig cpuspeed off
useradd deployer
su deployer
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment