Skip to content

Instantly share code, notes, and snippets.

@sjg
Created August 13, 2015 15:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sjg/51389366a813e7e85f87 to your computer and use it in GitHub Desktop.
Save sjg/51389366a813e7e85f87 to your computer and use it in GitHub Desktop.
VM Setup for Data Science Course (BENVGSC4)
# Setup Script for BENVGSC4 Database Virtual Machine
# -- CENTOS VM Setup
# -- Machine Specs
# -- Author: Steven Gray, Jan 2015
# -- Version: 1.0
# Do not run this file -- this will not install all features, manually install these
# Setup System
yum -y install htop
yum -y install byobu
byobu-enable
cd /etc/yum.repos.d
wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo
yum --enablerepo=testing-1.1-devtools-6 install devtoolset-1.1-gcc devtoolset-1.1-gcc-c++
# Setup Course Specific Software
sudo yum install httpd
sudo service httpd start
sudo chkconfig httpd on
# Remember: Copy IP of the Machine into httpd.conf -> Listen 128.40.150.34:80
sudo yum install mysql-server
sudo /usr/bin/mysql_secure_installation
sudo chkconfig mysqld on
service mysqld status
# Setup IP Rules -- Database on 3006
sudo iptables -I INPUT -p tcp --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -I OUTPUT -p tcp --sport 3306 -m state --state ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
SERVER_IP="128.40.150.34"
sudo iptables -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d $SERVER_IP --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp -s $SERVER_IP --sport 80 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d $SERVER_IP --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp -s $SERVER_IP --sport 443 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d $SERVER_IP --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp -s $SERVER_IP --sport 80 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
# iptables rules for server
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp --match multiport --dports 8870:8899 -j ACCEPT
sudo /etc/init.d/iptables restart
# See rules file - sudo nano /etc/sysconfig/iptables
sudo mkdir /etc/skel/public_html
sudo touch /etc/skel/public_html/index.html
sudo chmod -R 755 public_html
#Enable UserDir and permissions
setsebool httpd_read_user_content on
chmod 711 /home/username/
chmod 755 /home/username/public_html
chmod 755 /home/username/public_html/index.html
chmod 711 /home
chmod 711 /home/testuser
chmod 755 /home/testuser/public_html
chmod o+r /home/testuser/public_html/index.htm
#Edit welcome.conf + Copy the default page
rm /etc/httpd/conf.d/welcome.conf
touch /etc/httpd/conf.d/welcome.conf
touch /var/www/html/index.html
# Setup node js etc -- Only use sockets on port 8870 to 8899
curl -sL https://rpm.nodesource.com/setup | bash -
sudo yum install -y npm
sudo yum install -y nodejs
sudo yum install git
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
sudo yum -y install python-devel
sudo yum install numpy scipy python-matplotlib sympy python-nose
sudo pip install pandas
sudo pip install pysal
sudo pip install descartes
sudo pip install sqlalchemy
sudo yum install blas lapack libgfortran
sudo yum install gcc-gfortran gcc44-gfortran python-devel
sudo yum install gdal python-basemap
sudo yum install gdal-devel gdal-python
sudo pip install fiona
sudo pip install Shapely
sudo pip install basemap --allow-external basemap --allow-unverified basemap
sudo pip install -U scikit-learn
git clone git://github.com/mdp-toolkit/mdp-toolkit
cd mdp-toolkit/
sudo python setup.py install
sudo yum install gsl-devel
wget http://downloads.sourceforge.net/project/mlpy/mlpy%203.5.0/mlpy-3.5.0.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fmlpy%2Ffiles%2Fmlpy%25203.5.0%2F&ts=1420753406&use_mirror=kent
mv mlpy-3.5.0.tar.gz\?r\=http\:%2F%2Fsourceforge.net%2Fprojects%2Fmlpy%2Ffiles%2Fmlpy%203.5.0%2F mlpy.tar.gz
tar xvzf mlpy.tar.gz
cd mlpy-3.5.0
sudo python setup.py install
wget http://proj.badc.rl.ac.uk/cedaservices/raw-attachment/ticket/670/armadillo-3.800.2-1.el6.x86_64.rpm
sudo yum localinstall armadillo-3.800.2-1.el6.x86_64.rpm
sudo pip install networkx
sudo pip install scrapy==0.18.4
sudo pip install pybrain
sudo pip install setuptools==9.1
sudo pip install nltk
sudo pip install statsmodels
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment