Manual upgrade from the Tarball
Note
In version 6.8 we’ve switched from Ioncube to SourceGuardian. Please make sure that’s installed if you’re using the professional version.
We strongly recommend that you use our Debian packages or Docker instead of the tarball. But if you really want use it then follow these steps:
Grab the version to install from https://github.com/Intermesh/groupoffice/releases Remember to upgrade to each 6.x major release step by step. Grab older releases from: https://sourceforge.net/projects/group-office/files/
Make sure your system meets the System requirements.
Make sure you’re on the latest minor release of your current version (For example 6.2.112 or 6.3.76).
When running 6.2 make sure you’ve installed the “customfields” and “search” modules as they will become part of the Group-Office core.
If you have the pro version then install the latest license key via the main menu or via CLI:
sudo -u www-data php ./cli.php core/System/setLicense --key=YOURKEY
If you are coming from version 5.0 or lower. Then you must install the projects2 module in 6.2 to migrate your existing data. This can’t be done in a later version!
Move away your old source files to a backup location.
Warning
Do not copy the new files over the existing. This will result in a broken system.
Put the new files at the right location.
If exists copy your old config.php and license file to the new files. It is good practice to keep these files one directory higher then the Group-Office source so you have a complete clean code base.
If you have any studio-generated modules, copy these into the
go/modules
folder. Please note that if you don’t, the studio-generated modules will be entirely disabled.Visit http://yourdomain/install/ and follow instructions.
Check if you have the right cron job in place:
* * * * * www-data php <YOURDOCUMENTROOT>/cron.php
Note
If you’re upgrading from 6.2 to 6.3 or higher and you are running the CGI version of PHP then you need to add a rewrite rule to add the “Authorization” header. Read more at Authentication with CGI or FastCGI.
Registering a license
When upgrading from 6.4 to 6.5, you may run into a licensing issue.
Since 6.5, it is possible to install or reinstall a license from within Group Office itself, so you do not need to download the license file anymore. Make sure that you are logged as an administrator, click on the menu and select ‘Register’.
Click the ‘Get license now’ button, log in to the Group Office website, find your license key and paste it in the text box.
Update script
I’ve written a simple bash script that downloads the latest PHP 7.1+ version of Group-Office and replaces all code in the given directory.
You can run it like this:
./update_groupoffice.sh <DIR_OF GROUPOFFICE>
Warning
Please backup before using!
#!/bin/bash
set -e
if [ -z "$1" ]
then
echo "Please supply the target directory"
exit 1;
fi
TARGET=$1
if [ ! -d "$TARGET" ]; then
echo "$TARGET doesn't exist!"
exit 1;
fi
if [ ! -f "$TARGET/version.php" ]; then
echo "$TARGET is not a Group-Office directory!"
exit 1
fi
get_latest_release() {
curl --silent "https://api.github.com/repos/intermesh/groupoffice/releases/latest" | # Get latest release from GitHub api
grep '"tag_name":' | # Get tag line
sed -E 's/.*"v([^"]+)".*/\1/' # Pluck JSON value
}
if [ -z "$2" ]
then
VERSION=`get_latest_release`
else
VERSION=$2;
fi
read -r -p "Are you sure you want to update directory '$TARGET' to Group-Office version '$VERSION'? [y/N]" response;
if [[ "$response" != "y" ]]; then
exit 0
fi
rm -rf goupdate
mkdir -p goupdate
cd goupdate
wget https://github.com/Intermesh/groupoffice/releases/download/v$VERSION/groupoffice-$VERSION.tar.gz
tar zxf groupoffice-$VERSION.tar.gz
GO=`ls -d */ | grep groupoffice`
echo "Source dir: $GO"
cd $GO
for f in *; do
rm -rf ../../$TARGET/$f
cp -a $f ../../$TARGET
done
cd ../../