Howto install OpenGroupWare (English version)

HowTo
install OpenGroupWare

Author:  Van hees Michel <michel_AT_vanhees.cc>

Contributor:  

Release supported: e-smith SME 5.6 & 6.0b3

License: color=#ff0000>GPL

Last updated:

Wednesday, August 06, 2003 08:49 AM

 


Problem: Install ofOpengroupware

Solution:
  Follow this HowTo

NOTE: The installation of POSTGRES is needed by this howto.

All the installation are made with user ROOT.


STEP 1: Get all RPM

mod_ngobjweb-200307161403-1.i386.rpm

opengroupware-core-4.2-200307151629.1.i386.rpm

opengroupware-core-devel-4.2-200307151629.1.i386.rpm

opengroupware-core-tools-4.2-200307151629.1.i386.rpm

opengroupware-database-1.0-200307120102.1.i386.rpm

opengroupware-docapi-1.0-200307120102.1.i386.rpm

opengroupware-docapi-devel-1.0-200307120102.1.i386.rpm

opengroupware-env-1.0-200307151548.1.i386.rpm

opengroupware-gstep-db-4.2-200307141519.1.i386.rpm

opengroupware-gstep-db-devel-4.2-200307141519.1.i386.rpm

opengroupware-gstep-db-postgresql72-4.2-200307141519.1.i386.rpm

opengroupware-gstep-make-4.2-200307111555.1.i386.rpm

opengroupware-gstep-make-devel-4.2-200307111555.1.i386.rpm

opengroupware-gstep-objc-2.95.3-200307120102.1.i386.rpm

opengroupware-gstep-objc-devel-2.95.3-200307120102.1.i386.rpm

opengroupware-js-1.5-200307111520.1.i386.rpm

opengroupware-js-devel-1.5-200307111520.1.i386.rpm

opengroupware-libfoundation-1.0.12-200307141518.1.i386.rpm

opengroupware-libfoundation-devel-1.0.12-200307141518.1.i386.rpm

opengroupware-libical-0.23.0-200307111520.1.i386.rpm

opengroupware-libical-devel-0.23.0-200307111520.1.i386.rpm

opengroupware-logic-1.0-200307120102.1.i386.rpm

opengroupware-logic-devel-1.0-200307120102.1.i386.rpm

opengroupware-sope-4.2-200307151629.1.i386.rpm

opengroupware-sope-devel-4.2-200307151629.1.i386.rpm

opengroupware-theme-default-de-1.0-200307120103.1.i386.rpm

opengroupware-theme-default-en-1.0-200307120103.1.i386.rpm

opengroupware-webui-admin-1.0-200307120103.1.i386.rpm

opengroupware-webui-app-1.0-200307120104.1.i386.rpm

opengroupware-webui-common-1.0-200307120103.1.i386.rpm

opengroupware-webui-contact-1.0-200307120103.1.i386.rpm

opengroupware-webui-forms-1.0-200307120103.1.i386.rpm

opengroupware-webui-forms-devel-1.0-200307120103.1.i386.rpm

opengroupware-webui-job-1.0-200307120103.1.i386.rpm

opengroupware-webui-libs-1.0-200307120104.1.i386.rpm

opengroupware-webui-libs-devel-1.0-200307120104.1.i386.rpm

opengroupware-webui-mailer-1.0-200307120103.1.i386.rpm

opengroupware-webui-news-1.0-200307120103.1.i386.rpm

opengroupware-webui-prefs-1.0-200307120104.1.i386.rpm

opengroupware-webui-project-1.0-200307120104.1.i386.rpm

opengroupware-webui-resource-de-1.0-200307120104.1.i386.rpm

opengroupware-webui-resource-en-1.0-200307120104.1.i386.rpm

opengroupware-webui-scheduler-1.0-200307120104.1.i386.rpm

opengroupware-xml-4.2-200307120102.1.i386.rpm

opengroupware-xml-devel-4.2-200307120102.1.i386.rpm

opengroupware-xml-icalsaxdriver-4.2-200307120102.1.i386.rpm

opengroupware-xml-libxmlsaxdriver-4.2-200307120102.1.i386.rpm


#
wget -nd -r -l2 -np [URL]

STEP 2: size=2> Install all RPM

Installation order
:

opengroupware-gstep-make*.rpm

opengroupware-gstep-objc*.rpm

opengroupware-libfoundation*.rpm

opengroupware-js*.rpm

opengroupware-libical*.rpm

opengroupware-xml*.rpm

opengroupware-core*.rpm

opengroupware-gstep-db*.rpm

opengroupware-gstep-db-postgresql72*.rpm

opengroupware-sope*.rpm

opengroupware-env*.rpm

opengroupware-logic*.rpm

opengroupware-docapi*.rpm

opengroupware-database*.rpm

opengroupware-webui-libs*.rpm

opengroupware-webui-common*.rpm

opengroupware-webui-admin*.rpm

opengroupware-webui-app*.rpm

opengroupware-webui-contact*.rpm

opengroupware-webui-job*.rpm

opengroupware-webui-mailer*.rpm

opengroupware-webui-news*.rpm

opengroupware-webui-prefs*.rpm

opengroupware-webui-resource-en*.rpm

opengroupware-webui-scheduler*.rpm

opengroupware-webui-forms*.rpm

opengroupware-webui-project*.rpm

opengroupware-theme-default-en*.rpm

mod_ngobjweb-200307161403-1.i386.rpm



Some errors messages could appear during installation but nothning really blocking.

rpm -ivh
opengroupware-gstep-make*.rpm

rpm -ivh opengroupware-gstep-objc*.rpm

rpm -ivh opengroupware-libfoundation*.rpm

rpm -ivh opengroupware-js*.rpm

rpm -ivh opengroupware-libical*.rpm

rpm -ivh opengroupware-xml*.rpm

rpm -ivh opengroupware-core*.rpm

rpm -ivh opengroupware-gstep-db*.rpm

rpm -ivh opengroupware-gstep-db-postgresql72*.rpm

rpm -ivh opengroupware-sope*.rpm

rpm -ivh opengroupware-env*.rpm

rpm -ivh opengroupware-logic*.rpm

rpm -ivh opengroupware-docapi*.rpm

rpm -ivh opengroupware-database*.rpm

rpm -ivh opengroupware-webui-libs*.rpm

rpm -ivh opengroupware-webui-common*.rpm

rpm -ivh opengroupware-webui-admin*.rpm

rpm -ivh opengroupware-webui-app*.rpm

rpm -ivh opengroupware-webui-contact*.rpm

rpm -ivh opengroupware-webui-job*.rpm

rpm -ivh opengroupware-webui-mailer*.rpm

rpm -ivh opengroupware-webui-news*.rpm

rpm -ivh opengroupware-webui-prefs*.rpm

rpm -ivh opengroupware-webui-resource-en*.rpm

rpm -ivh opengroupware-webui-scheduler*.rpm

rpm -ivh opengroupware-webui-forms*.rpm

rpm -ivh opengroupware-webui-project*.rpm

rpm -ivh opengroupware-theme-default-en*.rpm

rpm -ivh mod_ngobjweb-200307161403-1.i386.rpm


STEP 3: Creation
of database

Connect with postgresql user

Create database and user



Command :

#
su - postgres

# createdb ogo

# createuser -A -D ogo

# exit


STEP 4:  Creation
of table in PostgresQL

Connect with opengroupware
user

Connect to postgres database

Run the script pg-build-schema.psql



#
su - opengroupware


# cd Database/PostgreSQL

# psql ogo -U ogo



\i pg-build-schema.psql

<---RESULTAT--->

psql:pg-build-schema.psql:14: NOTICE: CREATE TABLE / PRIMARY KEY will
create implicit index 'pk_staff' for table 'staff'

psql:pg-build-schema.psql:14: NOTICE: CREATE TABLE / UNIQUE will create
implicit index 'unique_company_id' for table 'staff'

CREATE

psql:pg-build-schema.psql:93: NOTICE: CREATE TABLE / PRIMARY KEY will
create implicit index 'pk_company' for table 'company'

psql:pg-build-schema.psql:93: NOTICE: CREATE TABLE / UNIQUE will create
implicit index 'unique_company_number' for table 'company'

psql:pg-build-schema.psql:93: NOTICE: CREATE TABLE / UNIQUE will create
implicit index 'unique_company_login' for table 'company'

CREATE

psql:pg-build-schema.psql:100: NOTICE: CREATE TABLE / PRIMARY KEY will
create implicit index 'pk_company_info' for table 'company_info'

CREATE

<---CUT--->

INSERT 16992 1

INSERT 16993 1

INSERT 16994 1

INSERT 16995 1

INSERT 16996 1

INSERT 16997 1

INSERT 16998 1

INSERT 16999 1

INSERT 17000 1

<---RESULTAT--->


\q


STEP 5:  Change
some parameters for opengroupware

Still connected with
opengroupware user

Execute following command:

#
source $HOME/OpenGroupware.org.sh

# Defaults write NSGlobalDomain LSAdaptor PostgreSQL72

# Defaults write NSGlobalDomain LSModelName OpenGroupware.org_PostgreSQL

# Defaults write NSGlobalDomain LSConnectionDictionary '{databaseName
= ogo; hostName = [hostname]; password = ""; port = 5432; userName
= ogo}'

# Defaults write NSGlobalDomain NGBundlePath /usr/lib/opengroupware.org/Library/OpenGroupware.org

# Defaults write NSGlobalDomain LSAttachmentPath /usr/lib/opengroupware.org/documents


# Defaults write NSGlobalDomain LSNewsImagesPath "/usr/lib/opengroupware.org/news"

# exit

Replace [hostname]
with the name of your machine


STEP 6:  Change
some parameters with root

Create some directory

Create link for language

# mkdir
/usr/lib/opengroupware.org/documents

# chown opengroupware:skyrix /usr/lib/opengroupware.org/documents

# mkdir /usr/lib/opengroupware.org/news

# chown opengroupware:skyrix /usr/lib/opengroupware.org/news

# cd /usr/lib/opengroupware.org/WOApps/OpenGroupware.woa/WebServerResources

# ln -s /usr/lib/opengroupware.org/WebServerResources/English.lproj/ English.lproj


STEP 7:  Edit
ld.so.conf file

Add 2 new lines
in fichier ld.so.conf file:

Edit /etc/ld.so.conf with your favorit editor and add the following to the end
of the file

/usr/lib/opengroupware.org/Libraries/ix86/linux-gnu/gnu-fd-nil

/usr/lib/skyrix/system/Libraries/ix86/linux-gnu/gnu-fd-nil


STEP 8:  Create
starting script

Create opengroupware
files

Edit /etc/init.d/opengroupware with your favorit editor and copy the following
line into it.

Make it runable

#!/bin/sh

#

# Startup script for OpenGroupware on UNIX systems.

#

# Based on Henrik Holmboe script

# Changed for RedHat 9 By Yedidia Klein <yedidia at jct dot ac dot il>

#

# NOTE: This script currently needs to have an environment that

# automatically sources ~/OpenGroupware.org.sh. This is achievable with

# this command: (as opengroupware user)

#

# echo "source /opt/opengroupware.org/OpenGroupware.org.sh" >>
~/.bash_profile

#

# NOTE2: Redhat 9 users has also to set LD_ASSUME_KERNEL This is achievable
with

# this command: (as opengroupware user)

# echo "export LD_ASSUME_KERNEL=2.4.1" >> ~/.bash_profile


# chkconfig: 2345 75 25

# description: OpenGroupware is a groupware server

# Configuration section

OGO_DIR=/usr/lib/opengroupware.org

OGO_BIN=$OGO_DIR/WOApps/OpenGroupware.woa/ix86/linux-gnu/gnu-fd-nil/OpenGroupware

OGO_ARGS="-WOPort 20000 -WOHttpAllowHost localhost -OGoMinimumActiveSessionCount
0"

PID_FILE=/var/run/ogo.pid

LOG=/var/log/ogo.log

# end configuration section



# Source function library.

# Use the funtions provided by Red Hat or use our own

if [ -f /etc/rc.d/init.d/functions ]

then

. /etc/rc.d/init.d/functions

else

function action {

echo "$1"

shift

}

function success {

echo -n "Success"

}

function failure {

echo -n "Failed"

}

fi



[ -x $OGO_BIN ] || exit 0

case "$1" in

start)

echo -n "Starting OpenGroupware: "

pushd $OGO_DIR > /dev/null

# log separator

echo "----------------------------------------------------------------------"
>> $LOG

# run as a user 'opengroupware':

if [ "`uname -s`" = "Linux" ]; then

env -i su - opengroupware -c "$OGO_BIN $OGO_ARGS" >> $LOG
2>&1 &

elif [ "`uname -s`" = "FreeBSD" ]; then

env -i su -l opengroupware -c "$OGO_BIN $OGO_ARGS" >>
$LOG 2>&1 &

fi

echo $! > $PID_FILE

popd > /dev/null

success "Starting OpenGroupware"

echo

;;

stop)

echo -n "Shutting down OpenGroupware: "

if test -f "$PID_FILE" ; then

PID=`cat $PID_FILE`

if kill $PID >> $LOG 2>&1 ; then

/bin/rm $PID_FILE

success "Shutting down OpenGroupware"

else

echo ""

echo "Could not kill process $PID named in $PID_FILE. Check tail
of $LOG."

failure "Shutting down OpenGroupware"

fi

else

echo ""

echo "No OpenGroupware pid file found. Looked for $PID_FILE."

failure "No OpenGroupware pid file found. Looked for $PID_FILE."

fi

echo

;;

restart)

$0 stop

$0 start

;;

*)

echo "Usage: opengroupware {start|stop|restart}"

exit 1

esac

exit 0


# chmod u+x /etc/init.d/opengroupware


STEP 9:  Configure
shell for opengroupware user

Connect with opengroupware
user

Execute the following lines :

# su - opengroupware

# echo "source /usr/lib/opengroupware.org/OpenGroupware.org.sh"
>> ~/.bash_profile

# echo "export LD_ASSUME_KERNEL=2.4.1" >> ~/.bash_profile

# exit


STEP 10:  Create
apache template

Create e-smith
template for connection between apache and opengroupware.

# mkdir -p /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/

# pico /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/87OGOAccess



LoadModule ngobjweb_module
/usr/lib/httpd/modules/mod_ngobjweb.so

<LocationMatch "^/OpenGroupware*">

SetAppPort 20000

SetHandler ngobjweb-adaptor

Options Indexes +Includes FollowSymLinks

</LocationMatch>

Alias /OpenGroupware.woa/WebServerResources/ \

/usr/lib/opengroupware.org/WebServerResources/

<Directory /usr/lib/opengroupware.org/WebServerResources>

AddType application/x-httpd-php .php .php3 .phtml

Options Indexes +Includes FollowSymLinks

order deny,allow
deny from all
allow from all
</Directory>



Generate apache configuration file.

# /sbin/e-smith/expand-template
/etc/httpd/conf/httpd.conf


STEP 11:  Launch
of the differents services

Restart apache
so the last change will be available.

Launch opengroupware service.

# service httpd restart

# /etc/init.d/opengroupware start


STEP 12:  Automatic
launching for opengroupware

Create link to
opengroupware startup file

# ln -s /etc/init.d/opengroupware /etc/rc.d/rc7.d/S58opengroupware

# ln -s /etc/init.d/opengroupware /etc/rc.d/rc6.d/K02opengroupware


Category: 
Howtos pour E-Smith/SME