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
(see bug report). From this post I figured out that several constraint triggers with the same name were created in the SQL script, which had been removed according to the changelog.
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)
There were strong indications that the error was related to SSL. 😉
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
In the VirtualHost section, add (or uncomment) the lines
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.