This manual is deprecated. Please visit https://groupoffice.readthedocs.io for the latest documentation. |
Installation
Contents
Hardware recommendation and system requirements
We recommend an x86 dual core processor of a speed that is not too low or too high on the price/performance ratio. The more RAM you put in the machine, the more users you can serve at the same time. You should start with at least 2GB but 4GB is recommended.
We recommend SAS disks in RAID 1 setup. This has the fastest performance and is redundant.
Read the system requirements
Easy installation on a dedicated Debian or Ubuntu server
This is the easiest way of installing Group-Office. With the debian packages everything is configured automatically and Group-Office updates will be installed automatically when you update your Debian or Ubuntu system.
Install Debian >= 5 or Ubuntu >=8.10
Note: All the commands here use "sudo". This is necessary on Ubuntu. If you are on Debian you can use the "su" command first and execute all the commands without "sudo".
Add the following line to /etc/apt/sources.list
deb http://repos.groupoffice.eu/ threesix main
You can do that easily by executing the following command in the terminal:
echo -e "\n## Group-Office repository\ndeb http://repos.groupoffice.eu/ threesix main" | sudo tee -a /etc/apt/sources.list
To authenticate the packages you need to import the public key by running the folowing commands: In ubuntu don't do this as root because you will have trouble with the gpg keyring permissions. On debian you can do this as root and omit the sudo command before the apt-key add command.
gpg --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 01F1AE44 gpg --export --armor 01F1AE44 | sudo apt-key add -
Note: The keyservers are often very slow. If the keyserver doesn't respond you may try this one instead: hkp://pgp.mit.edu
Open a terminal and become root. On Debian you must execute the command "su" and on Ubuntu you must execute the command "sudo -s" to become root.
sudo apt-get update sudo apt-get install groupoffice-com
This will install groupoffice on http://yourhostname/groupoffice/. If you want to change the location read Moving Group-Office from it's default location
Complete mailserver solution
Warning: If you install groupoffice-mailserver it will reconfigure the entire mail system. Use with caution and on a fresh Debian or Ubuntu installation Install it with the following command:
sudo apt-get install groupoffice-mailserver postfix postfix-mysql
groupoffice-com is the software itself
groupoffice-mailserver will configure postfix, dovecot and spamassassin
Video
Watch this on video to see how it's done:
<videoflash>XTaeEYb5lLE|560|340</videoflash>
Professional version
To install the professional version you'll need a license from Intermesh. Ioncube needs to be installed too.
Then install Ioncube:
- Look up the download link at http://www.ioncube.com/loaders.php. Right click on the download link and select copy link location.
- Go to your server terminal and do (The examples here are for the Linux x86 architecture. your filenames might be different):
sudo -s cd /usr/local wget <url from ioncube>/ioncube_loaders_xxx.tar.gz tar zxf ioncube_loaders_xxx.tar.gz rm ioncube_loaders_lin_xxx.tar.gz
Now edit /etc/php5/apache2/php.ini and /etc/php5/cli/php.ini and add this line at the bottom:
zend_extension=/usr/local/ioncube/ioncube_loader_lin_5.2.so
or execute:
echo -e "\nzend_extension=/usr/local/ioncube/ioncube_loader_lin_5.2.so" | sudo tee -a /etc/php5/apache2/php.ini echo -e "\nzend_extension=/usr/local/ioncube/ioncube_loader_lin_5.2.so" | sudo tee -a /etc/php5/cli/php.ini
php -v should show something like this now:
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies with the ionCube PHP Loader v3.3.1, Copyright (c) 2002-2009, by ionCube Ltd., and
Now restart apache and your system is ready to run Group-Office professional. The existing installation can easily be upgraded. Use the instuctions from Intermesh when you purchase the professional version to install it.
Note: If you have a license for groupoffice.example.com for example. You must change the $config['serverclient_server_url'] in /etc/groupoffice/globalconfig.inc.php. Replace localhost with groupoffice.example.com becuase the license doesn't allow localhost to be used.
Servermanager
groupoffice-servermanager allows you to create multiple groupoffice installations on the machine. Any domain that points to the server IP address will work.
If you want this you need to execute the following command to install it:
apt-get install groupoffice-servermanager
For the servermanager to work you need to raise the groupoffice-com user's permissions. It must be able to create new databases. Execute this SQL when you installed the groupoffice-servermanager package:
REVOKE ALL PRIVILEGES ON * . * FROM 'groupoffice-com'@'localhost'; GRANT ALL PRIVILEGES ON * . * TO 'groupoffice-com'@'localhost' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
After this you can add an installation with the name test.mydomain.com for example. If test.mydomain.com points to the server IP it should work. You can also test this by putting test.mydomain.com in your hosts file.
Connecting an external mail client
If Group-Office is configured with it's default mailserver configuration you can connect any IMAP client with these settings:
Host: your.hostname.com
Encryption: SSL
Protocol IMAP
Port: 993
Username: mailbox@hostname.com (Full e-mail address and not the Group-Office username)
Password: *****
Manual installation
Preparing the server
You need to make sure your system meets the system requirements. You can see it here:
http://www.group-office.com/Pricing+and+Sign+up/Server+version
You can test the system by running the test script:
http://group-office.svn.sourceforge.net/viewvc/*checkout*/group-office/trunk/www/install/gotest.php
This script should output all OK's for best performance.
You can follow this howto to setup an ideal Group-Office server:
When this is ready you need to have a connection to the server. Preferably you must have an SSH connection but an FTP connection will do too but it a little cumbersome. Apart from that you need a MySQL database with all privileges setup for the user.
So if you want Intermesh to install it then you must provide:
- A working domain where the test script runs OK
- An SSH or FTP connection to this domain
- The MySQL database connection parameters
Installing libwbxml
To Synchronize with Mobile phones you need a wbxml to xml and vice versa convertor. You need to install libwbxml.
Win32 executables are supplied with Group-Office.
For Max OS X you can find a package here: http://darwinports.com/ (Just search for wbxml)
On Debian / Ubuntu : just type: "apt-get install libwbxml2-utils" on the command line
You can find the source of the program here: http://libwbxml.aymerick.com/
An RPM for Redhat or CentOS:
http://atrpms.net/dist/el4/wbxml2/
Yum Alternative:
yum install libexpat.so.0 wbxml2
Installing TNEF
RPM for Redhat / CentOS http://dag.wieers.com/rpm/packages/tnef/tnef-1.3.3-1.2.el4.rf.i386.rpm
Debian: apt-get install tnef
Installing IonCube
Download from http://www.ioncube.com/loaders.php
Example:
wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz
tar -zxvf ioncube_loaders*
mv ioncube /usr/local/ioncube
Add "zend_extension = /usr/local/ioncube/ioncube_loader_lin_5.2.so" into your php.ini file before Zend references.
Installing Group-Office
When you've got all Ok's on the test script you can proceed with the Group-Office installation. Upload the Group-Office files and launch your browser. The installation process will appear and it will guide you through the installation.
PDF fonts
Group-Office can create PDF's. Like an invoice or calendar print. By default Group-Office users the default font Helvetica. This is fine in most cases so you don't need to do anything. This font is a standard PDF font and does need to be embedded in the PDF which results in a small PDF file (< 100kb). However when you need special characters like Chinese or Russian characters you'll need to select another font. The "dejavusans" font is available by default and containts all unicode characters. The drawback is that this font is about 500kb large and your PDF will grow with that size too. You can optimize the font by only incuding the characters you need. You can find more information about that here:
http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=tcpdf_fonts
To use a custom font put this in your config.php file:
$config['tcpdf_font']='dejavusans';
Installing Group-Office on Plesk using Centos
(Examples developed around a managed hosting account on mediatemple.com so there may be some differences that you will have to accommodate for)
In your administration panel you must turn on all of the developer tools and install YUM Directions can be found at http://kb.mediatemple.net/questions/1564/Installing+the+yum+package+manager
For those that have not installed YUM but have developer tools installed you can run these commands
- Install Python Iniparse (a new dependency of Yum)
rpm -Uvh http://mirror.centos.org/centos/5.2/os/i386/CentOS/python-iniparse-0.2.3-4.el5.noarch.rpm
- Install the Yum Metadata parser (another dependency of Yum)
rpm -Uvh http://mirror.centos.org/centos/5.2/os/i386/CentOS/yum-metadata-parser-1.1.2-2.el5.i386.rpm
- Now install Yum
rpm -Uvh http://mirror.centos.org/centos/5.2/os/i386/CentOS/yum-3.2.8-9.el5.centos.1.noarch.rpm
Next create a file call "vhost.conf" in your "/var/www/vhosts/<domain>/conf" folder path. Obviously change <domain> to your domain (ex. "/var/www/vhosts/group-office.com/conf")
<Directory /var/www/vhosts/<domain>/httpdocs> php_admin_value open_basedir none </Directory>
Once that file is in place run this command
/usr/local/psa/admin/sbin/websrvmng -v -a
Once you have the above done you should be able to install the basic functions of Group-Office.
Install libwbxml
rpm -Uvh http://dl.atrpms.net/all/wbxml2-0.9.2-5.el4.at.i386.rpm
Install TNEF
rpm -Uvh http://dag.wieers.com/rpm/packages/tnef/tnef-1.3.3-1.2.el4.rf.i386.rpm
Special config values
- Log a user out after inactivity:
$config['sesssion_inactivity_timeout']=300;