site not exist error does disable a2ensite apache apache2 virtualhost

apache - not - Sitio no existe error para a2ensite



a2ensite disable (9)

Acabo de actualizar la versión de Ubuntu Server de 12.04 LTS a 14.04 LTS.

De hecho, como se dijo anteriormente, la extensión .conf de Apache 2.4.x es necesaria para los archivos vhost de los sitios web que residen en el directorio de sitios disponibles.

Antes de leer esta pregunta, no tenía ni idea de lo que estaba pasando con el servidor.

Muy buena solución.

Solo resumiendo hice los siguientes pasos en la Terminal:

1) Acceder a la carpeta de sitios habilitados

$ cd /etc/apache2/sites-enabled

2) Debido a que el comando a2dissite no funcionará con archivos en desuso (sin .conf), eliminará los archivos antiguos del sitio web que se publicaron

$ sudo rm <my-old-website-without-.conf>

3) Renombrar los archivos vhost del sitio web cambiando su extensión, agregando .conf al final

$ sudo mv /etc/apache2/sites-available/mywebsite /etc/apache2/sites-available/mywebsite.conf

4) Volver a publicar el nuevo y correcto archivo vhost

$ sudo a2ensite mywebsite.conf

5) ¡Consulta el sitio web en el navegador y diviértete! :)

Tengo cmsplus.dev bajo /etc/apache2/sites-available con el siguiente código,

<VirtualHost *:80> ServerAdmin [email protected] ServerName www.cmsplus.dev ServerAlias cmsplus.dev DocumentRoot /var/www/cmsplus.dev/public LogLevel warn ErrorLog /var/www/cmsplus.dev/log/error.log CustomLog /var/www/cmsplus.dev/log/access.log combined </VirtualHost>

Ahora cuando uso sudo /usr/sbin/a2ensite cmsplus.dev , recibo el error,

ERROR: Site cmsplus.dev does not exist!

Mi servidor web Apache/2.4.6 (Ubuntu)

¿Cómo resolver este problema?


Acabo de tener el mismo problema. Yo diría que no tiene nada que ver con el apache.conf.

a2ensite debe haber cambiado: la línea 532 es la línea que aplica el sufijo .conf:

else { $dir = ''sites''; $sffx = ''.conf''; $reload = ''reload''; }

Si lo cambias a:

else { $dir = ''sites''; #$sffx = ''.conf''; $sffx = ''''; $reload = ''reload''; }

... funcionará sin ningún sufijo.

Por supuesto, no querría cambiar la secuencia de comandos a2ensite, pero cambiar el sufijo del archivo conf es la forma correcta.

Probablemente sea solo una forma de imponer el ".conf" -suffix.


En mi caso con Ubuntu 14.04.3 y Apache 2.4.7, el problema fue que copié site1.conf para hacer que site2.conf estuviera disponible, y al copiarlo, algo sucedió y no pude descargar a site2.conf con el error descrito en el hilo .

La solución para mí fue cambiar el nombre de site2.conf a site2 y luego renombrar site2 a site2.conf. Después de eso pude a2ensite site2.conf.


Entonces ... la forma más rápida es cambiar el nombre de los nombres de configuración del sitio que terminan en ".conf"

mv /etc/apache2/sites-available/mysite /etc/apache2/sites-available/mysite.conf a2ensite mysite.conf

Otras notas sobre comentarios anteriores:

  • IncludeOptional no se introdujo hasta apache 2.36: hacer el cambio anterior seguido de reiniciar en 2.2 dejará su servidor inactivo.

  • Además, la versión 2.2 a2ensite no puede ser hackeada como se describe

también, dado que el archivo de sitios disponibles es en realidad un archivo de configuración, debería llamarse así de todos modos.

En general , no reinicie los servicios (los servidores web son un tipo de servicio):

  • ¡La gente no puede encontrarlos si no están corriendo! Piense linux no MS Windows ..

Los servidores pueden funcionar durante muchos años: actualización en vivo, configuración de recarga, etc.

La nube no significa que tenga que reiniciar para cargar un archivo de configuración.

  • Al cambiar la configuración de un servicio, use "recargar" no "reiniciar".

  • reiniciar detiene el servicio y luego inicia el servicio; si hay algún problema en su cambio a la configuración, el servicio no se reiniciará.

  • recargará dará un error, pero el servicio nunca se apagará, lo que le dará la oportunidad de corregir el error de configuración, que solo podría ser una mala sintaxis.

debian o ubunto [nombre de servicio para este hilo es apache2]

service {service-name} {start} {stop} {reload} ..

Otros os quedan como un ejercicio para el lector.


Hay otra buena manera, simplemente edite el archivo apache2.conf hay una línea al final

IncludeOptional sites-enabled / *. Conf

simplemente quite el .conf al final, como este

IncludeOptional sites-enabled / *

y reinicie el servidor.

(Intenté esto solo en Ubuntu 13.10, cuando lo actualicé).


Intenta así ...

NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin [email protected] ServerName www.cmsplus.dev ServerAlias cmsplus.dev DocumentRoot /var/www/cmsplus.dev/public LogLevel warn ErrorLog /var/www/cmsplus.dev/log/error.log CustomLog /var/www/cmsplus.dev/log/access.log combined </VirtualHost>

y agregar entrada en / etc / hosts

127.0.0.1 www.cmsplus.dev

reinicie apache ..


Probablemente haya actualizado su instalación de Ubuntu y una de las actualizaciones incluyó la actualización de Apache a la versión 2.4.x

En Apache 2.4.x, los archivos de configuración de vhost, ubicados en el directorio / etc / apache2 / sites-available, deben tener la extensión .conf.

Usando el terminal (comando mv), cambie el nombre de todos sus archivos de configuración existentes y agregue la extensión .conf a todos ellos.

mv /etc/apache2/sites-available/cmsplus.dev /etc/apache2/sites-available/cmsplus.dev.conf

Si recibe un error de "Permiso denegado", agregue "sudo" delante de los comandos de su terminal.

No es necesario realizar ningún otro cambio en los archivos de configuración.

Habilitar los vhost (s):

a2ensite cmsplus.dev.conf

Y luego vuelve a cargar Apache:

service apache2 reload

Sus sitios deberían estar en funcionamiento ahora.

ACTUALIZACIÓN: Como se mencionó here , una distribución de Linux que instaló cambió la configuración a Incluir * .conf solamente. Por lo tanto, no tiene nada que ver con Apache 2.2 o 2.4


Resolvió el problema agregando la extensión .conf a los archivos de configuración del sitio.

Apache a2ensite resulta en:

¡Error! El sitio no existe

Problema; Si encontró el error al intentar habilitar un sitio usando:

sudo a2ensite mysite.com

pero vuelve:

Error: mysite.com no existe

a2ensite es simplemente un script perl que solo funciona con nombres de archivos que terminan .conf

Por lo tanto, tengo que cambiar el nombre de mi archivo de configuración para mysite.com a mysite.com.conf siguiente manera:

mv /etc/apache2/sites-available/mysite.com /etc/apache2/sites-available/mysite.com.conf

Éxito


Trabajó después de que agregué .conf al archivo de configuración