Skip to content

EN:Install Howto

Michael Spahn edited this page Feb 17, 2019 · 11 revisions

This guide describes how to install Tine 2.0 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 Tine 2.0 from https://packages.tine20.org/source/ and unzip the archive(s) into your document root (or a subfolder) of your webserver.

Install Debian/Ubuntu packages

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

Note: Community Edition packages are only provided for the latest LTS releases of Ubuntu and Debian. If you have older versions, think about using the Tine 2.0 Business Edition.

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 18.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 bionic stable" > /etc/apt/sources.list.d/tine20org.list

Debian (9)

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 stretch stable" > /etc/apt/sources.list.d/tine20org.list
  1. Import the key (as root or with sudo)
apt-key adv --recv-keys --keyserver keys.gnupg.net 8825FD82

if you get this error:

gpg: failed to start the dirmngr '/usr/bin/dirmngr': No such file or directory
gpg: connecting dirmngr at '/tmp/apt-key-gpghome.wmr2cMEj2F/S.dirmngr' failed: No such file or directory
gpg: keyserver receive failed: No dirmngr

you need to install the dirmngr:

apt install dirmngr

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

  1. Update sources (as root or with sudo)
apt-get update
  1. Install Tine 2.0 (as root or with sudo)
apt-get install tine20
  1. go to http://www.tine20.org/wiki/index.php/Admins/Install_Howto#Start_the_setup_GUI

Install openSUSE/SLE packages

Packages can be found at https://build.opensuse.org/package/show/network:groupware:tine20/tine20

Install Fedora packages

NOTE: There are no current Fedora packages at the moment. We are looking for a maintainer for them.

First import the public key used to sign the repository: 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=Tine 2.0.org repository
baseurl=http://packages.tine20.org/fedora/stable/$releasever/$basearch
enabled=1
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

Tine 2.0 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 Tine 2.0 related caching files. Temporary files: Folder for temporary files created by Tine 2.0. Session files: Folder for Tine 2.0 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 Tine 2.0 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 Tine 2.0 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 Tine 2.0. 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 Tine 2.0. Uninstalling will damage your installation!

Securing your Tine 2.0 installation

The folder containing your Tine 2.0 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 Tine 2.0 (Optional)

After finishing the setup process, go to the Tine 2.0 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 Tine 2.0 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

Tine 2.0 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

You can’t perform that action at this time.