| HowTo
install OpenGroupWare
Author: Van hees Michel <michel_AT_vanhees.cc>
Contributor:
Release supported: e-smith SME 5.6 & 6.0b3
License: 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: 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
|