|
@@ -2,7 +2,7 @@ import subprocess
|
|
|
import os
|
|
|
|
|
|
class Installer:
|
|
|
-
|
|
|
+
|
|
|
############################################################
|
|
|
# install_software
|
|
|
############################################################
|
|
@@ -22,7 +22,7 @@ class Installer:
|
|
|
#######################################
|
|
|
self.__run_command("sudo apt-get update", True)
|
|
|
self.__run_command("sudo apt-get upgrade", True)
|
|
|
- self.__run_command("sudo apt-get install build-essential libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev python-software-properties unzip git-core libcurl4-openssl-dev libbz2-dev libmysqlclient-dev mongodb-clients libreadline6-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev libgdbm-dev ncurses-dev automake libffi-dev htop libtool bison libevent-dev libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 liborc-0.4-0 libwxbase2.8-0 libwxgtk2.8-0 libgnutls-dev libjson0-dev libmcrypt-dev libicu-dev", True)
|
|
|
+ self.__run_command("sudo apt-get install build-essential libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev python-software-properties unzip git-core libcurl4-openssl-dev libbz2-dev libmysqlclient-dev mongodb-clients libreadline6-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev libgdbm-dev ncurses-dev automake libffi-dev htop libtool bison libevent-dev libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 liborc-0.4-0 libwxbase2.8-0 libwxgtk2.8-0 libgnutls-dev libjson0-dev libmcrypt-dev libicu-dev cmake", True)
|
|
|
|
|
|
self.__run_command("cp ../config/benchmark_profile ../../.bash_profile")
|
|
|
self.__run_command("sudo sh -c \"echo '* soft nofile 8192' >> /etc/security/limits.conf\"")
|
|
@@ -38,7 +38,7 @@ class Installer:
|
|
|
self.__run_command("wget -O - http://binaries.erlang-solutions.com/debian/erlang_solutions.asc | sudo apt-key add -")
|
|
|
self.__run_command("sudo apt-get update")
|
|
|
self.__run_command("sudo apt-get install esl-erlang", True)
|
|
|
-
|
|
|
+
|
|
|
#
|
|
|
# Python
|
|
|
#
|
|
@@ -62,10 +62,10 @@ class Installer:
|
|
|
#
|
|
|
# Java
|
|
|
#
|
|
|
-
|
|
|
+
|
|
|
self.__run_command("sudo apt-get install openjdk-7-jdk", True)
|
|
|
self.__run_command("sudo apt-get remove --purge openjdk-6-jre openjdk-6-jre-headless", True)
|
|
|
-
|
|
|
+
|
|
|
#
|
|
|
# Ruby/JRuby
|
|
|
#
|
|
@@ -76,7 +76,7 @@ class Installer:
|
|
|
subprocess.call(["bash", "-c", "source ~/.rvm/scripts/'rvm' && rvm 2.0.0-p0 do gem install bundler"])
|
|
|
subprocess.call(["bash", "-c", "source ~/.rvm/scripts/'rvm' && rvm install jruby-1.7.3"])
|
|
|
subprocess.call(["bash", "-c", "source ~/.rvm/scripts/'rvm' && rvm jruby-1.7.3 do gem install bundler"])
|
|
|
-
|
|
|
+
|
|
|
# We need a newer version of jruby-rack
|
|
|
self.__run_command("git clone git://github.com/jruby/jruby-rack.git")
|
|
|
subprocess.call(["bash", "-c", "cd installs/jruby-rack && source ~/.rvm/scripts/'rvm' && rvm jruby-1.7.3 do bundle install"])
|
|
@@ -116,6 +116,32 @@ class Installer:
|
|
|
|
|
|
self.__run_command("sudo apt-get install ghc cabal-install", True)
|
|
|
|
|
|
+ #
|
|
|
+ # RingoJs
|
|
|
+ #
|
|
|
+ self.__run_command("wget http://www.ringojs.org/downloads/ringojs_0.9-1_all.deb")
|
|
|
+ self.__run_command("sudo apt-get install jsvc")
|
|
|
+ self.__run_command("sudo dpkg -i ringojs_0.9-1_all.deb")
|
|
|
+ self.__run_command("rm ringojs_0.9-1_all.deb")
|
|
|
+ self.__run_command("sudo ringo-admin install oberhamsi/sql-ringojs-client")
|
|
|
+ self.__run_command("sudo ringo-admin install ringo/stick")
|
|
|
+ self.__run_command("sudo ringo-admin install oberhamsi/reinhardt")
|
|
|
+ self.__run_command("sudo ringo-admin install grob/ringo-sqlstore")
|
|
|
+
|
|
|
+ #
|
|
|
+ # Perl
|
|
|
+ #
|
|
|
+ self.__run_command("sudo cpan install Plack", send_yes=True)
|
|
|
+ self.__run_command("sudo cpan install Starman")
|
|
|
+ self.__run_command("sudo cpan install DBD::mysql")
|
|
|
+ self.__run_command("sudo cpan install DBI")
|
|
|
+ self.__run_command("sudo cpan install Dancer")
|
|
|
+ self.__run_command("sudo cpan install Dancer::Plugin::Database")
|
|
|
+ self.__run_command("sudo cpan install JSON", send_yes=True)
|
|
|
+ self.__run_command("sudo cpan install Kelp", send_yes=True)
|
|
|
+ self.__run_command("sudo cpan install Mojolicious", send_yes=True)
|
|
|
+ self.__run_command("sudo cpan install Mojolicious:Plugin:Database", send_yes=True)
|
|
|
+
|
|
|
#######################################
|
|
|
# Webservers
|
|
|
#######################################
|
|
@@ -130,7 +156,7 @@ class Installer:
|
|
|
self.__run_command("sudo mv /etc/apache2/ports.conf /etc/apache2/ports.conf.orig")
|
|
|
self.__run_command("sudo sh -c \"cat ../config/ports.conf > /etc/apache2/ports.conf\"")
|
|
|
self.__run_command("sudo /etc/init.d/apache2 stop")
|
|
|
-
|
|
|
+
|
|
|
#
|
|
|
# Nginx
|
|
|
#
|
|
@@ -138,7 +164,7 @@ class Installer:
|
|
|
self.__run_command("./configure", cwd="nginx-1.2.7")
|
|
|
self.__run_command("make", cwd="nginx-1.2.7")
|
|
|
self.__run_command("sudo make install", cwd="nginx-1.2.7")
|
|
|
-
|
|
|
+
|
|
|
#
|
|
|
# Openresty (nginx with openresty stuff)
|
|
|
#
|
|
@@ -146,7 +172,7 @@ class Installer:
|
|
|
self.__run_command("./configure --with-luajit", cwd="ngx_openresty-1.2.7.5")
|
|
|
self.__run_command("make", cwd="ngx_openresty-1.2.7.5")
|
|
|
self.__run_command("sudo make install", cwd="ngx_openresty-1.2.7.5")
|
|
|
-
|
|
|
+
|
|
|
#
|
|
|
# Gunicorn
|
|
|
#
|
|
@@ -224,7 +250,7 @@ class Installer:
|
|
|
self.__run_command("wget http://dist.springframework.org.s3.amazonaws.com/release/GRAILS/grails-2.1.1.zip")
|
|
|
self.__run_command("unzip -o grails-2.1.1.zip")
|
|
|
self.__run_command("rm grails-2.1.1.zip")
|
|
|
-
|
|
|
+
|
|
|
|
|
|
##############################
|
|
|
# Flask
|
|
@@ -237,7 +263,7 @@ class Installer:
|
|
|
self.__run_command("wget http://downloads.typesafe.com/play/2.1.1/play-2.1.1.zip")
|
|
|
self.__run_command("unzip -o play-2.1.1.zip")
|
|
|
self.__run_command("rm play-2.1.1.zip")
|
|
|
-
|
|
|
+
|
|
|
##############################
|
|
|
# Play 1
|
|
|
##############################
|
|
@@ -245,7 +271,7 @@ class Installer:
|
|
|
self.__run_command("unzip -o play-1.2.5.zip")
|
|
|
self.__run_command("rm play-1.2.5.zip")
|
|
|
self.__run_command("mv play-1.2.5/play play-1.2.5/play1")
|
|
|
-
|
|
|
+
|
|
|
# siena
|
|
|
self.__run_command("play-1.2.5/play1 install siena", send_yes=True)
|
|
|
|
|
@@ -323,7 +349,7 @@ class Installer:
|
|
|
./waf build
|
|
|
sudo ./waf install
|
|
|
cd ~
|
|
|
-
|
|
|
+
|
|
|
##############################
|
|
|
# wrk
|
|
|
##############################
|
|
@@ -339,16 +365,16 @@ class Installer:
|
|
|
##############################
|
|
|
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
|
|
|
sudo cp 10gen.list /etc/apt/sources.list.d/10gen.list
|
|
|
- sudo apt-get update
|
|
|
+ sudo apt-get update
|
|
|
yes | sudo apt-get install mongodb-10gen
|
|
|
-
|
|
|
+
|
|
|
sudo mv /etc/mongodb.conf /etc/mongodb.conf.orig
|
|
|
sudo mv mongodb.conf /etc/mongodb.conf
|
|
|
sudo restart mongodb
|
|
|
"""
|
|
|
p = subprocess.Popen(self.benchmarker.ssh_string.split(" "), stdin=subprocess.PIPE)
|
|
|
p.communicate(remote_script)
|
|
|
-
|
|
|
+
|
|
|
############################################################
|
|
|
# End __parse_results
|
|
|
############################################################
|