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
Add the following line to /etc/apt/sources.list
deb http://repos.groupoffice.eu/ three main
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 -
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.
apt-get update apt-get install groupoffice-com groupoffice-mailserver
Note: If you install groupoffice-mailserver it will reconfigure the entire mail system. Use with caution and on a fresh Debian or Ubuntu installation
groupoffice-com is the software itself
groupoffice-mailserver will configure postfix, dovecot and spamassassin
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):
cd /usr/local wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz tar zxf ioncube_loaders_lin_x86.tar.gz rm ioncube_loaders_lin_x86.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
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.
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.
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 /var/www/html/ioncube
Add "zend_extension = /var/www/html/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
Webshop module installation
This part is the install manual for the webshop module, which will be made public in the near future.
Module install
The first step is to copy the demo webshop template directory <GO path>/modules/webshop/install/templates/webshop-demo to <GO path>/modules/cms/templates. This has to be done because there can be only one template directory, which is the one in the cms directory.
The webshop module won't work without the billing and website (cms) modules. Ensure that these are installed first before installing the webshop module. After the webshop module installation in the GO module management module, do the usual GO restart that usually has to be done after each new module installation.
At this point, you can already view the demo webshop and its contents. The webshop and webshop page contents can be managed in the website (cms) module, just like any other site managed using the cms module. Note the new button 'webshop' on the right side of the toolbar. This lets you configure the webshop. The most important webshop settings are to which site and to which product category root the webshop is linked. You can select any category, made in the billing module's catalog dialog, as root.
Set payment methods
To add a new way customers can pay you, first go to the Payments tab of the webshop dialog. You can add the new payment methods you want here, such as iDeal and Multipay. Apart from doing the GO configurations for your webshop payment methods, you also have to make the necessary arrangements with your own bank, for which we will give some general guidelines.
iDeal
All the selectable iDeal payment methods end with 'ik', e.g. 'rik' for Rabobank InternetKassa and 'abnamro_ik' for ABN-AMRO InternetKassa. It is advised to only use the iDeal payment method with a bank with which you have an account. As for the GO configurations, double-click on the newly added iDeal payment method in the payment method panel to call the payment method form, and add the following lines in the 'options' textarea, making your own individual adjustments:
<options><PSPID>Your personal iDeal ID</PSPID> <language>EN</language> <currency>EUR</currency> <SHA1in_key>A code of at least 16 characters.</SHA1in_key> <SHA1out_key>Another code of at least 16 characters.</SHA1out_key> </options>
You should keep your PSPID, SHA1in_key and SHA1out_key in a safe place. You need all three when you do the iDeal configurations with your bank.
Orderstatussen instellen...
As for the arrangements with your bank, it is advised to start with the iDeal test environments. You can apply for a free iDeal test account with any iDeal bank from their websites. Register as the PSPID you have previously written down. There are manuals and documents you can read in the bank's iDeal testenvironment. The specific names of the manuals vary with each bank, but of particular interest are the back-office user manual and the basic integration manual. As the webshop administrator, you need to read the back-office user manual before proceeding.
Go to Configure > Technical Information > Data and origin verification and type in the SHA1in_key you previously entered in GO. This code will be sent to your bank with each payment request from the customer, to verify that the request is not tampered with really originates from your webshop.
Go to Configure > Technical Information > Transaction feedback, check "I want to receive transaction feedback parameters" and type in the SHA1out_key you previously entered in GO. The bank will send this code to you after each finalization of a payment request, to verify that the feedback is not tampered with and really originates from your bank. Your database won't be updated upon every transaction without this code.