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