Created
August 13, 2015 15:31
-
-
Save sjg/51389366a813e7e85f87 to your computer and use it in GitHub Desktop.
VM Setup for Data Science Course (BENVGSC4)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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