Change Log
Check here to see previous revisions and for notes on changes made to this page:
Open-Xchange&action=PageHistory
Inspiration for this script was the instructions found on this page:
http://sietse.net/exoops/modules/OpenXchange/
Following on from Greg's original work in publishing a roadmap with clues on how to get OpenXchange installed on an SME server, I offer you the following script. You ought to be able to cut it out and paste it into a suitable editor. BEWARE!!! This is pure development stuff! No account has been taken of maintaining integrity of the development server, and security has not been addressed in any way. I would have continued the work, but business pressures have intervened and I'm going to have to do some paying work for a while. Good luck to potential developers! Dave
Installation Script
#!/bin/bash
#
# This little (!) command procedure simply fetches some of the software
# required to get OpenXchange working on a fresh
# SME 6.0.1-01 server installation. Thanks to lots of people!!
#
# ============================================================================= #
# Revision history #
# 22 February 2005 - Original version by Dave Dumolo #
# -- A 'hack through the software jungle with a machete' version with #
# -- the aim of getting all the software needed to achieve a compilation #
# -- of Open-Xchange. #
# -- Due to lack of time this version was never tested on a new installation #
# -- of an SME server 6.0.1-01, the system on which it was developed. #
# #
# -- Someone must want to carry this work on .......... #
# ============================================================================= #
#
#
# Create two top level directories for doing all this stuff
# - it just keeps things tidy
#
# The general idea is that we'll get all the files first and then process them.
# That way we're less likely to end up with a mess.
#
Prerequisitedirectory='/OpenXchange-prerequisite'
Installdirectory='/OpenXchange-install'
echo "The pre-requisites directory will be <$Prerequisitedirectory>, and"
echo "the install directory will be <$Installdirectory>"
#
# Some files need to be manually fetched from the Sun Java site.
# We'll check to see if this has been done. If it hasn't, then
# give the poor user some hints!! This is the prerequisites stage
# - 'cos we can't to it automagically!
#
echo ""
if ! [ -e "$Prerequisitedirectory" ]
then
echo "Before the installation of OpenXchange can proceed, certain pre-requisite"
echo "files need to be fetched manually."
echo "If you choose to proceed, the pre-requisites directory will be created and"
echo "you will then see a list of files that need to be fetched manually and"
echo "placed into the pre-requisite directory <$Prerequisitedirectory>."
while true; do
echo "Do you want to create the pre-requisite directory and continue (C),"
echo -n "or quit the installation while you are ahead? (Q) (C/Q) ?"
read cq
case $cq in
c* | C* )
mkdir $Prerequisitedirectory; break;;
[qQ] )
echo "OK! Probably a very wise decision! Bye!"; exit;;
* ) echo "Unrecognised response. Try again" ;;
esac
done
else
echo "A pre-requisite software directory has been found."
while true; do
echo "You can continue and the files will be checked (C),"
echo -n "or you can quit the installation leaving the pre-requisite files intact (Q) (C/Q)"
read cq
case $cq in
c* | C* ) break;;
[qQ] )
echo "OK! Probably a very wise decision! Bye!"; exit;;
* ) echo "Unrecognised response. Try again" ;;
esac
done
fi
echo "Checking pre-requisite files ....."
cd "$Prerequisitedirectory"
Missing=0
if [ ! -e jdk-1_5_0_01-linux-i586.bin ] # If java not available ...
then
echo "You need to get jdk-1_5_0_01-linux-i586.bin from the Sun site and place it in <$Prerequisitedirectory>";
echo "Look in http://java.sun.com/j2se/1.5.0/download.html using a web browser."
echo ""
let "Missing += 1"
fi
if [ ! -e javamail-1_3_2.zip ] # If javamail not available ...
then
echo "You need to get javamail-1_3_2.zip from the Sun site and place it in <$Prerequisitedirectory>";
echo "Look in http://java.sun.com/products/javamail/downloads/index.html using a web browser."
echo ""
let "Missing += 1"
fi
if [ ! -e jaf-1_0_2-upd.zip ]
then
echo "You need to get jaf-1_0_2-upd.zip from the Sun site and place it in <$Prerequisitedirectory>";
echo "Look in http://java.sun.com/products/javabeans/glasgow/jaf.html using a web browser."
echo ""
let "Missing += 1"
fi
if [ ! -e jta-1_0_1B-classes.zip ]
then
echo "You need to get jta-1_0_1B-classes.zip from the Sun site and place it in <$Prerequisitedirectory>";
echo "Look in http://java.sun.com/products/jta/ using a web browser."
echo ""
let "Missing += 1"
fi
if [ ! -e jta-1_0_1B-doc.zip ]
then
echo "You need to get jta-1_0_1B-doc.zip from the Sun site and place it in <$Prerequisitedirectory>";
echo "Look in http://java.sun.com/products/jta/ using a web browser."
echo ""
let "Missing += 1"
fi
if [ ! -e jmx-1_2_1-ri.zip ]
then
echo "You need to get jmx-1_2_1-ri.zip from the Sun site and place it in <$Prerequisitedirectory>";
echo "Look in http://java.sun.com/products/JavaManagement/download.html using a web browser."
echo ""
let "Missing += 1"
fi
if [ $Missing -gt 0 ]
then
echo "Checks revealed that $Missing files are missing from the pre-requisites directory."
echo "Unable to continue until these files have been fetched and placed in $Prerequisitedirectory."
echo ""
echo "Good luck with the downloads! Bye!"
exit
fi
echo "All pre-requisite files appear to be available. Do you want to"
echo -n "continue on to the automated file fetching and installation process (Y/N)?"
while true; do
read yn
case $yn in
y* | Y* ) break;;
[nN] )
echo "OK! Probably a very wise decision! Bye!"; exit;;
* ) echo "Unrecognised response. Try again" ;;
esac
done
echo ""
if [ -e "$Installdirectory" ] # If the installation directory exists ....
then
echo "It looks as if the software for Open-Xchange has already been installed here."
echo "If you continue then you can EITHER clean up the installation source"
echo "and try again OR continue and allow the script to attempt some sort of"
echo "recovery. Continuing could possibly have some unexpected side effects."
echo "However, you may want to do this to preserve the files that have already"
echo "been downloaded. Note that cleaning up the installation source"
echo "is not the same as an 'UNINSTALL' process - that's not addressed here!"
echo ""
echo "Continue at your own risk!"
while true; do
echo -n "Do you want to continue? (Y/N)"
read yn
case $yn in
y* | Y* ) break;;
[nN] ) echo "Installation terminated by user" ; exit;;
* ) echo "Unrecognised response. Try again" ;;
esac
done
while true; do
echo "Do you want to wipe out the install directory structure and start again (W),"
echo -n "or leave existing files intact and attempt a recovery (R) (W/R) ?"
read wr
case $wr in
# If the user wants to continue then we'll simply delete the install directory
# and all it's contensts and start over.
w* | W* )
# I took this out because of the HUGE amount of software that would get removed.
# rm -R $Installdirectory; break;;
echo "I did not remove your software - but we will stop anyway"; exit; break;;
[rR] ) echo "OK! Recovering if possible!" ; break;;
* ) echo "Unrecognised response. Try again" ;;
esac
done
fi
# If we get to here without error than we EITHER have no install directory
# or the user decided to leave the existing structure intact. If there isn't
# one we'll make one and start the installation process.
if [ ! -e "$Installdirectory" ] # If the installation directory doesn't exist ....
then
mkdir $Installdirectory
if [ $? -ne 0 ] # Test exit status of "mkdir" command.
then
echo "Ooops! Unable to make the installation directory."
echo "Abandoning installation"
echo ""
exit
fi
fi
# Onwards!!! ....
echo "Now we'll get most of the software required to install Open-XChange."
echo "No installations will take place at this time."
############################
# Get the development RPMs #
############################
echo "Getting the development RPMs ...."
cd $Installdirectory
subdirectory="dev-rpms"
if [ ! -e $subdirectory ]
then
mkdir $subdirectory
fi
cd $subdirectory
wget -c http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/dev-rpms/anaconda-7.3-7es115.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/dev-rpms/anaconda-runtime-7.3-7es115.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/dev-rpms/apache-devel-1.3.27-2.7.2.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/dev-rpms/autoconf-2.13-17.noarch.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/dev-rpms/automake-1.4p5-4.noarch.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/dev-rpms/bison-1.35-1.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/dev-rpms/cpp-2.96-113.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/dev-rpms/gcc-2.96-113.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/dev-rpms/gcc-c++-2.96-113.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/dev-rpms/gettext-0.11.1-2.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/dev-rpms/glibc-devel-2.2.5-44.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/dev-rpms/glibc-kernheaders-2.4-7.16.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/dev-rpms/kernel-source-2.4.20-18.7.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/dev-rpms/libacl-2.0.11-7.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/dev-rpms/libacl-devel-2.0.11-7.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/dev-rpms/libattr-2.0.8-6.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/dev-rpms/libstdc++-devel-2.96-113.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/dev-rpms/libtool-1.4.2-7.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/dev-rpms/m4-1.4.1-7.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/dev-rpms/mkisofs-1.10-11.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/dev-rpms/ncurses-devel-5.2-26.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/dev-rpms/openssl-devel-0.9.6b-35.7.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/dev-rpms/pam-devel-0.75-46.7.3.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/dev-rpms/readline-devel-4.2a-4.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/dev-rpms/rpm-python-4.0.4-7x.18.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/dev-rpms/zlib-devel-1.1.4-8.7x.i386.rpm
#wget -c http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/smeserver-skel/smeserver-skel-0.2-01.src.rpm
wget -c ftp://rpmfind.net/linux/redhat/7.3/en/os/i386/RedHat/RPMS/XFree86-libs-4.2.0-8.i386.rpm
wget -c ftp://rpmfind.net/linux/redhat/7.3/en/os/i386/RedHat/RPMS/tk-8.3.3-67.i386.rpm
wget -c ftp://rpmfind.net/linux/redhat/7.3/en/os/i386/RedHat/RPMS/expect-5.32.2-67.i386.rpm
###########################################
# Get PHP4.3.10 - thanks to Ergin Ozdemir #
###########################################
echo "Getting PHP 4.3.10 files .... "
cd $Installdirectory
subdirectory="php-rpms"
if [ ! -e $subdirectory ]
then
mkdir $subdirectory
fi
cd $subdirectory
wget -c http://mirror.contribs.org/smeserver/contribs/ergozd/scripts/phprpms/php-4.3.10-3eo.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/ergozd/scripts/phprpms/php-devel-4.3.10-3eo.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/ergozd/scripts/phprpms/php-imap-4.3.10-3eo.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/ergozd/scripts/phprpms/php-mysql-4.3.10-3eo.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/ergozd/scripts/phprpms/php-ldap-4.3.10-3eo.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/ergozd/scripts/phprpms/php-odbc-4.3.10-3eo.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/ergozd/scripts/phprpms/php-snmp-4.3.10-3eo.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/ergozd/scripts/phprpms/php-pgsql-4.3.10-3eo.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/ergozd/scripts/phprpms/php-curl-4.3.10-3eo.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/ergozd/scripts/phprpms/php-mcrypt-4.3.10-3eo.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/ergozd/scripts/phprpms/php-mhash-4.3.10-3eo.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/ergozd/scripts/phprpms/php-domxml-4.3.10-3eo.i386.rpm
wget -c http://mirror.contribs.org/smeserver/contribs/ergozd/scripts/phprpms/php-xmlrpc-4.3.10-3eo.i386.rpm
#wget -c http://mirror.contribs.org/smeserver/contribs/dbrown/RPMS/i386/php-manual-4.3.10-1db_rh73.i386.rpm
# Install unixOBDC if not installed.
rpm -qa > rpmlist
IS_ODBC=`pic rpmlist | grep -c unixODBC`
if [ $IS_ODBC -eq 0 ]
then
wget -c http://download.fedoralegacy.org/redhat/7.3/os/i386/unixODBC-2.2.0-5.i386.rpm
else
echo "unixODBC installed skipping download"
fi
rm rpmlist
#########################
# Get the Postgres RPMs #
#########################
echo "Getting Postgres 7.4.2 .... "
cd $Installdirectory
subdirectory="postgres-rpms"
if [ ! -e $subdirectory ]
then
mkdir $subdirectory
fi
cd $subdirectory
wget -c ftp://ftp.be.postgresql.org/postgresql/binary/v7.4.2/redhat/redhat-7.3/postgresql-7.4.2-1PGDG.i386.rpm
wget -c ftp://ftp.be.postgresql.org/postgresql/binary/v7.4.2/redhat/redhat-7.3/postgresql-contrib-7.4.2-1PGDG.i386.rpm
wget -c ftp://ftp.be.postgresql.org/postgresql/binary/v7.4.2/redhat/redhat-7.3/postgresql-devel-7.4.2-1PGDG.i386.rpm
wget -c ftp://ftp.be.postgresql.org/postgresql/binary/v7.4.2/redhat/redhat-7.3/postgresql-docs-7.4.2-1PGDG.i386.rpm
wget -c ftp://ftp.be.postgresql.org/postgresql/binary/v7.4.2/redhat/redhat-7.3/postgresql-jdbc-7.4.2-1PGDG.i386.rpm
wget -c ftp://ftp.be.postgresql.org/postgresql/binary/v7.4.2/redhat/redhat-7.3/postgresql-libs-7.4.2-1PGDG.i386.rpm
wget -c ftp://ftp.be.postgresql.org/postgresql/binary/v7.4.2/redhat/redhat-7.3/postgresql-pl-7.4.2-1PGDG.i386.rpm
wget -c ftp://ftp.be.postgresql.org/postgresql/binary/v7.4.2/redhat/redhat-7.3/postgresql-python-7.4.2-1PGDG.i386.rpm
wget -c ftp://ftp.be.postgresql.org/postgresql/binary/v7.4.2/redhat/redhat-7.3/postgresql-server-7.4.2-1PGDG.i386.rpm
wget -c ftp://ftp.be.postgresql.org/postgresql/binary/v7.4.2/redhat/redhat-7.3/postgresql-tcl-7.4.2-1PGDG.i386.rpm
wget -c ftp://ftp.be.postgresql.org/postgresql/binary/v7.4.2/redhat/redhat-7.3/postgresql-test-7.4.2-1PGDG.i386.rpm
wget -c http://linuxsoft.cern.ch/cern/7.3.X/i386/RedHat/RPMS/mx-2.0.3-1.i386.rpm
#############################
# Get the Berkeley DB stuff #
#############################
echo "Getting Berkeley DB 4.3 .... "
cd $Installdirectory
subdirectory="BerleleyDB-pkg"
if [ ! -e $subdirectory ]
then
mkdir $subdirectory
fi
cd $subdirectory
wget -c ftp://ftp.sleepycat.com/releases/db-4.3.27.NC.tar.gz
wget -c http://www.sleepycat.com/update/4.3.27/patch.4.3.27.1
wget -c http://www.sleepycat.com/update/4.3.27/patch.4.3.27.2
wget -c http://www.sleepycat.com/update/4.3.27/patch.4.3.27.3
#######################
# Get OpenLDAP 2.2.23 #
#######################
echo "Getting OpenLDAP 2.2.23 .... "
cd $Installdirectory
subdirectory="OpenLDAP-pkg"
if [ ! -e $subdirectory ]
then
mkdir $subdirectory
fi
cd $subdirectory
wget -c ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.2.23.tgz
##########################
# Get some Perl stuff .. #
##########################
echo "Getting OpenLDAP 2.2.23 .... "
cd $Installdirectory
subdirectory="perl-stuff"
if [ ! -e $subdirectory ]
then
mkdir $subdirectory
fi
cd $subdirectory
wget -c http://tdknights.com/buildapache/perlinstall
#ftp://rpmfind.net/linux/redhat/7.3/en/os/i386/RedHat/RPMS/expect-5.32.2-67.i386.rpm
#wget -c http://www.quantumlinux.com/~kevin/rpmpan/rpm/perl-Convert-ASN1-0.18-8.noarch.rpm
#wget -c http://www.quantumlinux.com/~kevin/rpmpan/rpm/perl-perl-ldap-0.3202-8.noarch.rpm
#wget -c http://www.quantumlinux.com/~kevin/rpmpan/rpm/perl-IO-Socket-SSL-0.96-8.noarch.rpm
#wget -c http://www.quantumlinux.com/~kevin/rpmpan/rpm/perl-Net_SSLeay.pm-1.25-8.i386.rpm
##Authen::SASL is ...
#wget -c http://www.quantumlinux.com/~kevin/rpmpan/rpm/perl-perl-ldap-0.15-8.noarch.rpm
#wget -c http://www.quantumlinux.com/~kevin/rpmpan/rpm/perl-XML-NamespaceSupport-1.08-8.noarch.rpm
#wget -c http://www.quantumlinux.com/~kevin/rpmpan/rpm/perl-Bundle-XML-0.11-8.i386.rpm
#######################
# Get some Java stuff #
#######################
echo "Getting some of the required Java files .... "
cd $Installdirectory
subdirectory="java-apps"
if [ ! -e $subdirectory ]
then
mkdir $subdirectory
fi
cd $subdirectory
#
# These RPMs really just supply .spec files that enable RPMs to be built.
#
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/non-free/SRPMS/java-1.5.0-sun-1.5.0.01-3jpp.nosrc.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/non-free/SRPMS/javamail-1.3.2-1jpp.nosrc.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/non-free/SRPMS/jta-1.0.1-0.b.4jpp.nosrc.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/non-free/SRPMS/jmx-1.2.1-1jpp.nosrc.rpm
#Get ant
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/ant-1.6.2-3jpp.noarch.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/ant-optional-full-1.5.4-2jpp.noarch.rpm
#Get Tomcat
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/tomcat5-5.0.30-6jpp.noarch.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/tomcat5-servlet-2.4-api-5.0.30-6jpp.noarch.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/tomcat5-jasper-5.0.30-6jpp.noarch.rpm
# Some additional stuff required to satisfy various dependancies
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/xerces-j2-2.6.2-4jpp.noarch.rpm #xerces-j2
wget -c http://mirrors.sunsite.dk/jpackage/1.6/redhat-7.3/free/RPMS/mod_jk-ap13-1.2.6-3jpp.i386.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/redhat-7.3/free/RPMS/mod_jk-manual-1.2.6-3jpp.i386.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/redhat-7.3/free/RPMS/mod_jk-tools-1.2.6-3jpp.i386.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/xalan-j2-2.6.0-2jpp.noarch.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/jdom-1.0-1jpp.noarch.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/xml-commons-resolver-1.1-3jpp.noarch.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/tyrex-1.0.1-2jpp.noarch.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/regexp-1.3-2jpp.noarch.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/bcel-5.1-5jpp.noarch.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/wsdl4j-1.4-3jpp.noarch.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/log4j-1.2.8-8jpp.noarch.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/axis-1.1-3jpp.noarch.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/junit-3.8.1-4jpp.noarch.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/xml-commons-1.0-0.b2.7jpp.noarch.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/xml-commons-apis-1.0-0.b2.7jpp.noarch.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/mx4j-2.0.1-2jpp.noarch.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/jakarta-commons-beanutils-1.7.0-2jpp.noarch.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/jakarta-commons-collections-3.1-1jpp.noarch.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/jakarta-commons-daemon-1.0-2jpp.noarch.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/jakarta-commons-dbcp-1.2.1-3jpp.noarch.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/jakarta-commons-digester-1.6-2jpp.noarch.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/jakarta-commons-pool-1.2-2jpp.noarch.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/jakarta-commons-el-1.0-3jpp.noarch.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/jakarta-commons-fileupload-1.0-3jpp.noarch.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/jakarta-commons-launcher-0.9-3jpp.noarch.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/jakarta-commons-logging-1.0.4-2jpp.noarch.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/jakarta-commons-modeler-1.1-3jpp.noarch.rpm
wget -c http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/jakarta-commons-discovery-0.2-2jpp.noarch.rpm
#wget -c ftp://ftp3.ca.postgresql.org/pub/binary/v7.2.4/RPMS/redhat-7.3/postgresql-jdbc-7.2.4-1PGDG.i386.rpm #postgresql-jdbc
wget -c http://mirror.poundhost.com/fedora.redhat.com/development/i386/Fedora/RPMS/servletapi5-5.0.18-1jpp_3fc.noarch.rpm
#######################################
# Finally - get the OpenXchange stuff #
#######################################
echo "Getting OpenXchange files .... "
cd $Installdirectory
subdirectory="ox-pkgs"
if [ ! -e $subdirectory ]
then
mkdir $subdirectory
fi
cd $subdirectory
#wget -c http://mirror.open-xchange.org/download/open-xchange-0.7.5.tar.gz ... no longer valid ... Tib
wget -c http://mirror.open-xchange.org/download/archive/open-xchange-0.7.5.tar.gz
###########################################
# Save some configuration files for later #
###########################################
cd $Installdirectory
subdirectory="saved-stuff"
if [ ! -e $subdirectory ]
then
mkdir $subdirectory
fi
cd $subdirectory
cp /etc/rc.d/init.d/ldap .
cp /etc/e-smith/templates/etc/openldap .
############################################################################################
echo ""
echo "So far, so good! That is all the files needed to continue."
echo "You will be warned when you get to the point where the SME distribution"
echo "is modified in a way that cannot easily be restored."
echo ""
echo "Now we need to install some of the files to be able to continue ..."
while true; do
echo -n "Do you want to install the development RPMs (Y/N) ?"
read yn
case $yn in
y* | Y* )
cd "$Installdirectory/dev-rpms"
# The *.rpm doesn't work for some reason!!
# rpm -Uvh --nodeps *.rpm # Install all the development RPMs
rpm -Uvh --nodeps anaconda-7.3-7es115.i386.rpm
rpm -Uvh --nodeps anaconda-runtime-7.3-7es115.i386.rpm
rpm -Uvh --nodeps apache-devel-1.3.27-2.7.2.i386.rpm
rpm -Uvh --nodeps autoconf-2.13-17.noarch.rpm
rpm -Uvh --nodeps automake-1.4p5-4.noarch.rpm
rpm -Uvh --nodeps bison-1.35-1.i386.rpm
rpm -Uvh --nodeps cpp-2.96-113.i386.rpm
rpm -Uvh --nodeps expect-5.32.2-67.i386.rpm
rpm -Uvh --nodeps gcc-2.96-113.i386.rpm
rpm -Uvh --nodeps gcc-c++-2.96-113.i386.rpm
rpm -Uvh --nodeps gettext-0.11.1-2.i386.rpm
rpm -Uvh --nodeps glibc-devel-2.2.5-44.i386.rpm
rpm -Uvh --nodeps glibc-kernheaders-2.4-7.16.i386.rpm
rpm -Uvh --nodeps kernel-source-2.4.20-18.7.i386.rpm
rpm -Uvh --nodeps libacl-2.0.11-7.i386.rpm
rpm -Uvh --nodeps libacl-devel-2.0.11-7.i386.rpm
rpm -Uvh --nodeps libattr-2.0.8-6.i386.rpm
rpm -Uvh --nodeps libstdc++-devel-2.96-113.i386.rpm
rpm -Uvh --nodeps libtool-1.4.2-7.i386.rpm
rpm -Uvh --nodeps m4-1.4.1-7.i386.rpm
rpm -Uvh --nodeps mkisofs-1.10-11.i386.rpm
rpm -Uvh --nodeps ncurses-devel-5.2-26.i386.rpm
rpm -Uvh --nodeps openssl-devel-0.9.6b-35.7.i386.rpm
rpm -Uvh --nodeps pam-devel-0.75-46.7.3.i386.rpm
rpm -Uvh --nodeps readline-devel-4.2a-4.i386.rpm
rpm -Uvh --nodeps rpm-python-4.0.4-7x.18.i386.rpm
rpm -Uvh --nodeps tk-8.3.3-67.i386.rpm
rpm -Uvh --nodeps XFree86-libs-4.2.0-8.i386.rpm
rpm -Uvh --nodeps zlib-devel-1.1.4-8.7x.i386.rpm
break;;
[nN] ) echo "Skipping installation of development RPMs" ; break;;
* ) echo "Unrecognised response. Try again" ;;
esac
done
echo ""
echo "Only continue if the development RPMs installed"
echo "without problem. The whole installation process"
echo "from now on depends on each step working correctly."
echo ""
echo "Now we'll get Perl up to date ...."
echo "This will replace the existing Perl with the latest available."
echo ""
echo "You'll only need to do this once in the course of testing"
while true; do
echo -n "Do you want to bring Perl up to date and install some extra modules (Y/N) ?"
read yn
case $yn in
y* | Y* )
cd "$Installdirectory/perl-stuff"
chmod 755 perlinstall
./perlinstall
# Do this to check that everything is up to date
# perl -MCPAN -e 'CPAN::Shell->install(CPAN::Shell->r)'
perl -MCPAN -e 'install Convert::ASN1'
perl -MCPAN -e 'install Net::LDAP'
perl -MCPAN -e 'install IO::Socket::SSL'
perl -MCPAN -e 'force install Net::SSLeay'
perl -MCPAN -e 'install Authen::SASL'
perl -MCPAN -e 'install Authen::PAM'
perl -MCPAN -e 'install XML::NamespaceSupport'
perl -MCPAN -e 'install XML::SAX'
break;;
[nN] ) echo "Skipping installation of Perl and Perl modules" ; break;;
* ) echo "Unrecognised response. Try again" ;;
esac
done
#
while true; do
echo -n "Do you want to install Postgres 7.4.2 (Y/N) ?"
read yn
case $yn in
y* | Y* )
cd "$Installdirectory/postgres-rpms"
rpm -Uvh --nodeps *.rpm # Install all the Postgres RPMs
/etc/init.d/postgresql start
# Create template directories
mkdir -p /etc/e-smith/templates/var/lib/pgsql/data
mkdir -p /etc/e-smith/templates-custom/var/lib/pgsql/data
# Copy original config file into template directory
cp /var/lib/pgsql/data/postgresql.conf /etc/e-smith/templates/var/lib/pgsql/data
cp /var/lib/pgsql/data/pg_hba.conf /etc/e-smith/templates/var/lib/pgsql/data
# Make modifications for this SME install
# This changes '#tcpip_socket = false' to 'tcpip_socket = true' whilst
# making the copy
sed '/#tcpip_socket/s/#tcpip_socket/tcpip_socket/;s/false/true/' \
/etc/e-smith/templates/var/lib/pgsql/data/postgresql.conf > \
/etc/e-smith/templates-custom/var/lib/pgsql/data/postgresql.conf
# This changes 'local all all ident sameuser' to '#local all all ident sameuser'
# whilst making the copy
sed -e '/local/s/local[ ]*all[ ]*all/#local all all/' \
/etc/e-smith/templates/var/lib/pgsql/data/pg_hba.conf > \
/etc/e-smith/templates-custom/var/lib/pgsql/data/pg_hba.conf
# ..and this adds some lines
echo ""
echo -n "Enter the IP address of this server (please get it right, there's no checking!!) "
read ipstring
echo -n "Enter the IP mask of this server (probably 255.255.255.0) "
read maskstring
echo "host all all $ipstring $maskstring trust" >> /etc/e-smith/templates-custom/var/lib/pgsql/data/pg_hba.conf
echo "host all all 0.0.0.0 255.255.255.255 reject" >> /etc/e-smith/templates-custom/var/lib/pgsql/data/pg_hba.conf
#
# ..and these should not really be added - it's just for testing
echo "local all all trust" >> /etc/e-smith/templates-custom/var/lib/pgsql/data/pg_hba.conf
echo "host all all 127.0.0.1 255.255.255.255 trust" >> /etc/e-smith/templates-custom/var/lib/pgsql/data/pg_hba.conf
/sbin/e-smith/expand-template /var/lib/pgsql/data/pg_hba.conf
/sbin/e-smith/expand-template /var/lib/pgsql/data/postgresql.conf
# Just a symbolic link so that the actual postgress Java interfacec can be changed easily
ln -s /usr/share/java/pg74.1jdbc3.jar /usr/share/java/postgresql.jar
/etc/init.d/postgresql stop
/etc/init.d/postgresql start
# Enable automatic launching of postgres on system start
ln -s /etc/init.d/postgresql /etc/rc.d/rc7.d/S56postgresql
ln -s /etc/init.d/postgresql /etc/rc.d/rc6.d/K03postgresql
break;;
[nN] ) echo "Skipping installation of Postgres" ; break;;
* ) echo "Unrecognised response. Try again" ;;
esac
done
echo ""
echo "That's got Postgres up and running!!"
echo ""
while true; do
echo -n "Do you want to install the PHP upgrade (Y/N) ?"
read yn
case $yn in
y* | Y* )
# This is a cludge! The file libpq.so.2 is missing.
# A fix that seems to work is to make a symbolic link to libpq.so.3
ln -s /usr/lib/libpq.so.3 /usr/lib/libpq.so.2
cd "$Installdirectory/php-rpms"
rpm -Uvh --nodeps *.rpm # Install all the development RPMs
mkdir -p /etc/e-smith/templates-custom/etc/php.ini
templatefile="/etc/e-smith/templates-custom/etc/php.ini/50PathsDirectories"
touch $templatefile
echo 'include_path = ".:/usr/share/pear"' > $templatefile
echo 'doc_root =' >> $templatefile
echo 'user_dir =' >> $templatefile
echo 'extension_dir = /usr/lib/php4' >> $templatefile
echo 'enable_dl = On' >> $templatefile
# Make Postgres available to PHP
templatefile="/etc/e-smith/templates-custom/etc/php.ini/70PgsqlExtension"
touch $templatefile
echo "extension=pgsql.so" > $templatefile
pear upgrade Log
pear upgrade Date
/sbin/e-smith/expand-template /etc/php.ini
# service httpd restart # Modified after requtest from contribs.org forum to:
/etc/e-smith/events/actions/restart-httpd-full
break;;
[nN] ) echo "Skipping installation of PHP" ; break;;
* ) echo "Unrecognised response. Try again" ;;
esac
done
echo "That's the PHP upgrade done!"
echo ""
echo ""
echo "From now on the SME server will be modified by means other than installing RPMs."
echo "This means that an original SME server cannot easily be restored once the"
echo "following changes have n=been made."
echo "YOU HAVE BEEN WARNED!!!....."
echo ""
#################################
# Build and install Berkeley DB #
#################################
while true; do
echo -n "Do you want to build and install Berkeley DB (Y/N) ?"
read yn
case $yn in
y* | Y* )
cd "$Installdirectory/BerleleyDB-pkg"
tar -zxvf db-4.3.27.NC.tar.gz
cd db-4.3.27.NC
patch -p0 < ../patch.4.3.27.1
patch -p0 < ../patch.4.3.27.2
patch -p0 < ../patch.4.3.27.3
cd build_unix
../dist/configure
make
make install
while true; do
echo -n "Do you want to modify /etc/ld.so.conf (Y/N) ?"
read yn1
case $yn1 in
y* | Y* ) echo "" >> /etc/ld.so.conf; break;;
[nN] ) echo "Skipping modification of ld.so.conf" ; break;;
* ) echo "Unrecognised response. Try again" ;;
esac
done
ldconfig
break;;
[nN] ) echo "Skipping build and installation of Berkeley DB" ; break;;
* ) echo "Unrecognised response. Try again" ;;
esac
done
############################
# Process the new OpenLDAP #
############################
# What goes on here is not very nice! The following should really be
# done using one or more RPMS - but I don't know how to build them.
# This method results in the loss of the Directory command from the
# server manager front end - not very clever!!
#
while true; do
echo -n "Do you want to build and install an updated OpenLDAP (Y/N) ?"
read yn
case $yn in
y* | Y* )
cd "$Installdirectory/OpenLDAP-pkg"
tar -zxvf openldap-2.2.23.tgz
cd openldap-2.2.23
# Some configuration command, eh?
# This is the command line to get OpenLDAP to configure
LD_LIBRARY_PATH="/usr/lib:/usr/local/lib:/usr/local/BerkeleyDB.4.3/lib:/usr/local/ssl/lib" \
LDFLAGS="-L/usr/local/lib -L/usr/local/BerkeleyDB.4.3/lib -L/usr/local/ssl/lib" \
CPPFLAGS="-I/usr/local/include -I/usr/local/BerkeleyDB.4.3/include -I/usr/local/ssl/include" \
./configure --enable-bdb --enable-crypt --with-tls
make depend
make
while true; do
echo "In order to install the new OpenLDAP, certain distribution RPMs need to be removed."
echo "It will be difficult to recover to a clean SME server from now on."
echo -n "Do you want to continue? (Y/N) "
read yn1
case $yn1 in
y* | Y* )
rpm -e --nodeps openldap-2.0.27-2.7.3es
rpm -e --nodeps openldap-clients-2.0.27-2.7.3es
rpm -e --nodeps perl-perl-ldap-0.22-10
rpm -e --nodeps openldap-servers-2.0.27-2.7.3es
rpm -e --nodeps e-smith-ldap-4.10.0-03
rpm -e --nodeps php-ldap-4.3.8-1db
break;;
[nN] ) echo "Termination the installation process."; exit; break;;
* ) echo "Unrecognised response. Try again" ;;
esac
done
make install
while true; do
echo -n "Do you want to run the installations tests(Y/N) ?"
read yn1
case $yn1 in
y* | Y* ) make test; break;;
[nN] ) echo "Skipping modification of ld.so.conf" ; break;;
* ) echo "Unrecognised response. Try again" ;;
esac
done
make clean
cd "$Installdirectory/saved-stuff"
cp ldap /etc/rc.d/init.d
cp -R openldap /etc/e-smith/templates
/sbin/e-smith/expand-template /etc/openldap/ldap.conf
/sbin/e-smith/expand-template /etc/openldap/slapd.conf
break;;
[nN] ) echo "Skipping build and installation of Berkeley DB" ; break;;
* ) echo "Unrecognised response. Try again" ;;
esac
done
#################################
# Now for the Java installation #
#################################
while true; do
echo -n "Do you want to install Java and the Java modules (Y/N) ?"
read yn
case $yn in
y* | Y* )
echo "This process involves making RPMs as root."
echo "This is probably not a very good idea, but it will do for testing."
echo -n "Hit <RET> to continue ..."
read anykey
echo "Making the required Java rpms ...."
if [ ! -e /usr/src/redhat/TMP ]
then
mkdir /usr/src/redhat/TMP
fi
if [ ! -e ~/.rpmmacros ]
then
touch ~/.rpmmacros
echo "%_builddir /usr/src/redhat/BUILD" >> ~/.rpmmacros
echo "%_rpmdir /usr/src/redhat/RPMS" >> ~/.rpmmacros
echo "%_sourcedir /usr/src/redhat/SOURCES" >> ~/.rpmmacros
echo "%_specdir /usr/src/redhat/SPECS" >> ~/.rpmmacros
echo "%_srcrpmdir /usr/src/redhat/SRPMS" >> ~/.rpmmacros
echo "%_tmppath /usr/src/redhat/TMP" >> ~/.rpmmacros
fi
# Build Java
echo "Building and installing Java ...."
cd $Installdirectory/java-apps/
#The nosrc.rpm just creates the required /usr/src/redhat/SPEC file
rpm -Uvh $Installdirectory/java-apps/java-1.5.0-sun-1.5.0.01-3jpp.nosrc.rpm
cp $Prerequisitedirectory/jdk-1_5_0_01-linux-i586.bin /usr/src/redhat/SOURCES
chmod +x /usr/src/redhat/SOURCES/jdk-1_5_0_01-linux-i586.bin
cd /usr/src/redhat/SPECS
rpmbuild -ba java-1.5.0-sun.spec
rpm -Uvh /usr/src/redhat/RPMS/i586/java-1.5.0-sun-1.5.0.01-3jpp.i586.rpm
rpm -Uvh /usr/src/redhat/RPMS/i586/java-1.5.0-sun-devel-1.5.0.01-3jpp.i586.rpm
rpm -Uvh /usr/src/redhat/RPMS/i586/java-1.5.0-sun-src-1.5.0.01-3jpp.i586.rpm
rpm -Uvh /usr/src/redhat/RPMS/i586/java-1.5.0-sun-demo-1.5.0.01-3jpp.i586.rpm
rpm -Uvh /usr/src/redhat/RPMS/i586/java-1.5.0-sun-plugin-1.5.0.01-3jpp.i586.rpm
## rpm -Uvh /usr/src/redhat/RPMS/i586/java-1.5.0-sun-fonts-1.5.0.01-3jpp.i586.rpm
## rpm -Uvh /usr/src/redhat/RPMS/i586/java-1.5.0-sun-alsa-1.5.0.01-3jpp.i586.rpm
## rpm -Uvh /usr/src/redhat/RPMS/i586/java-1.5.0-sun-jdbc-1.5.0.01-3jpp.i586.rpm
# Build JTA
echo "Building and installing JTA ...."
#The nosrc.rpm just creates the required /usr/src/redhat/SPEC file
rpm -Uvh $Installdirectory/java-apps/jta-1.0.1-0.b.4jpp.nosrc.rpm
cp $Prerequisitedirectory/jta-1_0_1B-classes.zip /usr/src/redhat/SOURCES
cp $Prerequisitedirectory/jta-1_0_1B-doc.zip /usr/src/redhat/SOURCES
cd /usr/src/redhat/SPECS
rpmbuild -ba jta.spec
rpm -Uvh /usr/src/redhat/RPMS/noarch/jta-1.0.1-0.b.4jpp.noarch.rpm
rpm -Uvh /usr/src/redhat/RPMS/noarch/jta-javadoc-1.0.1-0.b.4jpp.noarch.rpm
# Build Javamail
echo "Building and installing Javamail ...."
#The nosrc.rpm just creates the required /usr/src/redhat/SPEC file
rpm -Uvh $Installdirectory/java-apps/javamail-1.3.2-1jpp.nosrc.rpm
cp $Prerequisitedirectory/javamail-1_3_2.zip /usr/src/redhat/SOURCES
cd /usr/src/redhat/SPECS
rpmbuild -ba javamail.spec
rpm -Uvh /usr/src/redhat/RPMS/noarch/javamail-1.3.2-1jpp.noarch.rpm
rpm -Uvh /usr/src/redhat/RPMS/noarch/javamail-manual-1.3.2-1jpp.noarch.rpm
rpm -Uvh /usr/src/redhat/RPMS/noarch/javamail-javadoc-1.3.2-1jpp.noarch.rpm
rpm -Uvh /usr/src/redhat/RPMS/noarch/javamail-demo-1.3.2-1jpp.noarch.rpm
rpm -Uvh /usr/src/redhat/RPMS/noarch/javamail-monolithic-1.3.2-1jpp.noarch.rpm
# Build JAF
echo "Building and installing JAF .... "
#The nosrc.rpm just creates the required /usr/src/redhat/SPEC file
rpm -Uvh $Installdirectory/java-apps/jaf-1.0.2-4jpp.nosrc.rpm
cp $Prerequisitedirectory/jaf-1_0_2-upd.zip /usr/src/redhat/SOURCES
cd /usr/src/redhat/SPECS
rpmbuild -ba jaf.spec
rpm -Uvh /usr/src/redhat/RPMS/noarch/jaf-1.0.2-4jpp.noarch.rpm
rpm -Uvh /usr/src/redhat/RPMS/noarch/jaf-manual-1.0.2-4jpp.noarch.rpm
rpm -Uvh /usr/src/redhat/RPMS/noarch/jaf-javadoc-1.0.2-4jpp.noarch.rpm
rpm -Uvh /usr/src/redhat/RPMS/noarch/jaf-demo-1.0.2-4jpp.noarch.rpm
# Build JMX
echo "Building and installing JMX .... "
#The nosrc.rpm just creates the required /usr/src/redhat/SPEC file
rpm -Uvh $Installdirectory/java-apps/jmx-1.2.1-1jpp.nosrc.rpm
cp $Prerequisitedirectory/jmx-1_2_1-ri.zip /usr/src/redhat/SOURCES
cd /usr/src/redhat/SPECS
rpmbuild -ba jmx.spec
rpm -Uvh /usr/src/redhat/RPMS/noarch/jmx-1.2.1-1jpp.noarch.rpm
rpm -Uvh /usr/src/redhat/RPMS/noarch/jmx-javadoc-1.2.1-1jpp.noarch.rpm
#
echo "Installing ANT ...."
rpm -Uvh $Installdirectory/java-apps/ant-1.6.2-3jpp.noarch.rpm
#
echo "Installing JAVA support modules .... "
cd $Installdirectory/java-apps
rpm -Uvh servletapi5-5.0.18-1jpp_3fc.noarch.rpm
rpm -Uvh jakarta-commons-beanutils-1.7.0-2jpp.noarch.rpm
rpm -Uvh jakarta-commons-collections-3.1-1jpp.noarch.rpm
rpm -Uvh jakarta-commons-digester-1.6-2jpp.noarch.rpm
rpm -Uvh jakarta-commons-daemon-1.0-2jpp.noarch.rpm
rpm -Uvh jakarta-commons-dbcp-1.2.1-3jpp.noarch.rpm
rpm -Uvh jakarta-commons-pool-1.2-2jpp.noarch.rpm
rpm -Uvh jakarta-commons-el-1.0-3jpp.noarch.rpm
rpm -Uvh servletapi5-5.0.18-1jpp_3fc.noarch.rpm
rpm -Uvh jakarta-commons-fileupload-1.0-3jpp.noarch.rpm
rpm -Uvh jakarta-commons-launcher-0.9-3jpp.noarch.rpm
rpm -Uvh jakarta-commons-logging-1.0.4-2jpp.noarch.rpm
rpm -Uvh xml-commons-resolver-1.1-3jpp.noarch.rpm
rpm -Uvh xerces-j2-2.6.2-4jpp.noarch.rpm
rpm -Uvh xalan-j2-2.6.0-2jpp.noarch.rpm
rpm -Uvh jakarta-commons-modeler-1.1-3jpp.noarch.rpm
rpm -Uvh jakarta-commons-discovery-0.2-2jpp.noarch.rpm
rpm -Uvh xml-commons-1.0-0.b2.7jpp.noarch.rpm
rpm -Uvh xml-commons-apis-1.0-0.b2.7jpp.noarch.rpm
rpm -Uvh junit-3.8.1-4jpp.noarch.rpm
rpm -Uvh log4j-1.2.8-8jpp.noarch.rpm
rpm -Uvh wsdl4j-1.4-3jpp.noarch.rpm
rpm -Uvh axis-1.1-3jpp.noarch.rpm
rpm -Uvh regexp-1.3-2jpp.noarch.rpm
rpm -Uvh bcel-5.1-5jpp.noarch.rpm
rpm -Uvh mx4j-2.0.1-2jpp.noarch.rpm
rpm -Uvh tyrex-1.0.1-2jpp.noarch.rpm
rpm -Uvh tomcat5-servlet-2.4-api-5.0.30-6jpp.noarch.rpm
rpm -Uvh tomcat5-jasper-5.0.30-6jpp.noarch.rpm
rpm -Uvh tomcat5-5.0.30-6jpp.noarch.rpm
break;;
[nN] ) echo "Skipping installation of Java and Java modules" ; break;;
* ) echo "Unrecognised response. Try again" ;;
esac
done
echo "That's Java and the Java modules installed!"
echo ""
new
####################################
# Configure and build Open-Xchange #
####################################
while true; do
echo -n "Do you want to install Open-Xchange (Y/N) ?"
read yn
case $yn in
y* | Y* )
echo ""
echo "Creating a new Postgres database and user ...."
echo "When asked for a password, enter xyzzy."
echo "This is only for development and the password xyzzy is hard coded later!!"
echo ""
/usr/sbin/adduser ox
su - postgres -c "dropdb openexchange"
su - postgres -c "dropuser openexchange"
su - postgres -c "createuser -A -D -P openexchange"
su - postgres -c "createdb openexchange"
#
cd $Installdirectory/ox-pkgs
tar -zxvf open-xchange-0.7.5.tar.gz
cd open-xchange.0.7.5
#
export ANT_HOME=/usr/local/ant
export JAVA_HOME="/usr/lib/jvm/java"
export PATH=${PATH}:${ANT_HOME}/bin
export OX_INSTALL=/usr/local/ox
./configure \
--prefix=$OX_INSTALL \
--with-dbpass="xyzzy" \
--with-mailjar=/usr/share/java/javamail.jar \
--with-activationjar=/usr/share/java/activation.jar \
--with-jdomjar=/usr/share/java/jdom.jar \
--with-xercesjar=/usr/share/java/xerces-j2.jar \
--with-jsdkjar=/usr/share/java/servletapi5.jar \
--with-jdbcjar=/usr/share/java/postgresql.jar \
--enable-webdav \
--with-runuid=ox \
--with-rungid=ox
make
make install
cp /usr/local/ox/share/perl/login.* /home/e-smith/files/ibays/Primary/cgi-bin/
break;;
[nN] ) echo "Skipping installation of Open-Xchange" ; break;;
* ) echo "Unrecognised response. Try again" ;;
esac
done
echo "That's the Open-Xchange built!! We're not finished yet"
echo "but you might like to us a web browser to visit"
echo " http://<your-server>/cgi-bin/login.pl and see if you get a login screen"
echo "before you continue."
echo ""
while true; do
echo -n "Do you want to continue (Y/N) ?"
read yn
case $yn in
y* | Y* ) break;;
[nN] ) echo "Terminating at user request" ; exit; break;;
* ) echo "Unrecognised response. Try again" ;;
esac
done
echo "Doing post installation stuff ...."
echo ""
cd /var/lib/tomcat5/webapps
if [ -e "servlet" ]
then
rm -R servlet/*
rmdir servlet
fi
mkdir servlet
mkdir servlet/WEB-INF
mkdir servlet/WEB-INF/classes
mkdir servlet/WEB-INF/lib
cd servlet/WEB-INF/
cp $OX_INSTALL/share/servlets/*.class classes/
cp $OX_INSTALL/lib/* lib/
cp /OpenXchange-install/ox-pkgs/open-xchange.0.7.5/system/servlet/web.xml /var/lib/tomcat5/webapps/servlet/WEB-INF
service tomcat5 restart
#
echo "Now, go to the URL http://myhost:8080/servlet/intranet. You should see a message"
echo "\"No running Server found\". This means that all is OK."
echo "Otherwise, try to have a look at the Manager: http://myhost:8080/manager/html"
echo "To be able to pass the login prompt, you have to edit the file"
echo "/etc/tomcat5/tomcat-users.xml and add a line like this:"
echo "<user username=\"themanager\" password=\"thepassword\" roles=\"manager\">"
echo ""
echo -n "When you've tried this, hit any key to continue ..."
read yn
#
echo ""
echo "Installing mod_jk ..."
cp /usr/share/doc/mod_jk-ap20-1.2.5/workers.properties.sample /etc/httpd/conf/workers.properties
cp /usr/share/doc/mod_jk-ap20-1.2.5/mod_jk.conf.sample /etc/httpd/conf/mod_jk.conf
echo "JkMount /servlet/* ajp13" >> /etc/httpd/conf/mod_jk.conf
echo "JkMount /servlet/webdav.contacts/* ajp13" >> /etc/httpd/conf/mod_jk.conf
service httpd restart
#
echo "You should now be able to go to the URL http://myhost/servlet/intranet"
echo "and again obtain \"No running server found\"
echo ""
echo -n "When you've tried this, hit any key to continue ..."
read yn
echo ""
echo "Updating the Postgres database ..."
psql -dopenexchange -h localhost -Uopenexchange -W -f $OX_INSTALL/share/init_database.sql
touch temp.sql
echo "INSERT INTO sys_gen_rights_template values " > temp.sql
echo "('now','admin','now','','default_template','y','y','y','y'," >> temp.sql
echo "'y','y','y','y','y','y','y','y','y','y','y','y','y','y','y'," >> temp.sql
echo "'y','y','y','y','y','y','y','y','y','y','y','y','y','y','y'," >> temp.sql
echo "'y','y','y','y','y','y','y','y','y','y','y','y','y');" >> temp.sql
psql -dopenexchange -h localhost -Uopenexchange -W -f temp.sql
rm temp.sql
#
#
echo "That is as far as I had time for. Post installation and configuration"
echo "still needs to be done to get this whole thing working"
echo ""
echo "Any volunteers??"