Long post...Sorry
Here is a script I am using to install horde3.0 on SME 6.5b2. Thanks Greg for the devrpms and fileino help. It basically follows the howto I wrote, but I added some extra items so that the install would survive an email-update, post-install, console-save, etc. Limited testing has been done, but it seems to be working. Make sure you have already downloaded the latest versions of the horde components, and php- 4.3.10. There are a few versions of the php rpm's that people are using, so I didn't include them in the script. I haven't tested this with anything other than php-4.3.10. Also download this file - file-4.12-3db_rh73.i386.rpm from Dan Browns directory on contribs.org. Make sure to have php and file installed before proceeding. Any Horde components newer than what are in the script, then you will have to modify the specific lines accordingly. I have tested this with MySQL that comes with 6.5 and with MySQL 4.0.21.
install_horde30.sh
#!/bin/bash
# This sets the script to verbose mode so I can see what is running
# set -v
clear
echo
echo "Installing horde 3.0 compononets,"
echo "Horde (framework), imp (mail), turba (contacts),"
echo "Kronolith (Calender), NAG (Tasks), Mnemo (Notes), Ingo (Filters)"
echo
mv /home/httpd/html/horde/ /home/httpd/html/horde.old
mkdir -p /root/plus/devrpms
cd /root/plus/devrpms
wget -nc
http://www.ibiblio.org/pub/linux/distributions/smeserver/releases/6.5beta1/os/e-smith/RPMS/autoconf-2.13-17.noarch.rpmwget -nc
http://www.ibiblio.org/pub/linux/distributions/smeserver/releases/6.5beta1/os/e-smith/RPMS/automake-1.4p5-4.noarch.rpmwget -nc
http://www.ibiblio.org/pub/linux/distributions/smeserver/releases/6.5beta1/os/e-smith/RPMS/cpp-2.96-113.i386.rpmwget -nc
http://www.ibiblio.org/pub/linux/distributions/smeserver/releases/6.5beta1/os/e-smith/RPMS/gcc-2.96-113.i386.rpmwget -nc
http://www.ibiblio.org/pub/linux/distributions/smeserver/releases/6.5beta1/os/e-smith/RPMS/glibc-devel-2.2.5-44.legacy.3.i386.rpmwget -nc
http://www.ibiblio.org/pub/linux/distributions/smeserver/releases/6.5beta1/os/e-smith/RPMS/glibc-kernheaders-2.4-7.16.i386.rpmwget -nc
http://www.ibiblio.org/pub/linux/distributions/smeserver/releases/6.5beta1/os/e-smith/RPMS/libtool-libs-1.4.2-13.legacy.i386.rpmwget -nc
http://www.ibiblio.org/pub/linux/distributions/smeserver/releases/6.5beta1/os/e-smith/RPMS/m4-1.4.1-7.i386.rpmwget -nc
http://download.fedoralegacy.org/redhat/7.3/updates/i386/libtool-1.4.2-13.legacy.i386.rpmrpm -Uvh *.rpm
cd /root/horde30
rm -rf /root/plus/devrpms
pear install Log
pear install Date
pear install file
pear ua
pear -d preferred_state=beta install -a Services_Weather
pear -d preferred_state=beta install -a Fileinfo
rpm -e autoconf automake cpp gcc glibc-devel glibc-kernheaders libtool m4
touch /etc/e-smith/templates-custom/etc/php.ini/85FileInfo
echo ' ' >> /etc/e-smith/templates-custom/etc/php.ini/85FileInfo
echo '[Fileinfo]' >> /etc/e-smith/templates-custom/etc/php.ini/85FileInfo
echo 'extension=fileinfo.so' >> /etc/e-smith/templates-custom/etc/php.ini/85FileInfo
mysqladmin drop horde < /root/horde30/y
tar zxf horde-3.0.2.tar.gz
tar zxf imp-h3-4.0.1.tar.gz
tar zxf turba-h3-2.0.tar.gz
tar zxf kronolith-h3-2.0.1.tar.gz
tar zxf mnemo-h3-2.0.1.tar.gz
tar zxf nag-h3-2.0.1.tar.gz
tar zxf ingo-h3-1.0.1.tar.gz
mv horde-3.0.2 /home/httpd/html/horde
mv imp-h3-4.0.1 /home/httpd/html/horde/imp
mv turba-h3-2.0 /home/httpd/html/horde/turba
mv kronolith-h3-2.0.1 /home/httpd/html/horde/kronolith
mv mnemo-h3-2.0.1 /home/httpd/html/horde/mnemo
mv nag-h3-2.0.1 /home/httpd/html/horde/nag
mv ingo-h3-1.0.1 /home/httpd/html/horde/ingo
/sbin/e-smith/config show horde
cd /home/httpd/html/horde/scripts/sql
echo
echo "Copy Horde Database Password, to input on next screen, and"
echo "For use during the configuration of Horde."
echo
echo "Press any key to continue."
read x
pico -w create.mysql.sql
mysql < create.mysql.sql
cd ../../config
for f in *.dist; do cp $f basename $f .dist; done
rm hooks.php < /root/horde30/y
cd ../imp/config
for f in *.dist; do cp $f basename $f .dist; done
rm trailer.txt < /root/horde30/y
cd ../../turba/config
for f in *.dist; do cp $f basename $f .dist; done
clear
echo "Edit sources.php. Delete everyththing down to localsql section."
echo "For the localldap section:"
echo "For server use localhost"
echo "For root= use your domain, then com"
echo "Delete bind_dn and bind_password lines"
echo "Also delete personal_ldap, prefs, imsp, kolab-global, and kolab-local sections."
echo
echo "Press any key to continue."
read x
pico -w sources.php
cd ../scripts/sql
mysql horde < turba_objects.mysql.sql
cd ../../../kronolith/config
for f in *.dist; do cp $f basename $f .dist; done
cd ../scripts/sql
mysql horde < kronolith.mysql.sql
cd ../../../mnemo/config
for f in *.dist; do cp $f basename $f .dist; done
cd ../scripts/sql
mysql horde < mnemo.sql
cd ../../../nag/config
for f in *.dist; do cp $f basename $f .dist; done
cd ../scripts/sql
mysql horde < nag.sql
cd ../../../ingo/config
for f in *.dist; do cp $f basename $f .dist; done
mkdir -p /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf
cp /etc/e-smith/templates/etc/httpd/conf/httpd.conf/85HordeAccess /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/
cd /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/
clear
echo "Edit 85HordeAccess and remove lines 55-58."
echo
echo "Press any key to continue"
read x
pico -w 85HordeAccess
clear
cp /home/httpd/html/horde/test.php /home/httpd/html/horde/test1.php
/sbin/e-smith/expand-template /etc/php.ini
/sbin/e-smith/expand-template /etc/httpd/conf/httpd.conf
/etc/e-smith/events/actions/restart-httpd-full
chown -R
www.www /home/httpd/html/horde
clear
echo "With a web browser, visit <address of your host>/horde/test1.php and make sure all is looking good."
echo "If the settings look ok, then with a web browser, goto <address of your host>/horde to finish"
echo "setting up Horde."
echo "For further instructions, press any key to continue."
read x
rm /home/httpd/html/horde/test1.php
clear
echo
echo "In the sidebar on the left, go under Administration, to Setup:"
echo
echo "Choose Mail (imp)."
echo "On the External Utilities tab, enter /usr/bin/ispell and /usr/bin/gpg in the appropriate fields."
echo "For the location of the CA certificates bundle, enter /etc/httpd/conf/ssl.crt/ca-bundle.crt"
echo "Under the Menu Settings heading, click on imp, ingo, kronolith, mnemo, nag, turba."
echo
echo "Under Mailbox and Fetchmail, check for message previews and display message priority"
echo "The other options can be set depending on your preferences."
echo "Click Generate Mail Configuration button when finished."
echo
echo "Go back to Setup and choose Address Book (turba)"
echo "Under the Menu Settings heading, click on imp, ingo, kronolith, mnemo, nag, turba, then click Generate Address Book Configuration."
echo
echo "Go back to Setup and choose Calendar (kronolith)"
echo "Under the Menu Settings heading, click on imp, ingo, kronolith, mnemo, nag, turba."
echo "Under Reminder Settings, enter your server name and any email address (reminders@yourserver.com)."
echo "Click Generate Calendar Configuration."
echo
echo "Go back to Setup and choose Notes (mnemo)"
echo "Under the Menu Settings heading, click on imp, ingo, kronolith, mnemo, nag, turba. Click Generate Notes Configuration."
echo
echo "Go back to Setup and choose Tasks (nag)"
echo "Under the Menu Settings heading, click on imp, ingo, kronolith, mnemo, nag, turba. Click Generate Tasks Configuration."
echo
echo "Go back to Setup and choose Filters (ingo)"
echo "Under the Menu Settings heading, click on imp, ingo, kronolith, mnemo, nag, turba. Click Generate Filters Configuration"
echo
echo "Go back to Setup and choose Horde configuration."
echo "On the Database tab, make sure to enter the correct database password."
echo
echo "On the Authentication tab you will want to specify one or more users on"
echo "your system that Horde will treat as administrators (Those who are able"
echo "to change the configuration. You need to enter these as user@domain.com)."
echo "Set the backend to \"Let a horde application handle authentication\", and"
echo "set the application to imp."
echo
echo "On the Logging tab, set the log driver to Syslog, and the syslog facility to LOG_SYSLOG."
echo
echo "On the Preference System tab, set the preferences driver to SQL database. The preferences"
echo "table should be set to horde_prefs."
echo
echo "On the DataTree System tab, set the datatree driver to SQL database."
echo "The table should be set to horde_datatree."
echo
echo "On the Menu Settings tab, set the problem reporting to Never."
echo "Click Generate Horde Configuration button."
echo
echo "If the settings look ok, then press any key to continue."
read x
/sbin/e-smith/expand-template /home/httpd/html/horde/imp/config/servers.php
echo
clear
echo "Modify imp mailbox.php to add logged in user information."
echo "go to the end and paste the following contents."
echo
more /root/horde30/mailbox.php
echo
echo "Press enter to continue"
read x
pico -w /home/httpd/html/horde/imp/mailbox.php
clear
echo "Modify turba index.php to add logged in user information."
echo "go to the end paste the following contents."
echo
more /root/horde30/mailbox.php
echo
echo "Press enter to continue"
read x
pico -w /home/httpd/html/horde/turba/index.php
clear
echo "Modify kronolith index.php to add logged in user information."
echo "go to the end paste the following contents."
echo
more /root/horde30/mailbox.php
echo
echo "Press enter to continue"
read x
pico -w /home/httpd/html/horde/kronolith/index.php
clear
echo "Modify mnemo index.php to add logged in user information."
echo "go to the end paste the following contents."
echo
more /root/horde30/mailbox.php
echo
echo "Press enter to continue"
read x
pico -w /home/httpd/html/horde/mnemo/index.php
clear
echo "Modify nag index.php to add logged in user information."
echo "go to the end paste the following contents."
echo
more /root/horde30/mailbox.php
echo
echo "Press enter to continue"
read x
pico -w /home/httpd/html/horde/nag/index.php
clear
echo "Modify ingo index.php to add logged in user information."
echo "go to the end paste the following contents."
echo
more /root/horde30/mailbox.php
echo
echo "Press enter to continue"
read x
pico -w /home/httpd/html/horde/ingo/index.php
clear
echo "Modify imp login.php so phrase welcome to webmail is displayed."
echo "go to line 131 and replace that line with the below text in login.inc"
echo
more /root/horde30/implogin.php.txt
echo
echo "Press enter to continue"
read x
pico -w /home/httpd/html/horde/imp/login.php
clear
cd /home/httpd/html/horde
echo "Setting horde permissions. Type in www as the group."
echo "Press any key to continue."
sh scripts/set_perms.sh
#mkdir -p /root/horde20-restore
mkdir -p /root/horde30-restore
mkdir -p /root/horde30-restore/horde
mkdir -p /root/horde30-restore/imp
mkdir -p /root/horde30-restore/turba
mkdir -p /root/horde30-restore/kronolith
mkdir -p /root/horde30-restore/mnemo
mkdir -p /root/horde30-restore/nag
mkdir -p /root/horde30-restore/ingo
cp /home/httpd/html/horde/config/*.php /root/horde30-restore/horde
cp /home/httpd/html/horde/imp/config/*.php /root/horde30-restore/imp
cp /home/httpd/html/horde/turba/config/*.php /root/horde30-restore/turba
cp /home/httpd/html/horde/kronolith/config/*.php /root/horde30-restore/kronolith
cp /home/httpd/html/horde/mnemo/config/*.php /root/horde30-restore/mnemo
cp /home/httpd/html/horde/nag/config/*.php /root/horde30-restore/nag
cp /home/httpd/html/horde/ingo/config/*.php /root/horde30-restore/ingo
cp /root/horde30-restore.sh /root/horde30-restore
#cp /root/horde20-restore.sh /root/horde20-restore
rm /etc/e-smith/events/post-install/S55conf-horde-startup < /root/horde30/y
rm /etc/e-smith/events/post-install/S60conf-horde < /root/horde30/y
rm /etc/e-smith/events/post-install/S70conf-turba-startup < /root/horde30/y
rm /etc/e-smith/events/post-upgrade/S55conf-horde-startup < /root/horde30/y
rm /etc/e-smith/events/post-upgrade/S60conf-horde < /root/horde30/y
rm /etc/e-smith/events/post-upgrade/S70conf-turba-startup < /root/horde30/y
rm /etc/e-smith/events/email-update/S60conf-imp < /root/horde30/y
rm /etc/e-smith/events/email-update/S70conf-turba < /root/horde30/y
rm /etc/e-smith/events/bootstrap-console-save/S60conf-imp < /root/horde30/y
rm /etc/e-smith/events/bootstrap-console-save/S70conf-turba < /root/horde30/y
cd /root
echo
echo "Horde 3.0 Components have been successfully installed"
echo
==== Next File ====
/root/horde30/y
y
==== Next File ====
mailbox.php
echo "<font color=\"blue\">";
echo "<b><center>You are currently logged in as ";
echo $imp['user']."@";
echo $imp['maildomain'];
echo "</center></b>";
echo "</font>";
==== Next File ====
implogin.php.txt
$title = sprintf(_("Welcome to Web%s"), $registry->get('name', ($imp_auth) ? 'imp' : null));
==== horde30-restore.sh
horde30-restore
#!/bin/bash
echo "Restoring horde 3.0 settings
chown -R
www.www /home/httpd/html/horde
#chmod -R 777 /home/httpd/html/horde
cp /root/horde30-restore/horde/*.php /home/httpd/html/horde/config
cp /root/horde30-restore/imp/*.php /home/httpd/html/horde/imp/config
cp /root/horde30-restore/turba/*.php /home/httpd/html/horde/turba/config
cp /root/horde30-restore/kronolith/*.php /home/httpd/html/horde/kronolith/config
cp /root/horde30-restore/mnemo/*.php /home/httpd/html/horde/mnemo/config
cp /root/horde30-restore/nag/*.php /home/httpd/html/horde/nag/config
cp /root/horde30-restore/ingo/*.php /home/httpd/html/horde/ingo/config
cd /home/httpd/html/horde
echo "Setting horde permissions. Type in www as the group."
echo "Press any key to continue."
sh scripts/set_perms.sh
===========================
You don't have to use any of the optional files. Mailbox.php shows you who you are logged into the mail system as. You can get the same info, by clicking on the horde icon in the sidebar, but I like to see it at a glance. Use at your own risk. But, if you do use it, let me know your results. I really don't plan on supporting this version of the script much, so if someone likes it, feel free to do as you wish. The one I use at home just has items in different directories.
I also have a horde20-restore.sh that should put the symlinks back to the specific events directories in the event you need to roll back. I haven't tested this fully yet, but will post that once I do if anyone is interested. Templating of these horde components still needs to be done. Is anyone working on this?
If you got this far thanks for reading.
Good Luck,
JB