/fossfactory

Website for collaborative free software development

Primary LanguagePHPGNU Affero General Public License v3.0AGPL-3.0

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