Updating eGroupware from 1.8.004 to 1.8.005 on FreeNAS

Updating eGroupware in a FreeNas Jail

The version of eGroupware that is packaged in the FreeBSD ports tree has a base phpgwapi of 1.8.004 (as at 30 December 2013).  There has been an update to the base package and this is now at version 1.8.005. The change log for the update is here.

This mini-guide describes the steps to update eGroupware running in a FreeNAS Jail

Before starting I would highly recommend reading the eGroupware Update Instructions found here. This post follows the steps there, but records the installation in to a FreeNAS jail, which isn’t covered in the documentation directly.

**** WARNING ****

Follow these instructions at your own risk.  This process worked for me. This does not guarantee that it will work for you.

Backup all your data before performing any of these steps.

Before you start

Check your config user password

Make sure you have the user name and password to get into the setup program. This is the top option in the login screen shown here.

eGroupware Configuration Login ScreenWe will use this after the upgrade to make sure that all the applications are installed correctly.

Backup your database

If, in the worst case your upgrade doesn’t go to plan you can restore the earlier version.  If you are using phpMyAdmin you can use this, or you can use the command line utilities.

Get the software

There are pre-built RPMs at http://www.egroupware.org/download. The download I chose was the EGroupware 1.8 daily  snapshot. This is near the bottom of the list.  You can also download the tar.gz file from their sourceforge page.

As this was an upgrade, all the required prerequisites were already be in place, so nothing else was needed.

Copy the tar file across to your FreeNAS jail.

Installing the software

Unpack the software

I moved the 1.8-snapshot.tar.bz2 file to the /tmp directory and unpacked it there.

 root@groupware:/tmp # tar xvZf 1.8-snapshot.tar.bz2

This created the directory /tmp/1.8-snapshot. Rename the directory to eg (or whatever your application directory under /usr/local/www is called. We will also change the ownership to the Apache user (www).

root@groupware:/tmp # mv 1.8-snapshot eg
root@groupware:/tmp # chown -R www:www eg

Stop the web server

Make sure that no one is using the system and stop the web server

root@groupware:/ # service apache22 start

Change to the /usr/local/www directory and move existing instance of eGroupware to a backup directory.

We will then copy (or move) the new system across and then copy the working header.inc.php file from the original directory to our new one.

root@groupware:/tmp # cd /usr/local/www
root@groupware:/usr/local/www # mv eg eg-old
root@groupware:/usr/local/www # mv /tmp/eg .
root@groupware:/usr/local/www # cp eg-old/header.inc.php eg
root@groupware:/usr/local/www # ls eg
.htaccess               doc                     groupdav.php            login.php               phpsysinfo              sambaadmin              timesheet
about.php               egw-pear                header.inc.php          logout.php              polls                   set_box.php             tracker
addressbook             emailadmin              header.inc.php.template manual                  preferences             setup                   webdav.php
admin                   etemplate               home                    news_admin              projectmanager          sitemgr                 wiki
anon_wrapper.php        felamimail              importexport            notifications           redirect.php            soap.php                xajax.php
bookmarks               filemanager             index.php               phpbrain                registration            status.php              xmlrpc.php
calendar                files                   infolog                 phpfreechat             resources               svn-helper.php
developer_tools         groupdav.htaccess       json.php                phpgwapi                rpc.php                 syncml
root@groupware:/usr/local/www #

The new system should now be in place. Double check that the permissions are correct and that you’ve copied the header.inc.php file across correctly.

Restart the Apache service

root@groupware:/usr/local/www # service apache22 start
Performing sanity check on apache22 configuration:
Syntax OK
Starting apache22.
root@groupware:/usr/local/www #

Check the configuration

Go to the setup screen (http://server/eg/setup.php). Use your sever name and path here.

Update any applications

At the main setup screen select option 5 (set up applications)

eGroupware Configuration Setup ScreenThis will show you a list of the installed applications. If any of your databases need updating, these will be indicated.  Upgrade as necessary.

Total time required

Excluding the initial database backup which is dependent on your volume of data, the total time was less than 30 minutes.  The amount of time the web service was down was a  matter of minutes.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.