GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo instalar la aplicación de seguimiento de tiempo basada en web Kimai en Linux

Gracias a este post, aprenderás a instalar Kimai en Linux.

Introducción

Kimai es una aplicación gratuita de seguimiento del tiempo (código abierto), Con Kimai, el aburrido proceso de alimentar hojas de cálculo de Excel con sus horas de trabajo no solo se simplifica, sino que también ofrece docenas de otras características interesantes que ni siquiera conoce. te estás perdiendo hasta ahora!

Kimai no tiene que ejecutarse durante la grabación, incluso puede salir de su navegador. Tu tiempo sigue grabándose hasta que lo detengas desde cualquier navegador web que tenga acceso a tu instalación. Está diseñado para albergar a muchos usuarios, pero también puede usarlo para un solo usuario si lo desea.

Lista de funciones

La siguiente lista es sobre las características que ofrece Kimai.

Entonces, en este artículo, ilustraremos cómo instalar y usar kimai en Ubuntu 20.04

instalar Kimai en Linux

Simplemente siga los pasos a continuación para comenzar con kimai.

  • Actualice, prepare su servidor e instale utilidades importantes.
sudo apt update && sudo apt upgrade 
sudo apt install git curl vim
  • Instale y configure la base de datos, instalaremos el servidor mariadb, así que simplemente ejecute el siguiente comando.
apt install mariadb-server
  • Iniciar y habilitar el servicio mariadb.
systemctl start mariadb
systemctl enable mariadb
  • Active y asegure la instalación de mariadb con el siguiente comando:
mysql_secure_installation
  • El siguiente paso es crear una base de datos y un usuario para Kimai .
mysql -u root -p
  • Crear base de datos y usuario para Kimai
CREATE DATABASE kimai_db;
CREATE USER 'kimai_usr'@'localhost' IDENTIFIED BY 'unixcopPassword';
GRANT ALL PRIVILEGES ON kimai_db . * TO 'kimai_usr'@'localhost';
FLUSH PRIVILEGES;
\q
  • Instalar y configurar un servidor web para kimai.
apt install nginx php-fpm
  • Inicie y habilite el servidor web ngin.
systemctl start nginx
systemctl enable nginx
  • Agregue la configuración de PHP recomendada
vim /etc/php/7.4/fpm/php.ini
  • Luego edite los siguientes valores
memory_limit = 512M 
date.timezone = Africa/Cairo
  • Instale todas las extensiones php requeridas
sudo apt install -y php-intl php-gd php-bcmath php-fpm php-json php-curl php-cli php-curl php-xml php-pear php-common php-mysql php-zip php-gd php-mbstring 
  • Instale Composer, que instala las dependencias de PHP que requiere un proyecto.
curl -sS https://getcomposer.org/installer -o composer-setup.php
sudo php composer-setup.php --version=1.10.17 --install-dir=/usr/local/bin --filename=composer
  • Instalar Kiami desde Git
cd /var/www/html/
sudo git clone -b 1.11.1 --depth 1 https://github.com/kevinpapst/kimai2.git
cd kimai2/
sudo composer install --no-dev --optimize-autoloader
  • Configure la conexión de la base de datos en .env archivo configurando el nombre de usuario, la contraseña y la base de datos que configuramos antes
sudo vim /var/www/html/kimai2/.env
  • Luego, edite la URL de la base de datos y haga un hash de la línea sqlite de la siguiente manera:
DATABASE_URL=mysql://kimai_usr:[email protected]:3306/kimai_db
#DATABASE_URL=sqlite:///%kernel.project_dir%/var/data/kimai.sqlite
  • Ejecute el instalador de Kimai
cd /var/www/html/kimai2
bin/console kimai:install -n
  • Cree su primer usuario. y asegúrese de que su contraseña tenga más de 8 caracteres.
sudo bin/console kimai:create-user username admin@unixcop ROLE_SUPER_ADMIN
  • El siguiente paso es generar certificados SSL/TLS autofirmados

Una vez que finalice el instalador de Kimai, generaremos certificados SSL/TLS para la conexión SSL de Nginx y crearemos un archivo de configuración de Nginx para definir la configuración de Kimai. Esto es solo para hacer las cosas un poco seguras.

sudo mkdir /etc/ssl/private
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/kimai-selfsigned.key -out /etc/ssl/certs/kimai-selfsigned.crt

Una vez hecho esto, generaremos el grupo Deffie-Hellman de la siguiente manera. Tardará algún tiempo en completarse.

sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

Luego establezca el valor de types_hash_max_size en 4096 en el archivo de configuración de Nginx.

sudo sed -i 's/types_hash_max_size 2048/types_hash_max_size 4096/' /etc/nginx/nginx.conf
  • Ahora configuraremos el archivo nginx para kimai.
cd /etc/nginx/sites-enabled/ 
sudo mv default /tmp
  • Cree un nuevo archivo y agregue los detalles que se muestran a continuación. Si tiene un FQDN, reemplace unixcop.com con eso.
sudo vim kimai.conf
  • Luego agregue lo siguiente:
server {
    listen 80;
    server_name kimai.unixcop.com;
    return 301 https://$host$request_uri;
}
server {
    listen 443 ssl;
    server_name kimai.unixcop.com;

    root /var/www/html/kimai2/public/;
    index index.php index.htm index.nginx-debian.html;

        ssl_certificate /etc/ssl/certs/kimai-selfsigned.crt;
    ssl_certificate_key /etc/ssl/private/kimai-selfsigned.key;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on; 
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
    ssl_ecdh_curve secp384r1;
    ssl_session_timeout  10m;
    ssl_session_cache shared:SSL:10m;
    resolver 8.8.8.8 valid=300s;
    resolver_timeout 5s; 
    add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
    add_header X-Frame-Options DENY;
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";

    location ~ /\.ht {
        deny all;
    }
    location / {
                try_files $uri /index.php$is_args$args;
    }

        location ~ ^/index\.php(/|$) {
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_index index.php;
        fastcgi_read_timeout 240;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_split_path_info ^(.+.php)(/.+)$;
        }
    location ~ \.php$ {
        return 404;
    }
 }
  • Cambiar los permisos de archivos de Kimai
sudo chown -R www-data:www-data /var/www/html/kimai2/public/
sudo chmod -R g+rw /var/www/html/kimai2/var/
sudo chmod -R 755 /var/www/html/kimai2/public/
sudo chmod -R g+rw /var/www/html/kimai2/public/avatars/
sudo systemctl restart nginx php7.4-fpm
  • Permitir los puertos 80 y 443 en el cortafuegos
sudo ufw allow 80,443/tcp

Acceder a la interfaz web de Kimai

  • Abra su navegador en la IP o el nombre de dominio del servidor web que sirve los archivos. https://[ip-or-domain-name] .
  • Luego inicie sesión con el usuario que creamos.
  • Acceda al panel de control.
  • Para crear un usuario , navegue hasta la sección "Usuarios Pestaña en el tablero de Kimai y haz clic en él. Después de eso, haga clic en + para crear un nuevo usuario.
  • Ingrese los detalles como se muestra a continuación y luego haga clic en "Guardar ” como se muestra arriba
  • Después de guardarlo, aparecerá una nueva página donde podrá agregar "Roles " y el resto. Ingrese los roles correctos para el usuario. Haga esto para tantos usuarios como tenga.
  • Haga clic en los usuarios nuevamente para verificar que creó un usuario como se muestra a continuación.
  • Para crear un Equipo , La creación de equipos está limitada a los roles de usuario Administrador del sistema y Administrador. Vaya a "Equipos Pestaña en el tablero de Kimai y haz clic en él. Haga clic en + ubicado en la parte superior derecha para crear un nuevo equipo.
  • Ingrese los detalles del equipo que está creando.
  • También puede agregar Proyectos, Actividades y complementos.
  • Compruebe que el equipo se haya creado navegando a Equipos

Conclusión

Eso es todo,

En esta guía, le mostramos cómo instalar y usar kimai en Ubuntu 20.04

Gracias


Linux
  1. Cómo instalar NodeJS en Linux

  2. Cómo instalar FFmpeg en Linux

  3. Cómo mejorar el tiempo de inicio de la aplicación en Linux

  4. Cómo instalar Vagrant en Linux

  5. Cómo instalar TeamViewer 15 en Linux

Cómo instalar Go Language en Linux

Cómo instalar Anaconda en Linux

Cómo instalar Bashtop en Linux

Cómo instalar Helm en Linux

Cómo instalar PuTTY en Linux

Cómo instalar software de Windows en Linux con Bottles

    NOMBRE DESCRIPCIÓN
    Listo para dispositivos móviles El diseño es totalmente receptivo, se basa en bootstrap y está diseñado para uso de escritorio y móvil.
    Complementos Kimai se creó pensando en la extensibilidad, el conjunto de funciones se puede ampliar con complementos.
    Multiusuario Kimai puede ser utilizado por tantos usuarios como desee:cada instalación admite usuarios ilimitados con diferentes roles (ver permisos).
    Multilenguaje Kimai se puede localizar en cualquier idioma y ya está traducido al árabe, vasco, chino, croata, checo, danés, holandés, inglés, esperanto, finlandés, francés, alemán (incluidos austriaco y suizo), griego, hebreo, húngaro, italiano, japonés, coreano, polaco, portugués (brasileño), rumano, ruso, eslovaco, español, sueco, turco y vietnamita . No dude en enviar sus archivos de idioma creados por usted mismo o contribuir al proyecto weblate a continuación:¡estamos buscando traductores y agradeceríamos su apoyo!
    Equipos Se pueden crear equipos para agrupar a sus usuarios en grupos lógicos como departamentos o grupos de pares relacionados con proyectos. Se pueden asignar clientes y proyectos a esos equipos, lo que limitará la visibilidad y el acceso de otros usuarios.
    Clientes Administre sus clientes y establezca direcciones, contactos, países, divisas, visibilidad (para archivar) y muchos campos más.
    Proyectos Administre proyectos para cada cliente con número de pedido, presupuesto y visibilidad (para archivar).
    Actividades Las actividades (o tareas) se utilizan para asignar la unidad de trabajo a las entradas del parte de horas. Gestione las actividades de cada proyecto con número de pedido, presupuesto y visibilidad (para archivar). Las actividades también pueden ser globales, ¡no se necesitan más duplicaciones si sus proyectos comparten la misma unidad de trabajo!
    Facturación Diferentes plantillas, calculadora, generador de números de factura y puede agregar sus propias plantillas, en los formatos de archivo:XLSX, ODS, CSV, DOCX.
    Exportar datos Los datos de las hojas de tiempo se pueden exportar para usarlos en otros programas o para compartirlos con diferentes departamentos en el
    formatos:XLSX (Excel), PDF, CSV y HTML. Además de eso, los registros exportados se pueden bloquear y proteger contra cambios posteriores.
    Gastos Haga un seguimiento de sus gastos según el cliente, el proyecto y la actividad. Estos gastos se pueden categorizar e incluir en sus facturas. Tenga en cuenta:el seguimiento de gastos solo está disponible como complemento de pago.
    SAML Inicie sesión y registre usuarios a través de SAML (Inicio de sesión único, también conocido como SSO) y reutilice su proveedor de identidad existente, como la aplicación de Google (G-Suite) o el directorio activo de Azure.
    API JSON ¡Con una API JSON para que las aplicaciones externas puedan comunicarse con su rastreador de tiempo favorito!
    LDAP Conecte el servidor de directorio de su empresa (LDAP o Active Directory) a Kimai y use su infraestructura de autenticación existente.
    Estadísticas Su tablero le mostrará varias estadísticas sobre los tiempos registrados y la cantidad de datos recopilados. ¡Y siempre podemos agregar más gráficos!
    Docker El lanzamiento incluye una imagen de ventana acoplable para desarrollo y hay una configuración separada de composición de ventana acoplable para producción disponible.
    Migración Los datos de Kimai v1 se pueden importar, para una migración sin problemas de su rastreador de tiempo.
    Limitar registros Puede grabar tantas veces como quiera en paralelo, pero también puede configurar el límite permitido de registros activos a 1.
    Formato AM/PM Kimai usa una versión localizada del formato de 24 horas. Pero si está acostumbrado al formato am/pm, puede configurarlo.
    Solo duración Si las leyes locales exigen que solo muestre la duración en lugar de la fecha y hora de inicio y finalización, puede activar ese modo globalmente.
    Reloj de tiempo ¿No quiere que sus usuarios registren registros arbitrarios de hojas de tiempo? Cambie al modo de reloj de tiempo, que solo permite registros de "entrada" y "salida". No más horas de inicio y finalización dadas manualmente.
    Cálculo de tarifas Las tarifas se pueden calcular en función de montos fijos y por hora, configurables para clientes, proyectos, actividades y cada registro de parte de horas individualmente.
    Filtro de parte de horas Puede filtrar todos los registros de tiempo por usuario, cliente, proyecto, actividad y fecha.
    Tarifas de fin de semana Puede configurar ajustes globales para factores de tarifa en días de semana individuales, p. 150% para sábado y domingo.
    Archivado Los usuarios a largo plazo saben que los datos antiguos pueden acumularse en sus menús desplegables; no se preocupe:puede ocultarlos limitando la visibilidad de los clientes, proyectos y actividades.
    Permisos Estructura de permisos personalizable. Asigne diferentes roles a su usuario, p. los usuarios pueden registrar tiempos, los líderes de equipo pueden imprimir facturas y configurar proyectos/actividades, los administradores pueden configurar usuarios y clientes.
    Perfil de usuario Estadísticas personales y configuración por usuario para tarifa horaria, tema Kimai, contraseña y avatar.
    Tematización Kimai combina diferentes temas de color y configuraciones de pantalla, para que cada usuario pueda ajustarlo a su gusto personal
    Registro de usuario Kimai admite el autorregistro de usuarios con activación por correo electrónico.
    Restablecimiento de contraseña ¿Olvidaste tu contraseña? No hay problema, Kimai lo cubrió con una función de restablecimiento de contraseña por correo electrónico.
    Actualizado Basado en las últimas tecnologías y marcos web:PHP7, Symfony 4, Doctrine, Flex, Bootstrap, Webpack y muchos más...