Skip to content

Instantly share code, notes, and snippets.

@kylefox
Created September 24, 2011 17:16
Show Gist options
  • Save kylefox/1239577 to your computer and use it in GitHub Desktop.
Save kylefox/1239577 to your computer and use it in GitHub Desktop.

Revisions

  1. kylefox revised this gist Sep 24, 2011. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions ubuntu_setup.sh
    Original file line number Diff line number Diff line change
    @@ -2,6 +2,7 @@
    # ----------------------------------------------------
    #
    # Automated setup for a Ubuntu server with git, ruby, rvm, nginx.
    # (Used at Carbonmade)
    #
    # Usage:
    # - SCP this file to your server: scp ubuntu_setup.sh you@server:~
  2. kylefox created this gist Sep 24, 2011.
    59 changes: 59 additions & 0 deletions ubuntu_setup.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,59 @@
    #!/usr/bin/env bash
    # ----------------------------------------------------
    #
    # Automated setup for a Ubuntu server with git, ruby, rvm, nginx.
    #
    # Usage:
    # - SCP this file to your server: scp ubuntu_setup.sh you@server:~
    # - Make it executable: chmod +x ubuntu_setup.sh
    # - Run it: bash ubuntu_setup.sh
    #
    # ----------------------------------------------------

    echo "Log for ubuntu_ruby.sh script."
    echo `date`
    echo "----------------------------------"

    # Tweaks to shell
    echo "PS1='\[\033[0;35m\]\u@\h\[\033[0;33m\] \w\[\033[00m\]: '" >> .bash_profile
    echo "alias ls='ls -lh --color'" >> .bash_profile

    # Add Multiverse repositories: https://help.ubuntu.com/community/Repositories/CommandLine#Adding_the_Universe_and_Multiverse_Repositories
    sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
    sudo sed -i -e "s/# deb/deb/g" /etc/apt/sources.list

    # Update source.
    sudo aptitude update

    # Upgrade everything.
    sudo aptitude safe-upgrade -y

    # Install packages
    sudo aptitude install build-essential git-core bison openssl libcurl4-openssl-dev libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev libmysqlclient-dev mysql-client-core-5.1 yui-compressor -y

    # Install RVM
    bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)
    echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile
    echo "rvm_gemset_create_on_use_flag=1" >> ~/.rvmrc
    source ~/.bash_profile
    rvm install ruby-1.9.2-p290
    rvm --default use ruby-1.9.2-p290

    # Install Passenger.
    rvm gemset use global
    gem update --system
    gem install bundler --no-ri --no-rdoc
    gem install passenger --no-ri --no-rdoc
    passenger-install-nginx-module --auto --auto-download --prefix=/home/ubuntu/nginx

    # nginx shortcuts.
    echo "sudo /home/ubuntu/nginx/sbin/nginx -s stop" >> /home/ubuntu/nginx_restart
    echo "sudo /home/ubuntu/nginx/sbin/nginx" >> /home/ubuntu/nginx_restart
    echo "sudo /home/ubuntu/nginx/sbin/nginx -s reload" >> /home/ubuntu/nginx_reload
    chmod +x /home/ubuntu/nginx_restart
    sudo ln -s /home/ubuntu/nginx_restart /usr/bin
    sudo ln -s /home/ubuntu/nginx/sbin/nginx /usr/bin

    # Add GitHub.com RSA fingerprints to known_hosts so we aren't prompted to confirm.
    echo "|1|nFPVjT+tJlghvwL9SqJmckclSkI=|5HR4LAIxnl3I3cl40j5GIy+Qbwk= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==" >> /home/ubuntu/.ssh/known_hosts
    echo "|1|LiSuPv5jaL9TCd9Tgue5BiGAJtE=|KYW9Uqo+gzE+Z3O/0uE8d9kadm0= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==" >> /home/ubuntu/.ssh/known_hosts