Version 9, last updated by Rob Chekaluk at Feb 17 19:30 2010 UTC

Using Installation Script
Elastic Server Installation
Manual Installation

This page describes scripted and manual steps for setting up a build server. These steps are specific to Debian (5.0 Lenny), so for other systems/distributions the package names and commands may be different.

Using Installation Script

This script has been tested on Debian Lenny, and may require manual modification for other distributions. Feel free to send us any modifications you needed for any particular distribution.

  1. Install all frameworks, packages, gems, eggs, etc. that will be needed to successfully run your application.
  2. Install the installation script onto an existing server.
  3. Run the installation script:
    setup.sh cgi
  4. Assign a DNS name for this server if you have not already done so.
  5. Allow port 44200 through your firewall.

Elastic Server Installation

See our Elastic Server bundles listed here.

Manual Installation

Follow these installation steps:

  1. Install all frameworks, packages, gems, eggs, etc. that will be needed to successfully run your application.
  2. Install the following packages: sudo, ruby (1.8), rubygems (>= 1.3.2), ruby-dev (ruby1.8-dev), apache2, git, subversion
  3. Install the following gems: json, capistrano (2.5.5), echoe
  4. Create deploy user: useradd -s /bin/bash -m -g www-data deploy; passwd deploy
  5. Get the sources of the webservice and deploy script:
    su deploy
    cd /tmp
    git clone git://git.assembla.com/server-tools.git
    cp -rf server-tools/assembla /home/deploy/
    mkdir /home/deploy/assembla/tmp
    rm /home/deploy/assembla/deploy*.rb
    rm /home/deploy/assembla/config.ru
    
  6. Adjust permissions and remove temporary files:
    chown -R deploy:www-data /home/deploy/assembla
    rm -rf server-tools
    
  7. Setup ssh key for deploy user:
    cd /home/deploy
    sudo -u deploy ssh-keygen -q -t dsa
    cd .ssh
    cat id_dsa.pub >> authorized_keys
    
  8. Add new apache config /etc/apache2/conf.d/assembla:
    ScriptAlias /assembla/ /home/deploy/assembla/cgi-bin/
    <Directory "/home/deploy/assembla/cgi-bin">
            AllowOverride None
            Options +ExecCGI
            Order allow,deny
            Allow from all
    </Directory>

    and restart apache:
    /etc/init.d/apache2 reload
  9. Run visudo and add this line to enable the apache user to run commands as the deploy user:
    www-data ALL=(deploy)NOPASSWD: /usr/bin/ssh-keygen,/home/deploy/assembla/bin/deploy.sh,/home/deploy/assembla/bin/save_config.sh
  10. Assign a DNS name for this server if you have not already done so
  11. Allow port 44200 through your firewall.