Skip to content
Extraits de code Groupes Projets
ubuntu-setup.bash 3,5 ko
Newer Older
hemanth.hm's avatar
hemanth.hm a validé
#!/bin/bash
# Author : hemanth.hm@gmail.com
# Site : www.h3manth.com
# Contributions from: Mackenzie Morgan (maco) and Daniel Thomas (drt24)
hemanth.hm's avatar
hemanth.hm a validé
# This script helps to setup diaspora.
#
#   Copyright (c) 2010, Diaspora Inc.  This file is
#   licensed under the Affero General Public License version 3.  See
#   the COPYRIGHT file.

# Set extented globbing
hemanth.hm's avatar
hemanth.hm a validé
shopt -s extglob

# Check if the user has sudo privileges.
sudo -v >/dev/null 2>&1 || { echo $(whoami) has no sudo privileges ; exit 1; }

# Check if universal repository is enabled
grep -i universe /etc/apt/sources.list > /dev/null || { echo "Please enable universe repository" ; exit 1 ; }
hemanth.hm's avatar
hemanth.hm a validé

# Check if wget is installed
hemanth's avatar
hemanth a validé
test wget || echo "Installing wget.." && sudo apt-get install wget && echo "Installed wget.."

# Install build tools
hemanth.hm's avatar
hemanth.hm a validé
echo "Installing build tools.."
sudo apt-get -y --no-install-recommends install build-essential libxslt1.1 libxslt1-dev libxml2
hemanth.hm's avatar
hemanth.hm a validé
echo "..Done installing build tools"

# Install Ruby 1.8.7
echo "Installing ruby-full Ruby 1.8.7.."
sudo apt-get -y --no-install-recommends install ruby-full
hemanth.hm's avatar
hemanth.hm a validé
echo "..Done installing Ruby"

# Install Rake
hemanth.hm's avatar
hemanth.hm a validé
echo "Installing rake.."
sudo apt-get -y  --no-install-recommends install rake
hemanth.hm's avatar
hemanth.hm a validé
echo "..Done installing rake"

# Get the current release and install mongodb
lsb=$(lsb_release -rs)
ver=${lsb//.+(0)/.}
repo="deb http://downloads.mongodb.org/distros/ubuntu ${ver} 10gen"
echo "Setting up MongoDB.."
echo "."
echo ${repo} | sudo tee -a /etc/apt/sources.list
echo "."
echo "Fetching keys.."
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
echo "."
sudo apt-get  update
echo "."
sudo apt-get -y  --no-install-recommends install mongodb-stable
hemanth.hm's avatar
hemanth.hm a validé
echo "Done installing monngodb-stable.."

# Install imagemagick
echo "Installing imagemagick.."
sudo apt-get -y --no-install-recommends install imagemagick libmagick9-dev
hemanth.hm's avatar
hemanth.hm a validé
echo "Installed imagemagick.."

# Install git-core
echo "Installing git-core.."
sudo apt-get -y --no-install-recommends install git-core
hemanth.hm's avatar
hemanth.hm a validé
echo "Installed git-core.."

# Setting up ruby gems
echo "Fetching and installing ruby gems.."
(
  RELEASE=$(lsb_release -c | cut -f2)
  if [ RELEASE == "maverick" ]
  then
    sudo apt-get install --no-install-recommends -y rubygems
    sudo ln -s /var/lib/gems/1.8/bin/bundle /usr/local/bin/bundle #for PATH
  elif [ RELEASE == "lucid" ]
  then
    sudo add-apt-repository ppa:maco.m/ruby
    sudo apt-get update
    sudo apt-get install --no-install-recommends -y rubygems
    sudo ln -s /var/lib/gems/1.8/bin/bundle /usr/local/bin/bundle #for PATH
  else
    # Old version
    echo "."
    cd /tmp
    wget http://production.cf.rubygems.org/rubygems/rubygems-1.3.7.tgz
    echo "."
    tar -xf rubygems-1.3.7.tgz
    echo "."
    cd rubygems-1.3.7
    echo "."
    sudo ruby setup.rb
    echo "."
    sudo ln -s /usr/bin/gem1.8 /usr/bin/gem
    echo "."
  fi
hemanth.hm's avatar
hemanth.hm a validé
echo "Done installing the gems.."

# Install bundler
echo "Installing bundler.."
hemanth.hm's avatar
hemanth.hm a validé
sudo gem install bundler
echo "Installed bundler.."
hemanth.hm's avatar
hemanth.hm a validé

# Take a clone of Diaspora
(
# Check if the user is already in a cloned source if not clone the source
[[ $( basename $PWD ) == "diaspora" ]]  && echo "Already in diaspora directory" ||  git clone http://github.com/diaspora/diaspora.git ; cd diaspora
hemanth.hm's avatar
hemanth.hm a validé
echo "Cloned the source.."
# Install extra gems
hemanth.hm's avatar
hemanth.hm a validé
cd diaspora
echo "Installing more gems.."
sudo bundle install
echo "Installed."

# Install DB setup
hemanth.hm's avatar
hemanth.hm a validé
echo "Seting up DB.."
rake db:seed:tom
echo "DB ready. Login -> tom and password -> evankorth. More details ./diaspora/db/seeds/tom.rb."

# Run appserver
hemanth.hm's avatar
hemanth.hm a validé
echo "Starting server"
bundle exec thin start
hemanth.hm's avatar
hemanth.hm a validé
)