This manual is deprecated. Please visit https://groupoffice.readthedocs.io for the latest documentation.

Installation

From Group-Office Groupware and CRM Documentation
Revision as of 09:29, 11 May 2012 by Admin (Talk | contribs) (Easy installation on a dedicated Debian or Ubuntu server)

Jump to: navigation, search

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/ threeseven 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/ threeseven 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.

Note: The 4.0 beta version is very stable now, and the mailserver package of 3.7 does not work on Ubuntu 12.04. If you want to install the 4.0 version replace threeseven with fourzero.

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 on a Debian or Ubuntu installation without a mailserver configuration. 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:

  1. Look up the download link at http://www.ioncube.com/loaders.php. Right click on the download link and select copy link location.
  2. 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 create /etc/php5/conf.d/ioncube.ini and add this line:

Note: Don't forget to replace the x with the correct version number!

zend_extension=/usr/local/ioncube/ioncube_loader_lin_5.x.so

or execute:

echo -e "\nzend_extension=/usr/local/ioncube/ioncube_loader_lin_5.x.so" | sudo tee -a /etc/php5/conf.d/ioncube.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. If you change the admin password you should change the password in this file too:

GO will connect to this installation to add a mailbox. It is the full url to the Group-Office installation with the postfixadmin module installed.
$config['serverclient_server_url']='http://localhost/groupoffice/';
#The admin account of GO. Remember to change the password here too if you change it.
$config['serverclient_username']='administrator';
$config['serverclient_password']='somepass';


Put the licenses from the Intermesh Software Shop in /usr/share/groupoffice and then run:

apt-get install groupoffice-pro

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/branches/groupoffice-3.7/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:

http://www.howtoforge.com/groupware-server-with-group-office-postfix-dovecot-spamassassin-on-debian-lenny

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:

  1. A working domain where the test script runs OK
  2. An SSH or FTP connection to this domain
  3. 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';

Create own PDF fonts from TTF font files

(Note: This functionality is available in Group-Office 3.7.43 and higher)

You have the possibility to create your own fonts for PDF.

To accomplish this you need to do some simple tasks:

  1. Search for an .ttf font file and upload it to the Group-Office root dir. (May be an other dir but the dir must be readable by the webserver.)
  2. Make the fonts ("GO_DIR"/classes/tcpdf/fonts) dir writable for the webserver so apache can create the new font files.
  3. Open the config.php of group-office and add the following parameter: $config['tcpdf_ttf_font']="path_to_new_font/new_font.ttf";
  4. Now log-in into your Group-Office installation and generate some pdf. (The script will create the new font files for your font in the "GO_DIR"/classes/tcpdf/fonts folder.)
  5. After you have verified that the new font files are created you need to set the new font to be used for PDF. Therefore you need to open the config.php file again and set the following parameter: $config['tcpdf_font']='new_font'; This needs to be ONLY the name without the extension of the generated php file in the "fonts" folder.
  6. important step: You need to remove (or comment out) the $config['tcpdf_ttf_font'] line from the config.php file. (If you don't do this, the font will be removed and recreated in the fonts folder every time.)
  7. To clean up the files you can now remove the .ttf font file from the Group-Office root dir.

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

  1. 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
  1. 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
  1. 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

  1. Log a user out after inactivity:
    $config['sesssion_inactivity_timeout']=300;