Sandbox Installation Part 1 (requires root) ------------------------------------------- 1. apt-get update 2. apt-get install apg subversion apache2 php5 postgresql php5-pgsql php5-gd git-core 3. PSQL_VER=`cd /etc/postgresql; ls -td *.?|head -1` 4. a2enmod userdir 5. Set "AllowOverride All" and "FollowSymLinks" in /etc/apache2/mods-enabled/userdir.conf (for public_html directories) 6. /etc/init.d/apache2 reload 7. Set postgres permissions to "local all postgres trust" in /etc/postgresql/$PSQL_VER/main/pg_hba.conf 8. Make sure that port=5432 and unix_socket_directory='/var/run/postgresql' in /etc/postgresql/$PSQL_VER/main/postgresql.conf 9. /etc/init.d/postgresql-$PSQL_VER restart 10. adduser git --shell /usr/bin/git-shell (Set the password to 'guest') 11. Use visudo to add the following line to the sudoers file: www-data ALL=(git) NOPASSWD: ALL 12. Make sure that PermitUserEnvironment is set to yes in /etc/ssh/sshd_config 13. /etc/init.d/ssh reload 14. mkdir -p ~git/.ssh 15. echo 'FFURL=http://localhost/~YOURUSERNAME/fossfactory/' >> ~git/.ssh/environment 16. chown -R git.git ~git/.ssh/ Sandbox Installation Part 2 (as regular user) --------------------------------------------- 1. cd into the fossfactory-src directory. 2. createdb -U postgres fossfactory 3. psql -U postgres fossfactory < schema/structure 4. echo "update config set value='`apg -x40 -n1`' where name='secret'" | psql -U postgres fossfactory 5. mkdir -p ~/public_html 6. ln -s `pwd`/source ~/public_html/fossfactory 7. Type crontab -e and add the following lines, replacing YOURUSERNAME with your Linux username: */5 * * * * wget --output-document=/dev/null 'http://localhost/~YOURUSERNAME/fossfactory/cron.daily.php' >/dev/null 2>/dev/null * * * * * wget --output-document=/dev/null 'http://localhost/~YOURUSERNAME/fossfactory/cron.php' >/dev/null 2>/dev/null