Skip to content

Instantly share code, notes, and snippets.

@nerdyworm
Created January 2, 2012 22:43
Show Gist options
  • Save nerdyworm/1552459 to your computer and use it in GitHub Desktop.
Save nerdyworm/1552459 to your computer and use it in GitHub Desktop.
#!/bin/bash
#
# Linode setup script
#
# Set host name
# System Update && Upgrade
# RVM
# Ruby
# set host name
echo "trance-mixes" > /etc/hostname
apt-get update
apt-get upgrade
# Standard Ruby and Rails Deps
apt-get install build-essential zlib1g-dev libxml2-dev libxslt-dev libssl-dev git-core openssl libreadline6 libcurl4-openssl-dev
apt-get install zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev
apt-get install libc6-dev ncurses-dev automake libtool bison libcurl4-openssl-dev sqlite3 libreadline6-dev
# Trance Mix deps
apt-get install libsndfile1 libsndfile1-dev libmagick9-dev ffmpeg postgresql postgresql-server-dev-8.4
# Iptable Rules
echo "*filter
# Allows all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT
# Accepts all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allows all outbound traffic
# You can modify this to only allow certain traffic
-A OUTPUT -j ACCEPT
# Allows HTTP and HTTPS connections from anywhere (the normal ports for websites)
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
# Allows SSH connections
#
# THE -dport NUMBER IS THE SAME ONE YOU SET UP IN THE SSHD_CONFIG FILE
#
-A INPUT -p tcp -m state --state NEW --dport 30000 -j ACCEPT
# Allow ping
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
# log iptables denied calls
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
# Reject all other inbound - default deny unless explicitly allowed policy
-A INPUT -j REJECT
-A FORWARD -j REJECT
COMMIT" >> /etc/iptables.up.rules
echo "#!/bin/sh
/sbin/iptables-restore < /etc/iptables.up.rules" >> /etc/network/if-pre-up.d/iptables
chmod +x /etc/network/if-pre-up.d/iptables
echo "gem: --no-ri --no-rdoc" > ~/.gemrc
####### Begin Shit I have to do :(
## /etc/ssh/sshd_config
#
# PermitRootLogin no
# PasswordAuthentication no
## users benjamin, ruby
# usermod -a -G ruby,rvm,admin benjamin
# username -a G rvm ruby
## /etc/hosts
# 127.0.0.1 trance-mixes localhost
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment