These are the instructions and the packages for installing ]Project-open[ on a Debian ETCH. You’ll surely find another way, but this works for me, and I hope maybe it will help you too.

Lots of thanks to Martin Van Es for his help on updating to PostgreSQL 8.1 and Aolserver4.
NOTE: As seen in a comment, don’t use PostgreSQL version 8.3 because it’s still not working well with ]PO[. You should use 8.1 for now.


1. Packages

Install system dependencies for ]PO[

apt-get install libreadline5-dev zlib1g-dev tcl8.4 tcl8.4-dev tk8.4-dev bison flex cdbs libpam0g-dev libperl-dev python2.4-dev python-dev x-dev

2. Aolserver

Install Aolserver4, needed modules and tdom

apt-get install aolserver4 aolserver4-dev aolserver4-doc aolserver4-nscache aolserver4-nsopenssl aolserver4-nspostgres aolserver4-nssha1 aolserver4-nsxml tdom

3. PostgreSQL

Install PostgreSQL and the contrib package (contains tsearch2, needed for fulltextsearch feature)

apt-get install postgresql-8.1 postgresql-contrib-8.1

Need to change some behaviour on PostgreSQL config. Edit /etc/postgresql/8.1/main/postgresql.conf. Look for VERSION/PLATFORM COMPATIBILITY section, and enable these variables as follows

add_missing_from = on
regex_flavor = extended
default_with_oids = on

Edit /etc/postgresql/8.1/main/pg_hba.conf. Look for the local IPv4 local connections section, and change md5 auth with ident as follows

# IPv4 local connections:
#host    all         all          md5
host    all         all          ident sameuser

Restart postgresql

/etc/init.d/postgresql-8.1 restart

3. ]Project-open[

Download and install ]PO[ package

wget -c
dpkg -i project-open_3.2-1_i386.deb

Create a user and a group for running ]po[

groupadd projop
useradd -g projop -d /web/projop -s /bin/bash projop

Create a log dir and change permissions on the website for the new user

mkdir /web/projop/log
chown -R projop:projop /web/projop

Create a new database for ]PO[ (default postgres charset is latin9, set it to utf8)

su - postgres
createuser -a -d projop
createdb --owner=projop projop -E UTF8
createlang plpgsql projop

Load demo data into the new database

su - projop
cd /web/projop/packages/intranet-core/preconf
gzip -d project-open-3.2.sql.gz
psql projop -f project-open-3.2.sql

Check the data has been correctly imported

psql projop
projop=# select count(*) from users;
(1 row)
projop=# \\q

Edit config file (/web/projop/etc/config.tcl) and change main path settings

#set homedir                   /usr/local/aolserver
#set bindir                    [file dirname [ns_info nsd]]

set homedir                   /usr/lib/aolserver4
set bindir                    /usr/lib/aolserver4/bin

Launch the server to see if it works okay

/usr/sbin/aolserver4-nsd -f -t /web/projop/etc/config.tcl -u projop -g projop

# Ctrl+C to stop

Exit user projop


4. Init system

Edit default Aolserver4 init script /etc/init.d/aolserver4 and change next parameters



Change next line (about line 42, remove -s main)

#-u $USER -g $GROUP -b $ADDRESS:$PORT -s main -t $CONF >/dev/null 2>&1
-u $USER -g $GROUP -b $ADDRESS:$PORT -t $CONF >/dev/null 2>&1

Test everything works


BE PATIENT, ]po[ can take up to 1 min to start after rebooting.

5. Config

Look into config file (/web/projop/etc/config.tcl) for tuning your server sitename, listening port, etc

6. Enjoy

Again, spacial thanks to Martin Van Es for mailing me with the tips on this update.