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
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.