Admins/Install Howto

From Tine 2.0 - Wiki

This guide describes how to install Tine20 in a MySQL database (including account and authentication backend).

Check the system requirements to find out, which other databases are supported and adapt the configuration to your needs.


Install packages

Download from tine20.org

Download the latest version of Tine20 from http://www.tine20.org/download/ and unzip the archive into your documentroot (or a subfolder) of your webserver.

Install Debian/Ubuntu packages

Alternatively you can install Debian/Ubuntu packages from the Tine 2.0 deb repository.

If you choose this installation method, you can skip steps 2 and 3 (Base configuration file config.inc.php / Preparing the database) as this is handled already by the install script.

1. Add the repository to /etc/apt/sources.list.d/tine20org.list


Ubuntu (only works for 14.04 and 16.04)

echo "deb https://packages.tine20.org/ubuntu $(lsb_release -sc) stable" > /etc/apt/sources.list.d/tine20org.list

OR

echo "deb https://packages.tine20.org/ubuntu trusty stable" > /etc/apt/sources.list.d/tine20org.list

Debian (8)

echo "deb https://packages.tine20.org/debian $(lsb_release -sc) stable" > /etc/apt/sources.list.d/tine20org.list

OR

echo "deb https://packages.tine20.org/debian jessie stable" > /etc/apt/sources.list.d/tine20org.list


2. Import the key (as root or with sudo)

(new repo key id since 2016-11-24)

apt-key adv --recv-keys --keyserver keys.gnupg.net 8825FD82

or download via wget from the repo and use "apt-key add"

3. Update sources (as root or with sudo)

apt-get update


4. Install Tine 2.0 (as root or with sudo)

apt-get install tine20


5. go to http://www.tine20.org/wiki/index.php/Admins/Install_Howto#Start_the_setup_GUI

Install Fedora packages

First import the public key used to sign the repository:<b/>

rpm --import http://packages.tine20.org/fedora/repo-key.asc


Then create the file /etc/yum.repos.d/tine20.org.repo with following content:

[tine20.org-stable] 
name=Tine20.org repository
baseurl=http://packages.tine20.org/fedora/stable/$releasever/$basearch
enabled=1
#metadata_expire=7d
gpgcheck=1
gpgkey=http://packages.tine20.org/fedora/repo-key.asc


Now update the metadata cache...

yum makecache


... and now you can install Tine 2.0 with following command:

yum install tine20

Base configuration file config.inc.php

Tine20 requires a minimal configuration file, that contains at least information about how to connect to the database and an user account for the setup.

You can copy and adapt the sample file (config.inc.php.dist) or create your own config.inc.php with the following content:

<?php
  return array(
    'database' => array(
      'host'        => '{Database hostname}',
      'dbname'      => '{Database name}',
      'username'    => '{Database username}',
      'password'    => '{Database password}',
      'port'        => '3306',
      'adapter'     => 'pdo_mysql',
      'tableprefix' => 'tine20_',
    ),
    'setupuser' => array(
      'username'    => 'tine20setup',
      'password'    => 'setup'
    ),
  );

The user you specify here is just for entering the setup. For administrating you will create an initial admin user during the setup process.


Preparing the database

Connect to your MySQL database server using your favorite client. Create a database with UTF8 charset and connect user with the data you had entered into the 'database' array of your 'config.inc.php':

mysql> CREATE DATABASE tine20db DEFAULT CHARACTER SET 'UTF8';
mysql> GRANT ALL PRIVILEGES ON tine20db.* TO 'tine20user'@'localhost' IDENTIFIED BY 'tine20pw';

The first command creates the database 'tine20db'. The second one adds a user 'tine20user' with password 'tine20pw' and all privileges on the previously created database. Connections of that user are allowed only from localhost.


Start the setup GUI

Open your favorite web browser and go to http://your_webserver/path_to_tine/setup.php

Log in with the username/password you filled into the 'setupuser' array of your config.inc.php.


Terms and conditions

After you have read the license and privacy policy, accept both by checking the two boxes below them and clicking the 'Accept' button.


Setup Checks

If all checks are successfull, you see a green check mark behind them and you can continue.

If one or more checks failed, you have to fix these problems first. See the system requirements and FAQ for first point of help and consult your PHP and database server documentation.


Config Manager

The 'setup authentication' and 'database' related fields should already been filled correctly by the information you had entered in config.inc.php.


Optional:

Logging: Specify a logfile for debugging purposes. Caching: Folder for Tine20 related caching files. Temporary files: Folder for temporary files created by Tine20. Session files: Folder for Tine20 session files (if not specified, the folder defined in the variable 'session.save_path' of your php.ini is used).

The folders you specify must already exist and be writeable by the webserver user. For security reasons, no other user should have access to them! Also for security reasons this files/folders should never be below your webservers documentroot!


To save your settings, click the 'save config' button. If your config.inc.php is not writeable by your webserver user, you have to download and replace the file of your installation.

Even if you haven't changed anything, you should re-save the file, because the password of your setup user is encrypted and replaced in your configuration file.


Authentication/Accounts

Authentication provider: This is the system Tine20 authenticate against. Leave the backend at 'SQL' and enter an initial admin login name and password. This account you can use later for administrating your installation. Leave all other fields at their default.

Accounts storage: This is the place where Tine20 saves it's account information. Leave the backend at 'SQL' and change the other values to your needs.


Optional:

Redirect settings: Configure redirecting to a different page then the login screen.


If you have finished filling this dialog, click to 'Save config and install'. This could take a short while. Setup creates the initial database and configuration.


Email

If you plan to use FeLaMiMail, you have to configure your Imap and Smtp server here. If you need notifcation (e. g. from calendar events), you only need to fill the Stmp section. Otherwise you can leave all untouched here.

If you make any changes, save them by clicking to 'Save config'.


Application Manager

This menu allows you to install/uninstall different modules of Tine20. Right-click and choose 'Install application' creates the neccessary requirements in your database and allow users to access this applications.

There are three applications preinstalled (Tinebase, Admin, Addressbook). They are neccessary for Tine20. Uninstalling will damage your installation!


Securing your Tine20 installation

The folder containing your Tine20 installation, needs just to be readable by the user account your webserver is executed as.

If you want your config.inc.php to be updated via GUI, then this is the only file that has to be writeable for the webserver account. If you want this file also to be read-only, you can download the changed file during the GUI setup process.


Administrating Tine20 (Optional)

After finishing the setup process, go to the Tine20 login page http://your_webserver/path_to_tine/ and login with the initial admin account you had created. Click to the tab 'Tine 2.0' and choose the 'Admin' module.


User

Here you can add/modify/remove/enable/disable users to/of your installation. Every user has to be member of at least one (primary) group.


Groups

Here you can add/modify/remove groups to/of your installation. Users can be member in any number of groups.


Roles

Roles allow you to specify privileges based on groups.

Example: If you want to allow/disallow a group to access the calendar, you create roles with the corresponding privileges and add the groups to them.


Computers

If you manage Samba with your Tine20 installation, you can add machine accounts here.


Applications

Allows you to (temporary) enable/disable installed applications and configure them (if settings are available) by right-clicking.


Access Log

Tine20 Logfile (inside the database).

How to purge old entries, see the FAQ.


Shared Tags

Here you can create tags that are available for all users in specified/all applications.


Importing

If you migrate from Egroupware, see the eGW Migration Howto.

If you plan to import users from a CSV-File, see the User Import Howto.


Optimizing server settings for tine 2.0

Tine 2.0 sends a lot of data when request are sent to it. An (optional) possible solution is to enable the zlib compression within PHP5. For that add/change the following settings in your php.ini

 zlib.output_compression = On
 zlib.output_compression_level = -1

see also: http://php.net/manual/de/zlib.configuration.php and https://www.tine20.org/forum/viewtopic.php?f=10&t=4582


More installation related information

  • Install/Configuration HowTo (in german) for version Milan (2012-03):

http://www.pro-linux.de/artikel/2/1570/tine-20-installation-und-grundkonfiguration.html

  • Install HowTo (in german) with lighttpd (Debian 6.0.4 Squeeze)

http://www.andysblog.de/tine-2-0-lighttpd-als-webserver

  • Install HowTo (in german) Tine 2.0, Debian Wheezy und PostgreSQL

http://www.andysblog.de/tine-2-0-debian-wheezy-und-postgresql