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:

Kimai Projekt

Composer

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

Das könnte dich auch interessieren …