New port of OpenGroupware.org featuring a complete groupware package

ranging from mail to calendar, project management support and palm
synchronization.

This port uses pre-compiled Linux binaries, since building from source
takes a lot of effort and there is still a lot of work remaining for a
native FreeBSD port to become available.

This port should work with either Apache-1.3.x or Apache-2 but requires
PostgreSQL-7.2.x (postgresql72) because of compiled-in references to a
shared library.

PR:		ports/54860
Submitted by:	Frank Reppin <frank.reppin@boerde.de>
This commit is contained in:
Stefan Eßer 2003-10-13 21:36:00 +00:00
parent e4459075d6
commit 158234d8d3
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=91107
19 changed files with 1010 additions and 0 deletions

View File

@ -230,6 +230,7 @@
SUBDIR += lingoteach
SUBDIR += linux-edonkey-tool-list
SUBDIR += linux-edonkey-tool-recovermet
SUBDIR += linux-opengroupware
SUBDIR += logsurfer
SUBDIR += lr
SUBDIR += lv

View File

@ -0,0 +1,216 @@
# New ports collection makefile for: linux-opengroupware.org
# Date created: 2003-07-20
# Whom: Frank Reppin
#
# $FreeBSD$
PORTNAME= opengroupware
PORTVERSION= 1.0
PORTREVISION= 0
CATEGORIES= misc www linux
MASTER_SITES= http://www.opengroupware.org/packages/rpm/:ogo \
http://www.opengroupware.org/sources/:ngo \
${MASTER_SITE_REDHAT_LINUX}
MASTER_SITE_SUBDIR= updates/8.0/en/os/${MACHINE_ARCH}
PKGNAMEPREFIX= linux-
DISTFILES= ${SET1} \
${SET2} \
${SET3}
EXTRACT_ONLY= ${NGOBJWEB_ADAPTOR}
MAINTAINER= frank.reppin@boerde.de
COMMENT= Groupware package including mail, calendar, palm sync and much more
FETCH_DEPENDS= ${LOCALBASE}/sbin/apxs:${PORTSDIR}/www/apache2 \
${LOCALBASE}/bin/psql:${PORTSDIR}/databases/postgresql72 \
${LOCALBASE}/bin/bash:${PORTSDIR}/shells/bash2 \
${LINUXBASE}/lib/libc-2.3.2.so:${PORTSDIR}/emulators/linux_base-8 \
${LOCALBASE}/bin/gmake:${PORTSDIR}/devel/gmake
#BEGINSET1
SET1= opengroupware-core-4.2-ogo014.i386.rpm:ogo \
opengroupware-core-tools-4.2-ogo014.i386.rpm:ogo \
opengroupware-database-1.0-ogo011.i386.rpm:ogo \
opengroupware-docapi-1.0-ogo026.i386.rpm:ogo \
opengroupware-env-1.0-ogo007.i386.rpm:ogo \
opengroupware-gstep-db-4.2-ogo013.i386.rpm:ogo \
opengroupware-gstep-db-postgresql72-4.2-ogo013.i386.rpm:ogo \
opengroupware-gstep-make-4.2-ogo008.i386.rpm:ogo \
opengroupware-gstep-objc-2.95.3-ogo008.i386.rpm:ogo \
opengroupware-js-1.5-ogo008.i386.rpm:ogo \
opengroupware-libfoundation-1.0.12-ogo014.i386.rpm:ogo \
opengroupware-libical-0.23.0-ogo006.i386.rpm:ogo \
opengroupware-libxml2-2.5.3-ogo007.i386.rpm:ogo \
opengroupware-logic-1.0-ogo031.i386.rpm:ogo \
opengroupware-nhsc-1.0-ogo001.i386.rpm:ogo \
opengroupware-pda-1.0-ogo013.i386.rpm:ogo \
opengroupware-pilot-link-0.10.99-ogo008.i386.rpm:ogo \
opengroupware-publisher-1.0-ogo007.i386.rpm:ogo \
opengroupware-sope-4.2-ogo020.i386.rpm:ogo \
opengroupware-theme-default-de-1.0-ogo017.i386.rpm:ogo \
opengroupware-theme-default-dk-1.0-ogo017.i386.rpm:ogo \
opengroupware-theme-default-en-1.0-ogo017.i386.rpm:ogo \
opengroupware-theme-default-es-1.0-ogo017.i386.rpm:ogo \
opengroupware-theme-default-it-1.0-ogo017.i386.rpm:ogo \
opengroupware-theme-ooo-de-1.0-ogo017.i386.rpm:ogo \
opengroupware-theme-ooo-en-1.0-ogo017.i386.rpm:ogo \
opengroupware-tools-1.0-ogo004.i386.rpm:ogo \
opengroupware-tools-account-1.0-ogo006.i386.rpm:ogo \
opengroupware-tools-aptnotify-1.0-ogo006.i386.rpm:ogo \
opengroupware-tools-installsieve-1.0-ogo006.i386.rpm:ogo \
opengroupware-webui-admin-1.0-ogo009.i386.rpm:ogo \
opengroupware-webui-app-1.0-ogo012.i386.rpm:ogo \
opengroupware-webui-common-1.0-ogo024.i386.rpm:ogo \
opengroupware-webui-contact-1.0-ogo024.i386.rpm:ogo \
opengroupware-webui-forms-1.0-ogo006.i386.rpm:ogo \
opengroupware-webui-job-1.0-ogo010.i386.rpm:ogo \
opengroupware-webui-libs-1.0-ogo011.i386.rpm:ogo \
opengroupware-webui-mailer-1.0-ogo012.i386.rpm:ogo \
opengroupware-webui-news-1.0-ogo008.i386.rpm:ogo \
opengroupware-webui-prefs-1.0-ogo008.i386.rpm:ogo \
opengroupware-webui-project-1.0-ogo023.i386.rpm:ogo \
opengroupware-webui-resource-de-1.0-ogo030.i386.rpm:ogo \
opengroupware-webui-resource-dk-1.0-ogo030.i386.rpm:ogo \
opengroupware-webui-resource-en-1.0-ogo030.i386.rpm:ogo \
opengroupware-webui-resource-es-1.0-ogo030.i386.rpm:ogo \
opengroupware-webui-resource-fr-1.0-ogo030.i386.rpm:ogo \
opengroupware-webui-resource-it-1.0-ogo030.i386.rpm:ogo \
opengroupware-webui-resource-pt_BR-1.0-ogo030.i386.rpm:ogo \
opengroupware-webui-scheduler-1.0-ogo018.i386.rpm:ogo \
opengroupware-xml-4.2-ogo014.i386.rpm:ogo \
opengroupware-xml-icalsaxdriver-4.2-ogo014.i386.rpm:ogo \
opengroupware-xml-libxmlsaxdriver-4.2-ogo014.i386.rpm:ogo \
opengroupware-xmlrpcd-1.0-ogo013.i386.rpm:ogo \
opengroupware-zidestore-1.0-ogo026.i386.rpm:ogo
#ENDSET1
SET2= ${NGOBJWEB_ADAPTOR}:ngo
SET3= postgresql-libs-7.2.3-5.80.i386.rpm \
openssl-0.9.6b-35.8.i386.rpm \
cyrus-sasl-2.1.10-1.i386.rpm \
openldap-2.0.27-2.8.0.i386.rpm \
pam-0.75-46.8.0.i386.rpm \
krb5-libs-1.2.5-15.i386.rpm
NGOBJWEB_ADAPTOR= opengroupware.org-mod_ngobjweb-200310102348.tar.gz
PATCHDIR?= ${MASTERDIR}/files
USE_LINUX= yes
USE_GMAKE= yes
MAKEFILE= ${WRKSRC}/opengroupware.org-mod_ngobjweb/GNUmakefile
BUILD_WRKSRC?= ${WRKSRC}/opengroupware.org-mod_ngobjweb
NGWEB_ADAP_DIR= opengroupware.org-mod_ngobjweb
PKGNAME_PREFIX= linux-
CONFLICTS= ${PORTSDIR}/www/apache2 \
${PORTSDIR}/databases/postgresql7
ONLY_FOR_ARCHS= i386
NO_PACKAGE= We dont really build anything ...
DIST_SUBDIR= ogo
PLIST= ${WRKDIR}/pkg-plist
MD5_FILE= ${MASTERDIR}/distinfo.${MACHINE_ARCH}
PREFIX= ${LINUXBASE}
.include <bsd.port.pre.mk>
RPM2CPIO?= ${LOCALBASE}/bin/rpm2cpio
CPIO?= /usr/bin/cpio
CPIOFLAGS= --extract --make-directories --no-absolute-filenames \
--preserve-modification-time --quiet
RPMDIR= ${DISTDIR}/${DIST_SUBDIR}
REMOVEFILES= .md5sum .md5sum.changes \
${NGOBJWEB_ADAPTOR} \
etc/rc.d/init.d/saslauthd \
usr/sbin/dbconverter-2 \
usr/sbin/saslauthd \
usr/sbin/sasldblistusers \
usr/sbin/sasldblistusers2 \
usr/sbin/saslpasswd \
usr/sbin/saslpasswd2 \
sbin/pam_console_apply \
sbin/pam_tally \
sbin/pam_timestamp_check \
sbin/pwdb_chkpwd \
sbin/unix_chkpwd \
etc/krb5.conf \
etc/rc.d/init.d/kdcrotate \
usr/bin/openssl
REMOVEDIRS= ${NGWEB_ADAP_DIR} \
etc/openldap \
usr/share/openldap \
usr/kerberos/share
do-extract:
@${RM} -rf ${WRKDIR}
@${MKDIR} ${WRKSRC}
@${CP} ${DISTDIR}/${DIST_SUBDIR}/${EXTRACT_ONLY} ${WRKSRC}
@(cd ${WRKSRC} && ${TAR} xfz ${EXTRACT_ONLY})
@for myfile in ${SET1} ${SET3}; do \
ourfile=`${ECHO} $$myfile |${SED} -e 's/:ogo//'`; \
${ECHO} "Extracting for: $$ourfile"; \
(cd ${WRKSRC} && ${RPM2CPIO} ${RPMDIR}/$$ourfile | ${CPIO} ${CPIOFLAGS}); \
done
post-build:
${INSTALL} ${COPY} -m 644 ${WRKSRC}/${NGWEB_ADAP_DIR}/ngobjweb*.so ${WRKSRC}/opt/opengroupware.org
@for delfile in ${REMOVEFILES}; do \
${ECHO} "Removing unecessary file in ${WRKSRC}: $$delfile"; \
${RM} -f ${WRKSRC}/$$delfile; \
done
@for deldir in ${REMOVEDIRS}; do \
${ECHO} "Removing unecessary dir in ${WRKSRC}: $$deldir"; \
${RM} -rf ${WRKSRC}/$$deldir; \
done
.if !defined(EXTRACT_PRESERVE_OWNERSHIP)
@if [ `id -u` = 0 ]; then \
${CHMOD} -R ug-s ${WRKDIR}; \
${CHOWN} -R 0:0 ${WRKDIR}; \
fi
.endif
pre-install:
${RM} -f ${PLIST}
cd ${WRKSRC} && ${FIND} -s . -type f -o -type l | \
${CUT} -c3-999 >> ${PLIST} \
&& ${FIND} -d * -type d | ${SED} -e 's:^:@dirrm :' >> ${PLIST}
do-install:
cd ${WRKSRC} && ${FIND} * | cpio -dlmp ${PREFIX}
${FIND} ${PREFIX} -type d \! -ipath '${LINUXBASE}/proc*' -exec ${CHMOD} 755 \{\} \;
post-install:
@${MKDIR} ${LINUXBASE}/opt/opengroupware.org/documents
@${MKDIR} ${LINUXBASE}/opt/opengroupware.org/news
@${ECHO} '/opt/skyrix/system/Libraries/ix86/linux-gnu/gnu-fd-nil' >>${LINUXBASE}/etc/ld.so.conf
@${ECHO} '/opt/opengroupware.org/Libraries/ix86/linux-gnu/gnu-fd-nil' >>${LINUXBASE}/etc/ld.so.conf
@${ECHO} '/usr/kerberos/lib' >>${LINUXBASE}/etc/ld.so.conf
@${LN} -sf ${LINUXBASE}/usr/lib/libpq.so.2 ${LINUXBASE}/usr/lib/libpq.so.3
@${PREFIX}/sbin/ldconfig
@${SH} ${PKGDIR}/pkg-install ${PKGNAME} POST-INSTALL
@${CHOWN} -Rh ogo:skyrix ${LINUXBASE}/opt/skyrix
@${CHOWN} -Rh ogo:skyrix ${LINUXBASE}/opt/opengroupware.org
@${INSTALL} -d -m 770 -o ogo -g skyrix /var/log/opengroupware
@${CHOWN} -Rh ogo:skyrix /var/log/opengroupware
@${INSTALL} -m 640 -o ogo -g skyrix ${FILESDIR}/OpenGroupware.org.sh.tmpl ${LINUXBASE}/opt/opengroupware.org/OpenGroupware.org.sh
@${SH} ${PKGDIR}/pkg-install ${PKGNAME} WRITE-DEFAULTS-FIRSTTIME
@${SH} ${PKGDIR}/pkg-install ${PKGNAME} COPY-TEMPLATES
@${CHOWN} -Rh ogo:skyrix ${LINUXBASE}/opt/opengroupware.org/.libFoundation
@${INSTALL} -m 500 -o root -g wheel ${FILESDIR}/ogo.sh.sample ${LOCALBASE}/etc/rc.d/ogo.sh.sample
@${INSTALL} -m 500 -o root -g wheel ${FILESDIR}/zidestore.sh.sample ${LOCALBASE}/etc/rc.d/zidestore.sh.sample
@${INSTALL} -m 500 -o root -g wheel ${FILESDIR}/xmlrpcd.sh.sample ${LOCALBASE}/etc/rc.d/xmlrpcd.sh.sample
@${INSTALL} -m 500 -o root -g wheel ${FILESDIR}/nhsd.sh.sample ${LOCALBASE}/etc/rc.d/nhsd.sh.sample
@${PERL} ${SCRIPTDIR}/patch_apache_version.pl
@${CHOWN} -Rh ogo:skyrix ${LINUXBASE}/opt/opengroupware.org/OpenGroupware.org.apacheinclude
@${INSTALL} -m 444 -o ogo -g skyrix ${FILESDIR}/INSTALL.fbsd ${LINUXBASE}/opt/opengroupware.org/INSTALL.fbsd
@${ECHO} ''
@fmt ${PKGMESSAGE}
@${ECHO} ''
.include <bsd.port.post.mk>

View File

@ -0,0 +1,61 @@
MD5 (ogo/opengroupware-core-4.2-ogo014.i386.rpm) = e22d423bba826a9043ff5fb04054a280
MD5 (ogo/opengroupware-core-tools-4.2-ogo014.i386.rpm) = 91bd6eb2d1a982b9f52970493c3c820c
MD5 (ogo/opengroupware-database-1.0-ogo011.i386.rpm) = 9f18155e8e37fbcfc35fa5f5c1d3b3bf
MD5 (ogo/opengroupware-docapi-1.0-ogo026.i386.rpm) = 7a0dd0149d1c45e651ed731b438b915d
MD5 (ogo/opengroupware-env-1.0-ogo007.i386.rpm) = 1f25e3b728cadc9690d163fd1d1d7076
MD5 (ogo/opengroupware-gstep-db-4.2-ogo013.i386.rpm) = 47ced419fba0f0fa0afab9b945ba504c
MD5 (ogo/opengroupware-gstep-db-postgresql72-4.2-ogo013.i386.rpm) = 8c837f28854cc2e0915ba0d7173f03b7
MD5 (ogo/opengroupware-gstep-make-4.2-ogo008.i386.rpm) = 83c7f8d32a478f3e3292752036453ee0
MD5 (ogo/opengroupware-gstep-objc-2.95.3-ogo008.i386.rpm) = 51a1e4ea7771db97505d5c547542fa0c
MD5 (ogo/opengroupware-js-1.5-ogo008.i386.rpm) = a6735704e7177480976087b2818e3af3
MD5 (ogo/opengroupware-libfoundation-1.0.12-ogo014.i386.rpm) = 8430bc792deb211eeb9c97d168fdbd99
MD5 (ogo/opengroupware-libical-0.23.0-ogo006.i386.rpm) = 339fcd165790b8f6901a6f7ef35cb0fe
MD5 (ogo/opengroupware-libxml2-2.5.3-ogo007.i386.rpm) = 2646720663e31f883717a394ede8f4ae
MD5 (ogo/opengroupware-logic-1.0-ogo031.i386.rpm) = ab10963a06476728d146acd7ab7d77d0
MD5 (ogo/opengroupware-nhsc-1.0-ogo001.i386.rpm) = 3aeb1da6507593081bcd26592297273f
MD5 (ogo/opengroupware-pda-1.0-ogo013.i386.rpm) = 7f7ad48c7cbcc168519d25a102cb87fb
MD5 (ogo/opengroupware-pilot-link-0.10.99-ogo008.i386.rpm) = 4b75fe9c7419b9337382620f283badbb
MD5 (ogo/opengroupware-publisher-1.0-ogo007.i386.rpm) = 1a376eb397ab5c37f8d730df768f1557
MD5 (ogo/opengroupware-sope-4.2-ogo020.i386.rpm) = 1b45f7ea13ec3aca681a03f6289033bb
MD5 (ogo/opengroupware-theme-default-de-1.0-ogo017.i386.rpm) = 0e9aeb6c36275567d5aeab5010455134
MD5 (ogo/opengroupware-theme-default-dk-1.0-ogo017.i386.rpm) = c880ca5a40ce2cd5cec1508d48135ed9
MD5 (ogo/opengroupware-theme-default-en-1.0-ogo017.i386.rpm) = 4cf638f35d288175e8a85ae8bc9698f2
MD5 (ogo/opengroupware-theme-default-es-1.0-ogo017.i386.rpm) = 0fc4a083b2fa6a20e56b24c5742947a4
MD5 (ogo/opengroupware-theme-default-it-1.0-ogo017.i386.rpm) = 83aa7b43626c2e5078059eca8f7d38e1
MD5 (ogo/opengroupware-theme-ooo-de-1.0-ogo017.i386.rpm) = 5bc33e149857d2586bb8a7ef108291f8
MD5 (ogo/opengroupware-theme-ooo-en-1.0-ogo017.i386.rpm) = f32c8d724008faeb29a5e082135401b2
MD5 (ogo/opengroupware-tools-1.0-ogo004.i386.rpm) = 39e637749f5eedb89f91468896ec867b
MD5 (ogo/opengroupware-tools-account-1.0-ogo006.i386.rpm) = 464aa1650f6b9a64f9db3d5ed22432c6
MD5 (ogo/opengroupware-tools-aptnotify-1.0-ogo006.i386.rpm) = 584e665d14a02bee761b20f11147ea83
MD5 (ogo/opengroupware-tools-installsieve-1.0-ogo006.i386.rpm) = 6cdadf3c2acb0abe0c0a506a480b4be1
MD5 (ogo/opengroupware-webui-admin-1.0-ogo009.i386.rpm) = 4f19ebf6c29b6c3399d143b810479c60
MD5 (ogo/opengroupware-webui-app-1.0-ogo012.i386.rpm) = 14ed47a0e6440e070b5b17eb2b6a04fd
MD5 (ogo/opengroupware-webui-common-1.0-ogo024.i386.rpm) = 3689d33da539a24436210d09568cdf7e
MD5 (ogo/opengroupware-webui-contact-1.0-ogo024.i386.rpm) = 12ac01a07049ac6356e018f6071ffba0
MD5 (ogo/opengroupware-webui-forms-1.0-ogo006.i386.rpm) = 3210b8b7321e76057b3caff4d34a9069
MD5 (ogo/opengroupware-webui-job-1.0-ogo010.i386.rpm) = 6d6dab37f8b6c38a88e0f2264e9c989a
MD5 (ogo/opengroupware-webui-libs-1.0-ogo011.i386.rpm) = b2ddecef0188c19a2af0569dcef8796c
MD5 (ogo/opengroupware-webui-mailer-1.0-ogo012.i386.rpm) = bf95b0594f20a4fb2ac82a4780a764c9
MD5 (ogo/opengroupware-webui-news-1.0-ogo008.i386.rpm) = 9a6212968a044f4b9a1c66cf610c4969
MD5 (ogo/opengroupware-webui-prefs-1.0-ogo008.i386.rpm) = f59d85ff58fec827c9e709ff8121e20c
MD5 (ogo/opengroupware-webui-project-1.0-ogo023.i386.rpm) = 91b7ad0b635b8df0aceae8d57c2e7084
MD5 (ogo/opengroupware-webui-resource-de-1.0-ogo030.i386.rpm) = 271592e331a971b1d7fefb9f596c53c2
MD5 (ogo/opengroupware-webui-resource-dk-1.0-ogo030.i386.rpm) = d23dcb3ce0bc67edfd2d8521bd4cdcd2
MD5 (ogo/opengroupware-webui-resource-en-1.0-ogo030.i386.rpm) = 849686a004d0fb8596fdcd22aa8d24d7
MD5 (ogo/opengroupware-webui-resource-es-1.0-ogo030.i386.rpm) = 4c1c5b36ed7f60fd5a947fa80af2cd91
MD5 (ogo/opengroupware-webui-resource-fr-1.0-ogo030.i386.rpm) = 4643191d5de343417c64b70ddf880c26
MD5 (ogo/opengroupware-webui-resource-it-1.0-ogo030.i386.rpm) = 23e1a15dc831ef33d90b331d9640f8ba
MD5 (ogo/opengroupware-webui-resource-pt_BR-1.0-ogo030.i386.rpm) = a54bf278fac7f69dbfaf289746745fcd
MD5 (ogo/opengroupware-webui-scheduler-1.0-ogo018.i386.rpm) = 19419584ea3092230743a1f6cc305616
MD5 (ogo/opengroupware-xml-4.2-ogo014.i386.rpm) = 0809db9f1370e574928cd6ad62ab9148
MD5 (ogo/opengroupware-xml-icalsaxdriver-4.2-ogo014.i386.rpm) = 39f662e9cd6a39f74beefb0f901ec7b4
MD5 (ogo/opengroupware-xml-libxmlsaxdriver-4.2-ogo014.i386.rpm) = d06954f196f94b54a5c8f238484184bb
MD5 (ogo/opengroupware-xmlrpcd-1.0-ogo013.i386.rpm) = 9684db6efebdae7ce5781f9b5a743717
MD5 (ogo/opengroupware-zidestore-1.0-ogo026.i386.rpm) = 4e21f9b7617e38fa0a449bc8eefaee79
MD5 (ogo/opengroupware.org-mod_ngobjweb-200310102348.tar.gz) = 3e5a8ecc7d97e25e2344e85ac91df407
MD5 (ogo/postgresql-libs-7.2.3-5.80.i386.rpm) = ebd03dbfc757b629dac9bb017d918ef4
MD5 (ogo/openssl-0.9.6b-35.8.i386.rpm) = b55dd770fb47b8f15c5c90e8e71b6f84
MD5 (ogo/cyrus-sasl-2.1.10-1.i386.rpm) = 0bf0d5b2e17a26e06f1b9e2cd02fdae3
MD5 (ogo/openldap-2.0.27-2.8.0.i386.rpm) = f6ffab19ae521c65396cc76d0a64c2c9
MD5 (ogo/pam-0.75-46.8.0.i386.rpm) = 25ebcb39f56c98cc064c34b2d048ed35
MD5 (ogo/krb5-libs-1.2.5-15.i386.rpm) = 9e36f2192f29e5e4c162cf1af0ee4f79

View File

@ -0,0 +1,141 @@
#$Id: INSTALL.fbsd,v 1.2 2003/09/13 14:59:49 frank Exp $
GENERAL NOTE:
You're welcome to ask questions about OpenGroupware
at
http://www.opengroupware.org
too. :p Don't hesitate.
1) First of all - you must have linux compat mode
activated.
Refer to:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/linuxemu.html
on how to do this.
In short.... my rc.conf contains:
linux_enable="YES"
and I recompiled my kernel with the following options:
# Enable Linux ABI emulation
options COMPAT_LINUX
# Enable the linux-like proc filesystem support (requires COMPAT_LINUX
# and PSEUDOFS)
options LINPROCFS
(kernel compilation is further described in:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-building.html)
You also want to add the following line into your /etc/fstab:
linproc /compat/linux/proc linprocfs rw 0 0
(If you don't have linproc mounted - OGo will coredump :P - so check twice)
2) Make sure, that your PostgreSQL Installation
listens on TCP Port 5432!
Typing (as root)
`netstat -an -p tcp|grep -i 5432`
should show you if it is.
The output might look like:
[root@minax]/usr/local/pgsql/data: netstat -an -p tcp|grep -i 5432
tcp4 0 0 *.5432 *.* LISTEN
(Hoping that it is really PostgreSQL showing up there :))
`lsof -Pni|grep -i 5432`
should give you better results since it gives an output like this:
[root@minax]/usr/local/pgsql/data: lsof -Pni|grep -i 5432
postgres 411 pgsql 3u IPv4 0xc428cca8 0t0 TCP *:5432 (LISTEN)
If there's no output at all (ie. nothing similiar to what you've just seen)
then you must reconfigure PostgreSQL.
To do so edit:
'/usr/local/pgsql/data/postgresql.conf'
and make sure that there's the following line active:
tcpip_socket = true
After applying this modification save and exit 'postgresql.conf'.
Now restart PostgreSQL (there should be a start/stop script in your
local_startup dir:
`/usr/local/etc/rc.d/010.pgsql.sh stop`
`/usr/local/etc/rc.d/010.pgsql.sh start`
Voila!
3) Add an include statement into your current apache configuration,
typically located in:
'/usr/local/etc/apache/httpd.conf'
Edit this file and add the following line:
'include /compat/linux/opt/opengroupware.org/OpenGroupware.org.apacheinclude'
(best place to add this might depend on your individual configuration, in my
configuration I simply added this line at the very end of my httpd.conf)
Restart apache to activate the changes just made.
`/usr/local/etc/rc.d/apache.sh stop`
`/usr/local/etc/rc.d/apache.sh start`
4) Add a postgresql User/Database for OpenGroupware:
`su - pgsql`
`createdb ogo`
`createuser -A -D ogo`
Install the database scheme:
`psql ogo ogo`
a shell like environment appears know.... type there:
\i /compat/linux/opt/opengroupware.org/Database/PostgreSQL/pg-build-schema.psql
...and the database scheme gets installed.
Leave this shell with
\q
and CTRL-D back to your `root` account.
5) Restart PostgreSQL again.
6) Start OpenGroupware:
`/usr/local/etc/rc.d/ogo.sh.sample start`
NOW POINT YOUR BROWSER TO:
http://<host.where.you.installed.tld>/OpenGroupware/
and enjoy! :)
--
Frank Reppin

View File

@ -0,0 +1,15 @@
#$FreeBSD$
#
# by Frank Reppin
#
# necessary Apache includes!
# keep an eye on the apacheversion :)
LoadModule ngobjweb_module /compat/linux/opt/opengroupware.org/ngobjweb_1.3.28.so
<LocationMatch "^/OpenGroupware/*">
SetHandler ngobjweb-adaptor
SetAppPort 20000
</LocationMatch>
Alias /OpenGroupware.woa/WebServerResources/ "/compat/linux/opt/opengroupware.org/WebServerResources/"

View File

@ -0,0 +1,2 @@
export FORCED_USER_ROOT=/compat/linux/opt/opengroupware.org
source /compat/linux/opt/skyrix/system/Makefiles/GNUstep.sh

View File

@ -0,0 +1,148 @@
{
"absence_mode" = withAbsence;
"address_blocksize" = 50;
"enterprise_sub_view" = attributes;
"formletter_kind" = winword;
"job_blocksize" = 50;
"job_no_of_cols" = 3;
"job_view" = jobHistoryList;
"joblist_view" = toDoList;
"mail_editor_type" = internal;
"mail_nextMesgAfterDelete" = 1;
"mail_send_type" = plain;
"mail_showUnreadMesgAsNext" = 1;
"mail_show_all_unread_links" = 0;
"mail_show_target_folder" = 1;
"mail_viewAttachmentBodysInEditor" = 0;
"mail_viewAttachmentsInline" = 1;
"mail_viewImagesInline" = 1;
"mail_viewStatus" = 0;
"news_blocksize" = 30;
"news_filterDays" = 7;
"news_showNewsOnTop" = 0;
"persons_sub_view" = attributes;
"projects_blocksize" = 50;
"projects_no_of_cols" = 3;
"rootAccessformletter_kind" = 1;
"rootAccessmail_editor_type" = 1;
"rootAccessmail_send_type" = 1;
"rootAccessmail_viewAttachmentsInline" = 1;
"rootAccessmail_viewImagesInline" = 1;
"rootAccessscheduler_end_hour" = 1;
"rootAccessscheduler_start_hour" = 1;
"rootAccessscheduler_time_input_type" = 1;
"rootAccessscheduler_view" = 1;
"scheduler_additional_popup_entries" = 20;
"scheduler_appointment_view" = attributes;
"scheduler_custom_everyyear_holidays" = {};
"scheduler_custom_holidays" = {};
"scheduler_daychart_columnsperday" = 24;
"scheduler_dayoverview_dayend" = 1080;
"scheduler_dayoverview_daystart" = 480;
"scheduler_dayoverview_timeinterval" = 3600;
"scheduler_end_hour" = 12;
"scheduler_mail_template_date_format" = "%Y-%m-%d";
"scheduler_no_of_cols" = 2;
"scheduler_overview_short_info" = 1;
"scheduler_overview_with_resources" = 1;
"scheduler_popup_persons" = (
);
"scheduler_popup_resourceNames" = (
);
"scheduler_popup_teams" = (
);
"scheduler_show_holiday_christmasEve" = 1;
"scheduler_show_holiday_deathsSunday" = 0;
"scheduler_show_holiday_holidaygroup_advent" = 0;
"scheduler_show_holiday_holidaygroup_bay" = 0;
"scheduler_show_holiday_holidaygroup_ber" = 0;
"scheduler_show_holiday_holidaygroup_bra" = 0;
"scheduler_show_holiday_holidaygroup_bre" = 0;
"scheduler_show_holiday_holidaygroup_bwb" = 0;
"scheduler_show_holiday_holidaygroup_bylaw" = 1;
"scheduler_show_holiday_holidaygroup_custom_all" = 1;
"scheduler_show_holiday_holidaygroup_custom_private" = 1;
"scheduler_show_holiday_holidaygroup_hes" = 0;
"scheduler_show_holiday_holidaygroup_hh" = 0;
"scheduler_show_holiday_holidaygroup_mvp" = 0;
"scheduler_show_holiday_holidaygroup_nrw" = 0;
"scheduler_show_holiday_holidaygroup_nsa" = 0;
"scheduler_show_holiday_holidaygroup_rpf" = 0;
"scheduler_show_holiday_holidaygroup_saa" = 0;
"scheduler_show_holiday_holidaygroup_sac" = 0;
"scheduler_show_holiday_holidaygroup_sah" = 1;
"scheduler_show_holiday_holidaygroup_slh" = 0;
"scheduler_show_holiday_holidaygroup_thu" = 0;
"scheduler_show_holiday_mothersDay" = 0;
"scheduler_show_holiday_newYearsEve" = 1;
"scheduler_show_holiday_shrovetide" = 0;
"scheduler_show_holiday_summertimeChange" = 1;
"scheduler_show_holiday_wintertimeChange" = 1;
"scheduler_start_hour" = 11;
"scheduler_time_input_type" = PopUp;
"scheduler_view" = overview;
"scheduler_weekchart_columnsperday" = 24;
"scheduler_write_access_accounts" = (
);
"scheduler_write_access_teams" = (
);
"skyp4_desktop_tab" = favorites;
"skyp4_projectviewer_tab" = attributes;
"usermanager_blocksize" = 30;
ImapSentFolderName = "sent-mail";
LSPageRefreshOnBacktrack = YES;
LSPluginEnabledUserAgents = (
"Mozilla/4.0 (compatible; MSIE"
);
LSPluginViewerEnabled = YES;
ServerSideSortingDisabled = YES;
ShowOnlySubscribedInRoot = NO;
ShowOnlySubscribedInSubFolders = NO;
ShowVacationPanel = YES;
SkyButtonRowDefaultButtonsLeft = 0;
SkyButtonRowHideInactiveButtons = 1;
SkyButtonTextMode = 0;
SkyDockShowBookmarks = 1;
SkyDockShowDesktop = 1;
SkyDockTextMode = 0;
SkyDockablePagesOrdering = (
UserManager,
News,
Scheduler2,
ResourceScheduler,
Persons,
Enterprises,
Projects,
Jobs,
Imap,
PalmSync
);
SkyLanguages = (
English_OOo,
German_OOo
);
SkyMaxFavoritesCount = 5;
SkyMaxNavLabelLength = 32;
UseSkyrixLoginForImap = NO;
WOCachingEnabled = YES;
WOContactSNS = NO;
WODebuggingEnabled = NO;
WODefaultSessionTimeout = 1200;
WOResourcePrefix = "";
language = "English";
popupIfNewMails = 1;
rootAccessSkyDockShowBookmarks = 1;
rootAccessSkyDockShowDesktop = 1;
rootAccessSkyDockablePagesOrdering = 1;
rootAccesslanguage = 1;
rootAccesstimezone = 1;
timezone = MET;
OGoMinimumActiveSessionCount = 0;
WOUseWatchDog = YES;
ImapDebugEnabled=no;
}

View File

@ -0,0 +1,8 @@
{
SxExplain = NO;
WOCachingEnabled = YES;
WOHttpTransactionUseSimpleParser = YES;
WOPort = "localhost:23000";
ZLFolderRefresh = 1;
ZLShowGroupOverviewCalendars = YES;
}

View File

@ -0,0 +1,56 @@
#!/bin/sh
# $FreeBSD$
#
# Frank Reppin <frank.reppin@boerde.de>
OGO_USER='ogo'
OGO_GROUP='skyrix'
NHSD_BIN='/compat/linux/opt/opengroupware.org/Tools/ix86/linux-gnu/gnu-fd-nil/nhsd'
OGO_DIR='/compat/linux/opt/opengroupware.org'
LOG='/var/log/opengroupware/xmlrpcd.log'
case $1 in
start)
[ ! -f ${LOG} ] && {
echo 'No NHSD logfile present in /var/log/opengroupware - creating one...'
touch ${LOG}
chmod 600 ${LOG}
chown ${OGO_USER}:${OGO_GROUP} ${LOG}
echo 'done!'
}
chmod 600 ${LOG}
chown ${OGO_USER}:${OGO_GROUP} ${LOG}
[ -x ${NHSD_BIN} ] && {
su -l ${OGO_USER} -c \
"./Tools/ix86/linux-gnu/gnu-fd-nil/nhsd >>${LOG} 2>&1 &"
echo 'Network Hotsync [tm] daemon started.'
echo "**** RECEIVED 'start' from STARTSCRIPT at `date` ****" >>${LOG}
}
;;
stop)
killall -9 nhsd >/dev/null 2>&1
killall -9 nhsd >/dev/null 2>&1
echo 'Network Hotsync [TM] daemon stopped.'
echo "" >>${LOG}
echo "**** RECEIVED 'stop' from STARTSCRIPT at `date` ****" >>${LOG}
;;
restart)
./$0 stop
./$0 start
;;
status)
ps auxwwwww|grep -vi grep|grep -i '/gnu-fd-nil/nhsd'
;;
*)
echo "usage: `basename $0` {start|stop|restart|status|}" >&2
exit 64
;;
esac

View File

@ -0,0 +1,56 @@
#!/bin/sh
# $FreeBSD$
#
# Frank Reppin <frank.reppin@boerde.de>
OGO_USER='ogo'
OGO_GROUP='skyrix'
OGO_BIN='/compat/linux/opt/opengroupware.org/WOApps/OpenGroupware.woa/ix86/linux-gnu/gnu-fd-nil/OpenGroupware'
OGO_DIR='/compat/linux/opt/opengroupware.org'
LOG='/var/log/opengroupware/ogo.log'
case $1 in
start)
[ ! -f ${LOG} ] && {
echo 'No OGo logfile present in /var/log/opengroupware - creating one...'
touch ${LOG}
chmod 600 ${LOG}
chown ${OGO_USER}:${OGO_GROUP} ${LOG}
echo 'done!'
}
chmod 600 ${LOG}
chown ${OGO_USER}:${OGO_GROUP} ${LOG}
[ -x ${OGO_BIN} ] && {
su -l ${OGO_USER} -c \
"./WOApps/OpenGroupware.woa/ix86/linux-gnu/gnu-fd-nil/OpenGroupware >>${LOG} 2>&1 &"
echo 'OpenGroupware started.'
echo "**** RECEIVED 'start' from STARTSCRIPT at `date` ****" >>${LOG}
}
;;
stop)
killall -9 OpenGroupware >/dev/null 2>&1
killall -9 OpenGroupware >/dev/null 2>&1
echo 'OpenGroupware stopped.'
echo "" >>${LOG}
echo "**** RECEIVED 'stop' from STARTSCRIPT at `date` ****" >>${LOG}
;;
restart)
./$0 stop
./$0 start
;;
status)
ps auxwwwww|grep -vi grep|grep -i '/gnu-fd-nil/OpenGroupware'
;;
*)
echo "usage: `basename $0` {start|stop|restart|status|}" >&2
exit 64
;;
esac

View File

@ -0,0 +1,11 @@
--- opengroupware.org-mod_ngobjweb.dist/GNUmakefile Tue Jul 15 14:39:08 2003
+++ opengroupware.org-mod_ngobjweb/GNUmakefile Sat Oct 11 20:32:42 2003
@@ -4,7 +4,7 @@
# config
-APACHE = /usr
+APACHE = /usr/local
APXS = $(APACHE)/sbin/apxs
HTTPD = $(APACHE)/sbin/httpd

View File

@ -0,0 +1,29 @@
--- opt/skyrix/system/Makefiles/GNUstep.sh.dist Wed Jul 23 20:26:13 2003
+++ opt/skyrix/system/Makefiles/GNUstep.sh Wed Jul 23 20:27:27 2003
@@ -27,13 +27,13 @@
#
# Set the GNUstep system root and local root
#
-GNUSTEP_ROOT=/opt/skyrix/system
+GNUSTEP_ROOT=/compat/linux/opt/skyrix/system
if [ -z "$FORCED_USER_ROOT" ]; then
FORCED_USER_ROOT=
fi
-GNUSTEP_SYSTEM_ROOT=/opt/skyrix/system
+GNUSTEP_SYSTEM_ROOT=/compat/linux/opt/skyrix/system
GNUSTEP_FLATTENED=
if [ -z "$LIBRARY_COMBO" ]; then
LIBRARY_COMBO=gnu-fd-nil
@@ -43,8 +43,8 @@
GNUSTEP_MAKEFILES=$GNUSTEP_SYSTEM_ROOT/Makefiles
export GNUSTEP_MAKEFILES
-GNUSTEP_LOCAL_ROOT=/opt/skyrix/system
-GNUSTEP_NETWORK_ROOT=/opt/skyrix/system
+GNUSTEP_LOCAL_ROOT=/compat/linux/opt/skyrix/system
+GNUSTEP_NETWORK_ROOT=/compat/linux/opt/skyrix/system
export GNUSTEP_LOCAL_ROOT GNUSTEP_NETWORK_ROOT
# test to see if GNUSTEP_ROOT is in Win32 standard form and flag it

View File

@ -0,0 +1,11 @@
--- opt/opengroupware.org/.bash_profile.dist Wed Jul 23 21:30:12 2003
+++ opt/opengroupware.org/.bash_profile Wed Jul 23 21:24:53 2003
@@ -3,7 +3,7 @@
# new files can be read/written by the opengroupware user.
umask 007
-source /opt/opengroupware.org/OpenGroupware.org.sh
+source /compat/linux/opt/opengroupware.org/OpenGroupware.org.sh
export SASL_PATH="${GNUSTEP_USER_ROOT}/Library/Plugins/Plain.plugin/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS/$LIBRARY_COMBO"

View File

@ -0,0 +1,56 @@
#!/bin/sh
# $FreeBSD$
#
# Frank Reppin <frank.reppin@boerde.de>
OGO_USER='ogo'
OGO_GROUP='skyrix'
XMLRPCD_BIN='/compat/linux/opt/opengroupware.org/Tools/ix86/linux-gnu/gnu-fd-nil/xmlrpcd'
OGO_DIR='/compat/linux/opt/opengroupware.org'
LOG='/var/log/opengroupware/xmlrpcd.log'
case $1 in
start)
[ ! -f ${LOG} ] && {
echo 'No XMLRPCD logfile present in /var/log/opengroupware - creating one...'
touch ${LOG}
chmod 600 ${LOG}
chown ${OGO_USER}:${OGO_GROUP} ${LOG}
echo 'done!'
}
chmod 600 ${LOG}
chown ${OGO_USER}:${OGO_GROUP} ${LOG}
[ -x ${XMLRPCD_BIN} ] && {
su -l ${OGO_USER} -c \
"./Tools/ix86/linux-gnu/gnu-fd-nil/xmlrpcd >>${LOG} 2>&1 &"
echo 'XMLRPCD started.'
echo "**** RECEIVED 'start' from STARTSCRIPT at `date` ****" >>${LOG}
}
;;
stop)
killall -9 xmlrpcd >/dev/null 2>&1
killall -9 xmlrpcd >/dev/null 2>&1
echo 'XMLRPCD stopped.'
echo "" >>${LOG}
echo "**** RECEIVED 'stop' from STARTSCRIPT at `date` ****" >>${LOG}
;;
restart)
./$0 stop
./$0 start
;;
status)
ps auxwwwww|grep -vi grep|grep -i '/gnu-fd-nil/xmlrpcd'
;;
*)
echo "usage: `basename $0` {start|stop|restart|status|}" >&2
exit 64
;;
esac

View File

@ -0,0 +1,56 @@
#!/bin/sh
# $FreeBSD$
#
# Frank Reppin <frank.reppin@boerde.de>
OGO_USER='ogo'
OGO_GROUP='skyrix'
ZIDE_BIN='/compat/linux/opt/opengroupware.org/WOApps/ZideStore.woa/ix86/linux-gnu/gnu-fd-nil/ZideStore'
OGO_DIR='/compat/linux/opt/opengroupware.org'
LOG='/var/log/opengroupware/zidestore.log'
case $1 in
start)
[ ! -f ${LOG} ] && {
echo 'No ZideStore logfile present in /var/log/opengroupware - creating one...'
touch ${LOG}
chmod 600 ${LOG}
chown ${OGO_USER}:${OGO_GROUP} ${LOG}
echo 'done!'
}
chmod 600 ${LOG}
chown ${OGO_USER}:${OGO_GROUP} ${LOG}
[ -x ${ZIDE_BIN} ] && {
su -l ${OGO_USER} -c \
"./WOApps/ZideStore.woa/ix86/linux-gnu/gnu-fd-nil/ZideStore >>${LOG} 2>&1 &"
echo 'ZideStore started.'
echo "**** RECEIVED 'start' from STARTSCRIPT at `date` ****" >>${LOG}
}
;;
stop)
killall -9 ZideStore >/dev/null 2>&1
killall -9 ZideStore >/dev/null 2>&1
echo 'ZideStore stopped.'
echo "" >>${LOG}
echo "**** RECEIVED 'stop' from STARTSCRIPT at `date` ****" >>${LOG}
;;
restart)
./$0 stop
./$0 start
;;
status)
ps auxwwwww|grep -vi grep|grep -i '/gnu-fd-nil/ZideStore'
;;
*)
echo "usage: `basename $0` {start|stop|restart|status|}" >&2
exit 64
;;
esac

View File

@ -0,0 +1,8 @@
Mission: To create, as a community, the leading open source groupware server
to integrate with the leading open source office suite products and all the
leading groupware clients running across all major platforms, and to provide
access to all functionality and data through open XML-based interfaces and APIs.
WWW: http://www.opengroupware.org
Frank Reppin <frank.reppin@boerde.de>

View File

@ -0,0 +1,88 @@
#!/bin/sh
#$Id: pkg-install,v 1.2 2003/09/13 14:59:44 frank Exp $
# Frank Reppin
# $FreeBSD$
case $2 in
POST-INSTALL)
OGO_USER='ogo'
OGO_GROUP='skyrix'
OGO_HOME='/compat/linux/opt/opengroupware.org'
OGO_DST='/compat/linux/opt'
OGO_DESCR='OpenGroupware'
OGO_SHELL='/usr/local/bin/bash'
echo "######################################################################################"
echo "Creating neccessary user/group"
if pw group show "${OGO_GROUP}" 2>/dev/null; then
echo "Found existing group \"${OGO_GROUP}\", nothing to be done for me here."
else
if pw group add ${OGO_GROUP}; then
echo "Successfully added group: \"${OGO_GROUP}\"."
else
echo "pw group add ${OGO_GROUP} failed :/."
exit 1
fi
fi
if pw user show "${OGO_USER}" 2>/dev/null; then
echo "Found existing user \"${OGO_USER}\", nothing to be done for me here."
else
if pw user add ${OGO_USER} -g ${OGO_GROUP} -c ${OGO_DESCR} -d ${OGO_HOME} -s ${OGO_SHELL}; then
echo "Successfully added user: \"${OGO_USER}\"."
else
echo "pw user add ${OGO_USER} failed :/."
exit 1
fi
fi
echo "######################################################################################"
;;
WRITE-DEFAULTS-FIRSTTIME)
OGO='ogo'
SU='/usr/bin/su'
ME=`hostname`
DW='Defaults write'
DR='Defaults read'
if [ ! -e /compat/linux/opt/opengroupware.org/.libFoundation/Defaults/NSGlobalDomain.plist ] 2>/dev/null; then
echo "There seems to be no previous OGo installation..."
echo "going to write \`Defaults\` to .libFoundation/Defaults/NSGlobalDomain.plist"
${SU} -l ${OGO} -c "${DW} NSGlobalDomain skyrix_id ${ME}" >/dev/null 2>&1
${SU} -l ${OGO} -c "${DW} NSGlobalDomain LSAdaptor PostgreSQL72" >/dev/null 2>&1
${SU} -l ${OGO} -c "${DW} NSGlobalDomain LSModelName OpenGroupware.org_PostgreSQL" >/dev/null 2>&1
${SU} -l ${OGO} -c "${DW} NSGlobalDomain LSConnectionDictionary '{hostName=localhost; userName=ogo; password=\"\"; port=5432; databaseName=ogo}'" >/dev/null 2>&1
${SU} -l ${OGO} -c "${DW} NSGlobalDomain LSAttachmentPath \"/compat/linux/opt/opengroupware.org/documents\"" >/dev/null 2>&1
${SU} -l ${OGO} -c "${DW} NSGlobalDomain LSNewsImagesPath \"/compat/linux/opt/opengroupware.org/news\"" >/dev/null 2>&1
${SU} -l ${OGO} -c "${DW} NSGlobalDomain LSNewsImagesUrl \"/ArticleImages\"" >/dev/null 2>&1
${SU} -l ${OGO} -c "${DW} NSGlobalDomain NGBundlePath \"/compat/linux/opt/opengroupware.org/Library/OpenGroupware.org\"" >/dev/null 2>&1
${SU} -l ${OGO} -c "${DW} NSGlobalDomain XMLReader libxmlSAXDriver" >/dev/null 2>&1
${SU} -l ${OGO} -c "${DW} " >/dev/null 2>&1
echo "done."
else
echo "I think you've already installed OGo before..."
echo "Thus i am kind and don't mess your settings :)"
fi
;;
COPY-TEMPLATES)
if [ ! -e /compat/linux/opt/opengroupware.org/.libFoundation/Defaults/OpenGroupware.plist ] 2>/dev/null; then
echo "OpenGroupware.plist not found..."
echo "thus I am using the one coming with the port."
cp files/OpenGroupware.plist.tmpl /compat/linux/opt/opengroupware.org/.libFoundation/Defaults/OpenGroupware.plist >/dev/null 2>&1
else
echo "OpenGroupware.plist is already in place!"
fi
if [ ! -e /compat/linux/opt/opengroupware.org/.libFoundation/Defaults/ZideStore.plist ] 2>/dev/null; then
echo "ZideStore.plist not found..."
echo "thus I am using the one coming with the port."
cp files/ZideStore.plist.tmpl /compat/linux/opt/opengroupware.org/.libFoundation/Defaults/ZideStore.plist >/dev/null 2>&1
else
echo "ZideStore.plist is already in place!"
fi
;;
esac

View File

@ -0,0 +1,19 @@
===> NOTE!
You've just installed linux-opengroupware!
Thankyou!
There are some additional steps to
do now:
1) Make sure that your PostgreSQL Installation
listens on TCP Port 5432.
2) Install the ogo database scheme for PostgreSQL.
3) manually add a line into your httpd.conf
For a complete and detailed walkthrough refer to
the INSTALL.fbsd in:
/compat/linux/opt/opengroupware.org

View File

@ -0,0 +1,28 @@
#!/usr/bin/perl -w
# by frank
use strict;
my $current_apache_version = `/usr/local/sbin/httpd -v|head -1`;
my @version = split / /, $current_apache_version;
my $version;
$version = $version[2];
$version =~ s/^Apache\///g;
chomp $version;
if ( ! -e '/compat/linux/opt/opengroupware.org/OpenGroupware.org.apacheinclude' ) {
print "OpenGroupware.org.apacheinclude is not present! I'll deal with this issue!\n";
open (AI, "> /compat/linux/opt/opengroupware.org/OpenGroupware.org.apacheinclude");
print AI "LoadModule ngobjweb_module\t/compat/linux/opt/opengroupware.org/ngobjweb_$version.so\n";
print AI "\n";
print AI "<LocationMatch \"^/OpenGroupware/*\">\n";
print AI "\tSetHandler ngobjweb-adaptor\n";
print AI "\tSetAppPort 20000\n";
print AI "</LocationMatch>\n";
print AI "\n";
print AI "Alias /OpenGroupware.woa/WebServerResources/ \"/compat/linux/opt/opengroupware.org/WebServerResources/\"\n";
close(AI);
} else {
print "OpenGroupware.org.apacheinclude is already present and will not be changed!\n";
}