I was looking for a program that lets me easily provide download and versioning functionality for the software that I create, and I decided to give GForge a try on my Ubuntu server. Installation turned out to be a bit messy, but finally I managed to make it work.
First, I tried the gforge package that came with Ubuntu using apt-get, but it failed to install the database component gforge-db-postgresql with the message
constraint "forum_group_forum_id_fk" for relation "forum" already exists
After modifying the SQL script, installation raised another error with a malformed SQL statement containing
WHERE oldvalue=100 AND field_name='category_id'
(sorry I lost the original error message). Unable (and also unwilling) to debug unknown SQL code, I decided to give up.
Next, I tried the gforge package provided by Christian Bayle. I added the repository to my apt sources, and started installation. Unfortunately, the same SQL error in the WHERE clause caused the installation to terminate unsuccessfully.
I uninstalled everything using apt remove, and turned to my last choice:
From the download page, I chose gforge-4.5.19, because it seems to be the most recent stable version. The installation manual can be found on the Documentation page (User Documentation / Gforge Manual (PDF)). Even though the manual was written for 4.5.3, it is still accurate enough. Chapter 2.3 covers installation.
Since the earlier installation attempts already created a PostgreSQL database, I had to drop both the database and the user
sudo su - postgres DROP DATABASE gforge; DROP USER gforge;
The tcpip_socket option in postgresql.conf is not recognized anymore (as of version 8.3).
Setting up the Apache configuration was a bit of a mess, because the previous attempts had generated a gforge.conf (/etc/gforge/httpd.conf) file which contained instructions that Apache2 does not recognize. They also added references to modules that do not exist, such as auth_gforge_module.
Anyway, executing a manual installation from scratch should definitely work with fewer problems than I experienced.
Finally, I got the web application to run, but I had not enabled redirection which caused to redirect an HTTP request to HTTPS. Therefore, when I clicked on the link “Register as a site user”, which requires an SSL connection, the browser display the error message:
(site URL) has sent an incorrect or unexpected message (error code -12263)
Fine, I thought, just activate the https redirection, enable the VirtualHost section in the apache config file, create an SSL certificate, and then we’re done. So, I locate the instructions to set up an SSL server, which rely on a script called apache2-ssl-certificate which is not installed on Ubuntu Hardy. Well, actually it is missing from Ubuntu versions for one and a half years now.
Fortunately, the work-around is in the comments:
sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/ssl/private/gforge.pem
In the VirtualHost section, add (or uncomment) the lines
SSLEngine On SSLCertificateFile /etc/ssl/private/gforge.pem
In the end, I could successfully register a new user, added the Admin privilege via PostgreSQL, and now I am the proud and happy owner of a gforge installation 😉
Let’s see what adventures await me there.