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

Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero

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

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:

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:

# 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:

# 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:

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:
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.

Compartir:

Binario 0
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.