-
Notifications
You must be signed in to change notification settings - Fork 283
Installation
Kimai is an open source PHP based time tracking system released under the GNU GPL.
This document describes:
- System requirements for Kimai
- Installation routine
- Upgrade routine
Kimai is accessed through a web browser. Kimai supports the following web browsers:
- Internet Explorer 11 and later
- Microsoft Edge
- Google Chrome (Windows, MacOS X, Linux)
- Firefox (Windows, MacOS X, Linux)
- Safari on MacOS X
- and other compatible modern browsers
Kimai requires a web server with a PHP environment and a database. The minimum system requirements for running Kimai are:
- Webserver capable of running PHP applications (Apache, Nginx, IIS or other)
- PHP between 5.5 and 7.3
- Required PHP extensions:
mysqli
,iconv
andxml
- MySQL 4.3 or higher
- more than 100 MB of disk space
The following requirements must be met on the server installation:
- FTP or shell access to set the correct filesystem permissions.
Kimai works with MySQL in the above mentioned versions. It will also work on compatible "drop-in" replacements like MariaDB or Percona.
The MySQL user needs a least the following privileges on the Kimai database:
- SELECT, INSERT, UPDATE, DELETE
- CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES
- memory_limit set to at least 64M
- max_execution_time set to at least 30s (60s recommended)
- register_globals disabled
- AllowOverride in the Apache configuration includes "Indexes" and "FileInfo" (see FAQ below)
Your PHP needs to support the following extensions. Install will check if these are available.
-
Please make sure all of these php modules are activated:
- dom
- mysqli
- xml
- zip
- zlib
-
In case you want to make use of the SOAP API, please also activate this module:
- soap
This is a basic setup for best performance and increased functionality:
- Apache with mod_expires enabled
- MySQL 5.5 or newer
- PHP
- version 7.0 or later
- memory_limit set to at least 128M
- max_execution_time set to at least 60s
- max_input_vars set to at least 1500
- Additional PHP extensions:
- PHP opcode cache, i.e.: apc, xcache, eaccelerator, Zend Optimizer, wincache (in case of an IIS installation)
- apcu caching (with at least 100 MB of memory available)
- mbstring
- PHP access to
/dev/urandom
or/dev/random
on Unix-like platforms for increased security. Make sure to add/dev/random:/dev/urandom
toopen_basedir
settings if you use it. If these paths are unavailable, Kimai will attempt to simulate random number generation. This is less secure, reduces performance and throws out warnings in the Kimai log.
If you have SSH access to your webserver, this is the recommended way of setting up Kimai:
Uncompress the zip file on the Document root of your web-server:
cd /var/www/
mkdir kimai
cd kimai
wget https://github.com/kimai/kimai1/releases/download/1.3.2/kimai_1.3.2.zip
unzip kimai_1.3.2.zip
Important: If you use GIT to fetch the sources, use the following command:
cd /var/www/
git clone https://github.com/kimai/kimai1.git
git fetch
git checkout 1.3.2
In case you only have FTP or SFTP access to your hosting environment, you can still install Kimai, but you won't easily be able to upgrade your installation once a new release is out.
Please note that this is not a recommended setup!
- Uncompress
kimai.zip
locally - Delete all files except:
includes/autoconf.php
- any self made invoice templates under
extensions/ki_invoice/invoices/
- any self written extensions under
extensions/
- Upload all files and subdirectories directly in your Document Root (where files that are served by your webserver are located).
Now access the web server using a web browser. You will be redirected to the Installer which will walk you through the steps for setting up Kimai for the first time.
It will check if your environment conforms to the minimum system requirements and gives you some suggestions on what to change in case there are any discrepancies.
- Remove the
install
directory after the installation - Remove the
updater
directory after the installation
- Install apache (or any other webserver)
- Install mysqli
- Install php
- Install additional required module php-xml with
sudo apt-get install php-xml
Extract the Kimai release zip/tarball into a server directory accessible from the outside and navigate to this location using your browser. A step-by-step installation program is included with every new release of Kimai. Follow the instructions of the installer and correct missing or incorrect permissions using your FTP or shell account.
After you removed the “install” directory you may login into Kimai using the following credentials:
- user: admin
- password: changeme
Change the administrator password using the settings dialog. Keeping “changeme” as your password is a major security implication!
If you are using Apache web server, check the Apache error log for specifics on the error. The cause might be some missing module, or some syntax error in your .htaccess file. The error log is usually located in /var/log/apache2 or /var/log/httpd. Check with your hosting provider if you are in doubt where the logs are located.