# Guía Paso a Paso: Instalación de Kimai en Debian

- Link: https://binariocero.com/linux/guia-paso-a-paso-instalacion-de-kimai-en-debian
- Published: 2025-03-09T11:32:13+01:00
- Author: Juan José Fernández Durán

![Loading](https://binariocero.com/wp-content/plugins/page-views-count/ajax-loader-
2x.gif)

#### **1. Preparación del Servidor**

Antes de comenzar, asegúrate de que tu sistema esté actualizado:

    ```wp-block-preformatted
    sudo apt update && sudo apt upgrade -y
    ```

Instala los paquetes esenciales:

    ```wp-block-preformatted
    sudo apt install unzip curl git -y
    ```

#### **2. Instalación del Servidor Web y Base de Datos**

##### **Instalar Apache/Nginx y MariaDB**

Para **Apache**:

    ```wp-block-preformatted
    sudo apt install apache2 -ysudo systemctl enable --now apache2
    ```

Para **Nginx**:

    ```wp-block-preformatted
    sudo apt install nginx -ysudo systemctl enable --now nginx
    ```

Instala **MariaDB**:

    ```wp-block-preformatted
    sudo apt install mariadb-server -ysudo systemctl enable --now mariadb
    ```

Configura la seguridad de MySQL/MariaDB:

    ```wp-block-preformatted
    sudo mysql_secure_installation
    ```

Sigue las indicaciones y establece una contraseña segura.

#### **3. Instalación de PHP y Extensiones**

Kimai requiere **PHP 8.1 o superior**. Instálalo con:

    ```wp-block-preformatted
    sudo apt install php8.2 php8.2-cli php8.2-curl php8.2-xml php8.2-zip php8.2-mbstring php8.2-intl php8.2-sqlite3 php8.2-mysql php8.2-gd php8.2-bcmath php8.2-redis php8.2-fpm -y
    ```

Verifica la versión instalada:

    ```wp-block-preformatted
    php -v
    ```

#### **4. Configurar la Base de Datos para Kimai**

Accede a **MySQL/MariaDB**:

    ```wp-block-preformatted
    sudo mysql -u root -p
    ```

Ejecuta los siguientes comandos para crear la base de datos y el usuario:

    ```wp-block-preformatted
    CREATE DATABASE kimai CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;CREATE USER 'kimai_user'@'localhost' IDENTIFIED BY 'TuContraseñaSegura';GRANT ALL PRIVILEGES ON kimai.* TO 'kimai_user'@'localhost';FLUSH PRIVILEGES;EXIT;
    ```

#### **5. Descarga e Instalación de Kimai**

Dirígete a la carpeta **/var/www** y clona el repositorio de Kimai:

    ```wp-block-preformatted
    cd /var/wwwsudo git clone -b 2.0 https://github.com/kevinpapst/kimai.gitcd kimai
    ```

Cambia la propiedad de los archivos a **www-data** (usuario del servidor web):

    ```wp-block-preformatted
    sudo chown -R www-data:www-data /var/www/kimaisudo chmod -R 775 /var/www/kimai
    ```

#### **6. Configuración de Kimai**

Copia el archivo de configuración:

    ```wp-block-preformatted
    cp .env.dist .env
    ```

Edita el archivo **.env**:

    ```wp-block-preformatted
    nano .env
    ```

Modifica las siguientes líneas para que coincidan con tu configuración de base de
datos:

    ```wp-block-preformatted
    DATABASE_URL=mysql://kimai_user:TuContraseñaSegura@127.0.0.1:3306/kimai?charset=utf8mb4&serverVersion=8
    ```

Guarda y sal del editor (`CTRL + X`, `Y`, `Enter`).

Instala las dependencias con **Composer**:

    ```wp-block-preformatted
    curl -sS https://getcomposer.org/installer | phpsudo mv composer.phar /usr/local/bin/composercomposer install --no-dev --optimize-autoloader
    ```

Genera las claves y migra la base de datos:

    ```wp-block-preformatted
    bin/console kimai:install -n
    ```

Crear primer usuario Admin:
`bin/console kimai:user:create username admin@example.
com ROLE_SUPER_ADMIN`

#### **7. Configuración del Servidor Web**

##### **Para Apache**

Crea un nuevo archivo de configuración:

    ```wp-block-preformatted
    sudo nano /etc/apache2/sites-available/kimai.conf
    ```

Agrega el siguiente contenido:

    ```wp-block-preformatted
    <VirtualHost *:80>    ServerName tu-dominio.com    DocumentRoot /var/www/kimai/public    <Directory /var/www/kimai/public>        AllowOverride All        Require all granted    </Directory>    ErrorLog ${APACHE_LOG_DIR}/kimai_error.log    CustomLog ${APACHE_LOG_DIR}/kimai_access.log combined</VirtualHost>
    ```

Habilita la configuración y módulos requeridos:

    ```wp-block-preformatted
    sudo a2enmod rewritesudo a2ensite kimai.confsudo systemctl restart apache2
    ```

##### **Para Nginx**

Crea el archivo de configuración:

    ```wp-block-preformatted
    sudo nano /etc/nginx/sites-available/kimai
    ```

Añade:

    ```wp-block-preformatted
    server {    listen 80;    server_name tu-dominio.com;    root /var/www/kimai/public;    index index.php index.html;    location / {        try_files $uri /index.php$is_args$args;    }    location ~ \.php$ {        include snippets/fastcgi-php.conf;        fastcgi_pass unix:/run/php/php8.1-fpm.sock;        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;        include fastcgi_params;    }}
    ```

Habilita la configuración:

    ```wp-block-preformatted
    sudo ln -s /etc/nginx/sites-available/kimai /etc/nginx/sites-enabled/sudo systemctl restart nginx
    ```

#### **8. Configurar Certificado SSL (Opcional)**

Si usas **Let's Encrypt**, instala Certbot:

    ```wp-block-preformatted
    sudo apt install certbot python3-certbot-apache -y
    ```

Genera el certificado:

    ```wp-block-preformatted
    sudo certbot --apache -d tu-dominio.com
    ```

Para Nginx:

    ```wp-block-preformatted
    sudo apt install certbot python3-certbot-nginx -ysudo certbot --nginx -d tu-dominio.com
    ```

Renueva automáticamente:

    ```wp-block-preformatted
    sudo certbot renew --dry-run
    ```

#### **9. Acceder a Kimai**

Ahora puedes acceder a Kimai desde tu navegador en:

    ```wp-block-preformatted
    http://tu-dominio.com
    ```

Inicia sesión con el usuario predeterminado creado anteriormente:

 * **Usuario:** user`admin`
 * **Contraseña:** passwordadmin

Cambia la contraseña después de iniciar sesión.
