Installation Kimai2 Webbasierte Zeiterfassung in einem ISPConfig3 Web
Kimai ist eine quelloffene und webbasierte Zeiterfassung, mit ihr können Arbeitszeiten und Aktivitäten erfasst werden und Zusammenfassungen gedruckt werden.Die Berichte und Auswertungen können jährlich, monatliche oder täglichen nach Kunden und Projekten exportiert werden. Sie können aber auch über das Web Interface den Stand der Projekte verfolgen. Kimai bietet weiteren Möglichkeiten es zu erweitern über Plugins auf der Projektwebseite. Auch direkt Rechnungen zu erstellen für die Kunden aus Kimai2 ist möglich. Die Kimai Software wurde erstmals 2006 veröffentlicht und wird stetig weiter entwickelt, das Laout des Systems ist vollständig responsiv. In den Appstores von Google und Apple finden sich auch Apps, über die Zeiterfassung erfolgen kann.In dieser Anleitung zeige ich euch wie ihr eine Kimai2 Installation in einem ISPConfig 3 Web umsetzt .
Vorraussetzungen
Eigener RootServer mit Root Zugriff oder eine ISPConfig 3 Umgebung
ISPConfig3 Debian 10 mit Nginx Installation
Ich gehe davon aus, dass dieses Setup auch unter Debian 11 mit ISPConfig3 funktioniert, ohne es getestet zu haben
Installation Composer
Für die Installation von Kimai2 benötigen wir Composer auf dem Server, diesen können wir folgendermaßen installieren. Solltet ihr den Composer schon installiert haben in der Version 2 könnt ihr diesen Punkt möglicherweise Überspringen.
sudo apt update
sudo apt install curl php-cli php-mbstring git unzip git-core
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Ausgabe
All settings correct for using Composer
Downloading…
Composer (version 2.4.4) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
Erstelle ein Web in ISPConfig 3
Melde dich in deinem ISPConfig3 System ein und erstelle ein Web z.Bsp. Kimai.URL.de aktiviere PHP und SSL, unter dem Punkt OPTION bei den nginx Direktiven setzt ihr Folgendes ein
##subroot /kimai2/public/ ##
location ~ /\.ht {
deny all;
}
location / {
try_files $uri /index.php$is_args$args;
}
Als Nächstes einen Datenbankuser und Datenbank erstellen für das Web und einen SSH User, dieser darf kein Chroot Shell User sein, da sonst der composer nicht funktioniert
Beim Passwort für den User keine Sonderzeichen verwenden
Installation Kimai2 in ISPConfig3 Web
loggt euch mit dem neuen user über ssh auf dem Server ein
ssh user@kimai.example
navigiert in das web und führt folgende befehle aus nach einander
cd /var/www/kimai.example/web/
git clone -b 1.29.1 --depth 1 https://github.com/kevinpapst/kimai2.git
Ausgabe
Cloning into ‚kimai2’…
remote: Enumerating objects: 2692, done.
remote: Counting objects: 100% (2692/2692), done.
remote: Compressing objects: 100% (2076/2076), done.
remote: Total 2692 (delta 1411), reused 1012 (delta 585), pack-reused 0
Receiving objects: 100% (2692/2692), 3.97 MiB | 11.25 MiB/s, done.
Resolving deltas: 100% (1411/1411), done.
Note: switching to ‚2d82f0400da228d9b8bb890f5351445fcdc47480‘.
You are in ‚detached HEAD‘ state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c
Or undo this operation with:
git switch –
Turn off this advice by setting config variable advice.detachedHead to false
Ihr könnt nun in das Kimai2 Verzeichnis wechseln
cd /kimai2
composer install --optimize-autoloader -n
Ausgabe
Generating optimized autoload files
composer/package-versions-deprecated: Generating version class…
composer/package-versions-deprecated: …done generating version class
139 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
Run composer recipes at any time to see the status of your Symfony recipes.
Executing script cache:clear [OK]
Executing script assets:install [OK]
Datenbank Zugangsdaten für Kimai2 hinterlegen
DATABASE_URL=mysql://USERNAME:PASSWORT@127.0.0.1:3306/database?charset=utf8&serverVersion=5.7
Ausgabe
Kimai installation running …
==============================
Create the database „c1dev0“ (yes) or skip (no)? (yes/no) [yes]: yes
Database `c1dev0` for connection named default already exists. Skipped.
[notice] Migrating up to DoctrineMigrations\Version20220722125847
[notice] finished in 15315.4ms, used 40M memory, 60 migrations executed, 192 sql queries
Rebuilding your cache, please be patient …
// Clearing the cache for the prod environment with debug false
[OK] Cache for the „prod“ environment (debug=false) was successfully cleared.
// Warming up the cache for the prod environment with debug false
[OK] Cache for the „prod“ environment (debug=false) was successfully warmed.
[OK] Congratulations! Successfully installed Kimai version 1.29.1
Den Admin user erstellen zur Verwaltung von Kimai2
Nun erstellen wir den ersten User mit Admin rechten
bin/console kimai:user:create username admin@example.com ROLE_SUPER_ADMIN
Im besten fall, wenn erhaltet ihr folgende Meldung nach der Eingabe des gewünschten Passwortes für den User
Please enter the password:
[OK] Success! Created user: username
Über eure Webadresse, die ihr eingerichtet habt, solltet ihr euch mit dem Benutzernamen admin@example.com anmelden können, weitere User lassen sich nun über die Weboberfläche unter User anlegen.
Links:
[über den Autor PlaNet Fox ]
Alexander Fox | PlaNet Fox unterstützt HowToForge und das ISPConfig Projekt seit vielen Jahren. Er ist Administrator für Linux Mail und Webserver mit Erfahrung aus über 15 Jahren im OpenSource Umfeld.