Kimai Zeiterfassung installieren – Ubuntu 20.04

K

imai ist ein Open Source Projekt für die Zeiterfassung am Arbeitsplatz wie z.B. Steuerberaterpraxen. Die App kann als Self Hosted auf deinem eigenen Server oder HomeLab mit Proxmox als LXC Container installiert werden. Kimai gibt es in verschiedenen Sprachen und wird als browserbasiertes Webinterface verwaltet.

Das Tool gibt es als klassische Linuxinstallation (Ubuntu) oder als Docker.

Ubuntu 20.04. Installation

System auf den neusten Stand bringen

apt update
apt upgrade

Zusatzpakete installieren

apt install git unzip curl

Datenbank MariaDB installieren

apt install mariadb-server mariadb-client

Webserver Nginx installieren

apt install nginx

Für php8 Repository Ondrej PHP hinzufügen

apt install software-properties-common
add-apt-repository ppa:ondrej/php

PHP8 Installieren

apt install php8.0-fpm php8.0-cli php8.0-common php8.0-opcache php8.0-readline php8.0-xml php8.0-zip php8.0-intl php8.0-gd php8.0-mbstring php8.0-mysql php8.0-curl

Composer installieren

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

Installer verified! – Nur fortfahren bei dieser Meldung.

https://getcomposer.org/download/

php composer-setup.php
php -r "unlink('composer-setup.php');"
chmod +x composer.phar
mv composer.phar /usr/bin/composer

Datenbank erstellen

Mit MariaDB verbinden

sudo su
mysql -u root

Datenbankbefehle

CREATE DATABASE IF NOT EXISTS `kimai`;
CREATE USER IF NOT EXISTS `kimai`@127.0.0.1 IDENTIFIED BY "dein-sicheres-passwort";
GRANT select,insert,update,delete,create,alter,drop,index,references ON `kimai`.* TO kimai@127.0.0.1;
exit;

Kimai installieren

https://www.kimai.org/documentation/installation.html

cd /var/www/
git clone -b 1.18.2 --depth 1 https://github.com/kevinpapst/kimai2.git
cd kimai2/
composer install --no-dev --optimize-autoloader -n
nano .env

Konfiguriere deine Datenbankverbindung und passe gewünschte Settings an.

DATABASE_URL=mysql://kimai:dein-sicheres-passwort@127.0.0.1:3306/kimai?charset=utf8&serverVersion=5.7

Jetzt ist es langsam Zeit die Installation von Kimai zu starten 😉

bin/console kimai:install -n
bin/console kimai:user:create admin admin@domain.com ROLE_SUPER_ADMIN

Dateirechte anpassen

chown -R :www-data .
chmod -R g+r .
chmod -R g+rw var/
chmod -R g+rw public/avatars/

Innerhalb von var/www/kimai2/ mit sudo ausführen

Webserver konfigurieren

nano /etc/php/8.0/fpm/pool.d/www.conf
listen = /run/php/php8.0-fpm.sock

PHP-FPM-Konfiguration Socket prüfen, ob Eintrag vorhanden ist

Virtual Host Datei erstellen

nano /etc/nginx/sites-available/kimai2

Nachfolgenden Inhalt in die neue Datei einfügen

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name www.kimai.local;
    root /var/www/kimai2/public;
    index index.php;

    access_log off;
    log_not_found off;

    location ~ /\.ht {
        deny all;
    }

    location / {
        try_files $uri /index.php$is_args$args;
    }

    location ~ ^/index\.php(/|$) {
        fastcgi_pass unix:/run/php/php8.0-fpm.sock;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi.conf;
        fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/..:/tmp/";
        internal;
    }

    location ~ \.php$ {
        return 404;
    }
}

Servername anpassen

Entferne den default Host und aktiviere kimai2

unlink /etc/nginx/sites-enabled/default
ln -s /etc/nginx/sites-available/kimai2 /etc/nginx/sites-enabled/kimai2
nginx -t && service nginx reload

kimai

Die Installation ist nun abgeschlossen und Kimai ist jetzt unter deiner-adresse.local (oder interne IP-Adresse) zu finden, Viel Spaß 🙂

Tipps und eine Dokumentation zur Anwendung findest Du hier:
https://www.kimai.org/documentation/

Die neuste Version des Open Source Zeiterfassungssystems Kimai. Die Version verfügt über viele erweiterte Funktionen: JSON API, Rechnungsstellung, Datenexport, Multitimer und Punch-in-Punch-out-Modus, Tagging, Multi-User und Multi-Zeitzonen, Authentifizierung über SAML/LDAP/Datenbank, anpassbare Rollen- und Teamberechtigungen, responsive und bereit für Ihr mobiles Gerät, benutzerspezifische Tarife, erweiterte Suche und Filterung, Geld- und Zeitbudgets, Reporting, Unterstützung für Plugins und vieles mehr.

War dieser Artikel hilfreich?
Artikel wurde bisher 2.863 mal gelesen
Einen Kommentar schreiben

Bewerte den Artikel nach Punkten

1 Punkt2 Punkte3 Punkte4 Punkte5 Punkte ( 7 Bewertungen, Durchschnitt: 4,57 von insgesamt 5 )
Loading...