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

Difference between revisions of "Installation"

From Group-Office Groupware and CRM Documentation
Jump to: navigation, search
(Create own PDF fonts from TTF font files)
(Redirected page to Installation manual)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
==Hardware recommendation and system requirements==
+
#REDIRECT [[Installation manual]]
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 [http://www.group-office.com/Pricing%20and%20Sign%20up/Server+version 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
+
 
+
<b>Note:</b> 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
+
 
+
<pre>
+
deb http://repos.groupoffice.eu/ threeseven main
+
</pre>
+
 
+
You can do that easily by executing the following command in the terminal:
+
 
+
<pre>
+
echo -e "\n## Group-Office repository\ndeb http://repos.groupoffice.eu/ threeseven main" | sudo tee -a /etc/apt/sources.list
+
</pre>
+
 
+
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.
+
 
+
<pre>
+
gpg --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 01F1AE44
+
gpg --export --armor 01F1AE44 | sudo apt-key add -
+
</pre>
+
 
+
<b>Note:</b> 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.
+
 
+
<pre>
+
sudo apt-get update
+
sudo apt-get install groupoffice-com
+
</pre>
+
 
+
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===
+
<b>Warning:</b> 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:
+
 
+
<pre>
+
sudo apt-get install groupoffice-mailserver postfix postfix-mysql
+
</pre>
+
 
+
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):
+
<pre>
+
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
+
</pre>
+
 
+
Now create /etc/php5/conf.d/ioncube.ini and add this line:
+
 
+
<b>Note:</b> Don't forget to replace the x with the correct version number!
+
<pre>
+
zend_extension=/usr/local/ioncube/ioncube_loader_lin_5.x.so
+
</pre>
+
 
+
or execute:
+
 
+
<pre>
+
echo -e "\nzend_extension=/usr/local/ioncube/ioncube_loader_lin_5.x.so" | sudo tee -a /etc/php5/conf.d/ioncube.ini
+
</pre>
+
 
+
php -v should show something like this now:
+
 
+
<pre>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</pre>
+
 
+
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.
+
 
+
<b>Note:</b> 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:
+
 
+
<pre>
+
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';
+
</pre>
+
 
+
 
+
Put the licenses from the Intermesh Software Shop in /usr/share/groupoffice and then run:
+
 
+
<pre>apt-get install groupoffice-pro</pre>
+
 
+
===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:
+
 
+
<pre>
+
apt-get install groupoffice-servermanager
+
</pre>
+
 
+
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:
+
 
+
<pre>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 ;</pre>
+
 
+
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<br />
+
Encryption: SSL<br />
+
Protocol IMAP<br />
+
Port: 993<br />
+
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 <b>SSH connection</b> but an <b>FTP connection</b> will do too but it a little cumbersome. Apart from that you need a <b>MySQL</b> 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:
+
 
+
<pre>
+
$config['tcpdf_font']='dejavusans';
+
</pre>
+
 
+
==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:
+
 
+
# 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.)
+
# Make the fonts ("GO_DIR"/classes/tcpdf/fonts) dir writable for the webserver so apache can create the new font files.
+
# Open the config.php of group-office and add the following parameter: $config['tcpdf_ttf_font']="path_to_new_font/new_font.ttf";
+
# 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.)
+
# 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.
+
# '''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.)
+
# 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
+
# 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:<br />$config['sesssion_inactivity_timeout']=300;
+

Latest revision as of 15:19, 6 July 2012