#!/bin/bash # source: # http://edin.no-ip.com/comment/313 # installing gitorious on ubuntu 10.04 # prep on fresh 10.04 system aptitude update && \ aptitude -y full-upgrade && \ tasksel install openssh-server && \ tasksel install server && \ tasksel install mail-server && \ aptitude -y install colordiff locate ntp pwgen rsync vim # install packages aptitude -y install apache2 apache2-threaded-dev apg aspell aspell-en build-essential geoip-bin git-core git-cvs git-doc git-svn imagemagick libapache2-mod-xsendfile libaspell-dev libcurl4-openssl-dev libdbd-mysql-ruby libexpat1-dev libgeoip-dev libgeoip1 libmagick++-dev libmagick++4 libmysql-ruby libmysqlclient-dev libonig-dev libpcre3 libpcre3-dev libreadline-dev libreadline5 libruby libsqlite3-dev libxslt1-dev libyaml-dev memcached mysql-client mysql-server openjdk-6-jre postfix ruby ruby-dev rubygems sphinxsearch sqlite3 unzip zip zlib1g zlib1g-dev # install rubygem REALLY_GEM_UPDATE_SYSTEM=1 gem update --system gem install --no-ri --no-rdoc -v 0.8.7 rake gem install --no-ri --no-rdoc -v 1.1.0 daemons gem install -b --no-ri --no-rdoc rmagick stompserver passenger bundler # fetch gitorious git clone git://gitorious.org/gitorious/mainline.git /var/www/gitorious cd /var/www/gitorious git submodule init git submodule update ln -s /var/www/gitorious/script/gitorious /usr/local/bin/gitorious # initializing services cd /var/www/gitorious/doc/templates/ubuntu chmod 755 git-daemon git-ultrasphinx git-poller stomp ln -s /var/www/gitorious/doc/templates/ubuntu/git-daemon /etc/init.d/git-daemon ln -s /var/www/gitorious/doc/templates/ubuntu/git-ultrasphinx /etc/init.d/git-ultrasphinx ln -s /var/www/gitorious/doc/templates/ubuntu/git-poller /etc/init.d/git-poller ln -s /var/www/gitorious/doc/templates/ubuntu/stomp /etc/init.d/stomp ln -s /var/www/gitorious/doc/templates/ubuntu/gitorious-logrotate /etc/logrotate.d/gitorious update-rc.d git-daemon defaults update-rc.d git-ultrasphinx defaults update-rc.d git-poller defaults update-rc.d stomp defaults cd /var/www/gitorious/doc/templates/ubuntu sed -i 's/\/opt\/ruby-enterprise/\/usr/g' git-daemon sed -i 's/\/opt\/ruby-enterprise/\/usr/g' git-ultrasphinx sed -i 's/\/opt\/ruby-enterprise/\/usr/g' git-poller sed -i 's/\/opt\/ruby-enterprise/\/usr/g' stomp cd /var/www/gitorious/doc/templates/ubuntu sed -i 's/^GIT_DAEMON=".*"$/GIT_DAEMON="bundle exec $GITORIOUS_HOME\/script\/git-daemon -d"/g' git-daemon # configure apache /usr/lib/ruby/gems/1.8/gems/passenger-3.0.12/bin/passenger-install-apache2-module vi /etc/apache2/mods-available/passenger.load #do stuff a2enmod passenger rewrite ssl xsendfile /etc/init.d/apache2 restart #do stuff #install rubygems cd /var/www/gitorious/ bundle pack bundle install --path vendor/cache #adding git user adduser --system --home /var/www/gitorious --no-create-home --group --shell /bin/bash git chown -R git:git /var/www/gitorious git submodule init git submodule update mkdir .ssh touch .ssh/authorized_keys chmod -R go-rwx .ssh mkdir tmp/pids repositories tarballs tarballs-work cp config/database.sample.yml config/database.yml cp config/gitorious.sample.yml config/gitorious.yml cp config/broker.yml.example config/broker.yml chown -R git:git /var/www/gitorious #Edit config/gitorious.yml: Remove every section but production