-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathinstaller
executable file
·73 lines (56 loc) · 3.75 KB
/
installer
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#!/usr/bin/env bash
# Folders
SCRIPT=$(readlink -f "$0")
SERVER_CONFIG_DIR=`dirname "$SCRIPT"`
SERVER_CONFIG_INSTALL_DIR=$SERVER_CONFIG_DIR
SERVER_CONFIG_VENDOR_DIR=$SERVER_CONFIG_INSTALL_DIR/vendor
# Programm versions
GIT_VERSION=1.8.1 # http://code.google.com/p/git-core/downloads/list
RUBY_VERSION=1.9.3-p362 # http://www.ruby-lang.org/de/downloads/
RVM_RUBY_VERSION_DEFAULT=1.9.3-p362
RVM_RUBY_VERSION_1=1.9.3-p327
RVM_RUBY_VERSION_2=1.9.3-p194
RVM_VERSION=1.17.6 # https://rvm.io
# curl -L https://github.com/wayneeseguin/rvm/archive/1.17.4.tar.gz -o rvm-1.17.4.tar.gz
RUBYGEMS_VERSION=1.8.24 # https://github.com/rubygems/rubygems/tags
BUNDLER_VERSION=1.2.3 # http://rubygems.org/gems/bundler
YAML_VERSION=0.1.4
# Install main packages
sudo apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
sudo DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade
sudo apt-get -y install build-essential zlib1g-dev libssl-dev openssl libreadline6 libreadline6-dev libyaml-dev curl libcurl4-openssl-dev libexpat1-dev gettext htop automake make wget screen
# Install GIT
cp $SERVER_CONFIG_VENDOR_DIR/git-$GIT_VERSION.tar.gz /tmp
cd /tmp && tar -xvf git-$GIT_VERSION.tar.gz
cd /tmp/git-$GIT_VERSION && make prefix=/usr/local all && sudo make prefix=/usr/local install
rm -rf /tmp/git-$GIT_VERSION
# Install Ruby
cp $SERVER_CONFIG_VENDOR_DIR/ruby-$RUBY_VERSION.tar.bz2 /tmp
cd /tmp && tar -xvf ruby-$RUBY_VERSION.tar.bz2
cd /tmp/ruby-$RUBY_VERSION && ./configure && make && sudo make install
rm -rf $SERVER_CONFIG_VENDOR_DIR/ruby-$RUBY_VERSION
# Install chef
cd $SERVER_CONFIG_VENDOR_DIR && sudo gem install bundler-$BUNDLER_VERSION.gem --local --no-rdoc --no-ri
cd $SERVER_CONFIG_INSTALL_DIR && bundle install --local
# Install RVM
cp $SERVER_CONFIG_VENDOR_DIR/rvm-$RVM_VERSION.tar.gz /tmp
cd /tmp && tar -xvf rvm-$RVM_VERSION.tar.gz
cd /tmp/rvm-$RVM_VERSION && ./install --auto && ~/.rvm/bin/rvm reload
source ~/.rvm/scripts/rvm
# Install RVM rubies
cp $SERVER_CONFIG_VENDOR_DIR/ruby-$RVM_RUBY_VERSION_DEFAULT.tar.bz2 $rvm_path/archives/
cp $SERVER_CONFIG_VENDOR_DIR/ruby-$RVM_RUBY_VERSION_1.tar.bz2 $rvm_path/archives/
cp $SERVER_CONFIG_VENDOR_DIR/rubygems-$RUBYGEMS_VERSION.tgz $rvm_path/archives/
cp $SERVER_CONFIG_VENDOR_DIR/yaml-$YAML_VERSION.tar.gz $rvm_path/archives/
rm -rf $rvm_path/user/db && echo rubygems_version=$RUBYGEMS_VERSION >> $rvm_path/user/db
echo "" > ~/.rvm/gemsets/default.gems
echo "" > ~/.rvm/gemsets/global.gems
bash --login -c "$rvm_path/bin/rvm install ruby-$RVM_RUBY_VERSION_DEFAULT --disable-binary --force"
bash --login -c "rvm use ruby-$RVM_RUBY_VERSION_DEFAULT --default && cd $SERVER_CONFIG_VENDOR_DIR && gem install bundler-$BUNDLER_VERSION.gem --local --no-rdoc --no-ri && cd $SERVER_CONFIG_INSTALL_DIR && bundle install --local"
bash --login -c "$rvm_path/bin/rvm install ruby-$RVM_RUBY_VERSION_1 --disable-binary --force"
bash --login -c "rvm use ruby-$RVM_RUBY_VERSION_1 && cd $SERVER_CONFIG_VENDOR_DIR && gem install bundler-$BUNDLER_VERSION.gem --local --no-rdoc --no-ri && cd $SERVER_CONFIG_INSTALL_DIR && bundle install --local"
bash --login -c "$rvm_path/bin/rvm install ruby-$RVM_RUBY_VERSION_2 --disable-binary --force"
bash --login -c "rvm use ruby-$RVM_RUBY_VERSION_2 && cd $SERVER_CONFIG_VENDOR_DIR && gem install bundler-$BUNDLER_VERSION.gem --local --no-rdoc --no-ri && cd $SERVER_CONFIG_INSTALL_DIR && bundle install --local"
echo ""
echo -e "\033[32mDone! \033[31mLogout and login again to reload the current shell (ctrl+d), then you can run your own chef recipes\033[00m"