# Resolución del error Conf javascript-common does not exist en Apache2 durante instalación o actualización

- Link: https://binariocero.com/linux/resolucion-del-error-conf-javascript-common-does-not-exist-en-apache2-durante-instalacion-o-actualizacion
- Published: 2025-08-15T11:01:40+02:00
- Author: Juan José Fernández Durán

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

Al instalar o actualizar **Apache2** en sistemas Debian o derivados (incluyendo 
Ubuntu), puede aparecer el siguiente error:

    ```wp-block-code
    Setting up apache2 (2.4.xx-x) ...
    info: Executing deferred 'a2enconf javascript-common' for package javascript-common
    ERROR: Conf javascript-common does not exist!
    dpkg: error processing package apache2 (--configure):
     installed apache2 package post-installation script subprocess returned error exit status 1
    Errors were encountered while processing:
     apache2
    Error: Sub-process /usr/bin/dpkg returned an error code (1)
    ```

Este problema se debe a que el script `post-installation` de Apache intenta habilitar
una configuración (`javascript-common.conf`) que no existe en el sistema.

## Causa del error

En versiones anteriores, el paquete **javascript-common** proporcionaba el archivo
de configuración `/etc/apache2/conf-available/javascript-common.conf`, que Apache
habilitaba mediante la acción `a2enconf javascript-common`.
En entornos donde:

 * El paquete **javascript-common** ya no está disponible en los repositorios.
 * O el paquete fue eliminado previamente.
   … Apache queda con una **acción diferida**
   registrada en `/var/lib/apache2/deferred_actions` que intenta habilitar un archivo
   inexistente, generando el fallo.

## Soluciones

### 1. Instalar `javascript-common` (si está disponible en repositorios)

Si el paquete sigue presente en los repositorios de la distribución:

    ```wp-block-code
    sudo apt-get update
    sudo apt-get install javascript-common
    sudo dpkg --configure -a
    ```

Esto restaurará el archivo de configuración y permitirá completar la configuración
de Apache sin errores.

### 2. Eliminar la acción diferida y archivos de configuración obsoletos

Si el paquete no está disponible, es recomendable limpiar la configuración huérfana:

    ```wp-block-code
    # Eliminar archivos de configuración obsoletos
    sudo rm -f /etc/apache2/conf-enabled/javascript-common.conf
    sudo rm -f /etc/apache2/conf-available/javascript-common.conf

    # Borrar la acción diferida asociada
    sudo rm -f /var/lib/apache2/deferred_actions/*javascript-common*

    # Reconfigurar paquetes pendientes
    sudo dpkg --configure -a
    ```

### 3. Crear un archivo “stub” para evitar el fallo

En situaciones donde es necesario completar la configuración rápidamente (por ejemplo,
en entornos de producción), se puede crear un archivo vacío de configuración:

    ```wp-block-code
    # Crear archivo de configuración mínimo
    echo "# stub: javascript-common no usado" | sudo tee /etc/apache2/conf-available/javascript-common.conf

    # Reconfigurar paquetes
    sudo dpkg --configure -a

    # Deshabilitar la configuración stub
    sudo a2disconf javascript-common || true

    # Reiniciar Apache
    sudo systemctl restart apache2
    ```

## Comprobaciones posteriores

Una vez aplicada la solución, verificar el estado y la configuración de Apache:

    ```wp-block-code
    dpkg -l | grep -E 'apache2|javascript-common'
    apache2ctl configtest
    systemctl status apache2 --no-pager
    ```

## Recomendaciones

 * Evitar **upgrades parciales** en Debian/Ubuntu, especialmente en entornos _testing_
   o _sid_.
 * Utilizar:

    ```wp-block-code
    sudo apt-get update
    sudo apt-get -f install
    sudo apt-get full-upgrade
    ```

 * En entornos críticos, mantener entornos de prueba para detectar incompatibilidades
   antes de aplicar cambios en producción.

## Conclusión

El error `Conf javascript-common does not exist` en Apache2 no es un fallo del servidor
web en sí, sino un conflicto de configuración residual.
La solución pasa por **restaurar
el paquete**, **limpiar configuraciones obsoletas** o **crear un stub temporal**,
según la disponibilidad del paquete y la urgencia del entorno.
