RHEL / CentOS 6 Linux

This page explain how to install ]project-open[ V4.0 on RHEL/CentOS 6 64bit.

Please consider deploying our CentOS virtual machine as an alternative to following this page. The virtual machine has been exhaustively tested and includes a number of useful features for production operation.

Base CentOS 6.4 Installation

Please install CentOS 6.4 or higher from scratch as "Database Server".

Additional packages and groups:

  • Applications: Emacs
  • Groups: Development (Additional Development and Development Tools)

Deselected Packages:

  • Databases: MySQL Database client, MySQL Database server

The server installs a total of 843 packages.


Install Additional Packages

yum install cvs wget libXaw expat expat-devel pango graphviz-devel ImageMagick
yum install libdbi-dbd-pgsql openldap-clients openldap-devel perl-YAML

Optionally you may install OpenOffice "headless" for document conversion in ]po[:

yum install libreoffice libreoffice-headless

 

Download Required Files

Please download the following files into your /usr/src/ directory:

 

Extract the Installer Contents 

Please go through the following steps to create a ]po[ user "projop" and to extract the installer into this user's home directory:

groupadd projop                                               (create a group called "projop")
mkdir /web/                                                   (super-directory for all Web servers /web/ by default)
useradd -d /web/projop -g projop projop                       (create user "projop" with home directory /web/projop)
cd /web/projop/
tar xzf /usr/src/web_projop-aux-files.4.0.4.0.0.tgz           (extract auxillary files)
tar xzf /usr/src/project-open-Update-4.0.4.0.0.tgz            (extract the ]po[ product source code + database dump)
chown -R projop:projop /web/projop                            (set ownership to all files)

cd /usr/local
tar xzf /usr/src/aolserver451rc2-po2.nsreturnz.el6.x86_64.tgz  (extract the AOLserver binary for 64 bit, or replace name for 32bit)

Setup PostgreSQL 8.4

PostgreSQL 8.4 is part of CentOS 6. Please use exactly this version.

]project-open[ will not work with PostgreSQL 9.0 or higher.

You can install the database using:

yum install postgresql postgresql-server postgresql-contrib postgresql-devel postgresql-docs

Initialize the database:

/etc/init.d/postgresql initdb

Now please edit the file /var/lib/pgsql/data/postgresql.conf, search for the following parameters and set the values accordingly (don't forget to remove the comments):

add_missing_from = on
regex_flavor = extended
default_with_oids = on

Now please start the database.

/etc/init.d/postgresql start

Create a new database and user:

su - postgres -c "createuser -s projop"             (database user "projop" with admin rights)
su - projop -c "createdb -E utf8 -O projop projop"  (new database)
su - projop -c "createlang plpgsql projop"          (enable the procedural language PlPg/SQL)

Please note:
One user reported issues creating a database on CentOS 6.5 that were resolved using the additional parameters: -T , --lc-collate and --lc-ctype.
For additional information please consult the PostgreSQL documentation 

Please check that the database is working:

su - projop -c psql

Now load the database dump into the database that was part of the project-open-Update.x.y.z.tgz. This may take between 5 and 100 seconds, depending on the speed of your system. Please try to measure the time your server takes - 5 seconds is very good, while 100 seconds indicate a slow server that should not serve more then 5 or so users.

su - projop -c "psql -f /web/projop/pg_dump.4.0.4.0.0.sql > import.log 2>&1"

Please check that the database dump has loaded correctly:

su - projop -c "psql -c 'select count(*) from users'"

The database should reply with "196".

In the case of a different result please check the "import.log" for error with you favourite text editor. Most probably the database is not running, you didn't modify the database parameters above (add_missing_from = on, ...) or you are running a wrong database version.

It's OK if there are some 3000 error messages in the beginning of import.log saying "ERROR: .. .does not exist", because the database is empty, and the dump includes instructions to delete a previous data model. However, there should not be any "ERROR:" message after the first "CREATE" statements appear around line 3000.

 

Edit the ]po[ configuration file

Please modify /web/projop/etc/config.tcl for the following parameters:

set servername   "<your_company> \]project-open\[ Server"
set homedir      /usr/local/aolserver451_rc2

You may also modify the httpport.


Start ]project-open[ Manually

/usr/local/aolserver451_rc2/bin/nsd -f -t /web/projop/etc/config.tcl -u projop -g projop

]po[ should take 15s to 60s to write out some ~40.000 lines before the line appears "[...] Notice: nssock: listening on 0.0.0.0:8000".

Please check that the start-up takes at least 10 seconds and produces these ~40.000 lines of debugging output. Otherwise there will be only a few hundred lines. In this case please watch out for lines including "Error:" or "Warning:".

Now point your favorite Web browser to http://localhost:8000/ and login as "sysadmin@tigerpond.com" / "system". You should see the first page with the configuration wizard. Please do not continue here at the moment, because we still need to fix several issues before ]po[ will run as it should.

Please note that RHEL/CentOS by enables the firewall by default, so that you will have to punch a hole in the firewall using system-config-firewall-tui.

You can stop the ]po[ server in the terminal with Ctrl-C.

Congratulations, you have done it!

Automate Startup & Backups

  • Make sure PostgreSQL starts automatically:
    chkconfig postgresql on
    
  • Automate startup and respawn of ]po[ using UPSTART :

    Create a new file:  /etc/init/aolserver.conf with the following content: 
    # AOLServer
    
    start on started sshd
    stop on runlevel [016]
    
    respawn
    exec su -c "/usr/local/aolserver451_rc2/bin/nsd -it /web/projop/etc/config.tcl" projop

    (You might need to adjust above paths according to your installation)

    Next run:

    initctl reload-configuration
    initctl start aolserver
    

  • Configure POUND as a revere proxy listening on port 80:
    Pound listens on port 80 (HTTP) and 443 (HTTPS) and distributes incoming requests to an AOLserver instance, depending on the headers of the HTTP request. For download and installation please see http://www.apsis.ch/pound. or use the "Pound" (capital "P") RPM package from the EPEL repository. A separate HowTo explains how to setup POUND in a root jail and with HTTPS support.

  • You can install ngnix as an alternative to POUND above:
    For details lease see the Ubuntu installer.

  • You can automate a daily backup using our default export-dbs script.
    Please copy the export-dbs script into the file /root/bin/export-dbs and add the following lines to your crontab:
    29 3 * * * /usr/bin/perl /root/bin/export-dbs > /var/log/postgres/export-dbs.log 2>&1
    24 3 * * * /usr/bin/find /export/backup -name '*.tgz' -mtime +6 | xargs rm
    25 3 * * * /usr/bin/find /export/backup -name '*.bz2' -mtime +6 | xargs rm
    
    And create new folders /var/log/postgres and /var/backup:
    mkdir /var/log/postgres
    chown postgres:postgres /var/log/postgres
    mkdir /var/backup
    chgrp postgres /var/backup
    chmod g+w /var/backup
    
    

    You may want to test the backup script manually by executing:

    perl /root/bin/export-dbs

Fix GraphViz Configuration

Please create a symbolic link for the "dot" tool:

cd /usr/local/bin/
ln -s /usr/bin/dot


Configure LDAP Integration

]po[ can connect to your corporate Microsoft Active Directory or OpenLDAP server if you install the following Perl modules:

cpan                         (and accept "yes" for automatic configuration)
-> install
-> install IO::Socket::PortState
-> install Net::LDAP         (follow defaults by pressing "Enter" several times)

 

Upgrade ]project-open[

Please see available updates. Please read the forum and other sources in order to see if it is necessary to upgrade. Please see the V4.0 release notes for information on known issues.

 

FAQs, Documents and Issues Related CentOS  6

Did you encounter any issues? Did you successfully install ]project-open[?

Please let us know for what purpose you want to use ]project-open[, and we provide you with half a day of free training or consulting if we publish a Success Story together.

  1. Search your ~projop/log/error.log file for occurrences of the string “Error:” (upper case “E” and a colon as the last characters). Errors about “translation not found” are OK, but everything else is suspicious.
  2. Please check our FAQ section as a first step.
    Here you will find tips for diagnosing and debugging issues.
  3. Try searching for key words included in your issue here on www.project-open.org  using the search box on the top right of this page.
  4. Please visit our Open Discussions  forum at SourceForge and search for your issue. 
  5. Please check the RHEL/CentOS 6 installer thread  .
  6. If you still haven't found anything, please post into the thread .
  7. The ]project-open[ core team provides training, professional support and consulting services. Please contact us if you want to use ]po[ for more then a dozen of users.
  

 

  Contact Us
  Project Open Business Solutions S.L.

Calle Aprestadora 19, 12o-2a

E-08907 Hospitalet de Llobregat (Barcelona)

 Tel Europe: +34 932 202 088
 Tel US: +1 415 429 5995
 Mail: info@project-open.com