![No hay sitios disponibles/000-default.conf en /etc/apache2](https://rvso.com/image/1157736/No%20hay%20sitios%20disponibles%2F000-default.conf%20en%20%2Fetc%2Fapache2.png)
Estoy intentando configurar hosts virtuales para Apache2. Hay toneladas de tutoriales, pero todos suponen que el archivo /etc/apache2/sites-available/000-default.conf
está ahí. Pero si ejecuto:
$ cd /etc/apache2/
$ ls
conf-available
$ cd conf-available
$ ls
javascript-common.conf
No encuentro a nadie que haya tenido el mismo problema. ¿Necesito hacer algo antes de comenzar tutoriales como este?
https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-16-04
Todo está al día. Ubuntu es 16.04LTS.
Respuesta1
Los archivos que contiene /etc/apache2/conf-available
son archivos que un administrador puede crear, renombrar, eliminar, completar con el contenido adecuado, etc. Si no tiene 000-default.com, simplemente cree uno.
Entonces deberías llamar
sudo a2ensite 000-default.conf
Advertencias:
los hosts virtuales coexisten; por lo que tengo entendido, ya tienes alguna configuración no estándar. Tenga cuidado con los servidores virtuales que entran en conflicto entre sí. Es probable que necesite una instalación nueva de apache2, incluida su configuración.
qué archivos finalmente se cargan (incluyen) como configuraciones dependen de otros archivos de configuración, como
/etc/apache2/apache2.conf
con suinclude
comando (que luego incluye un archivo específico). Incluir también se puede llamar en un archivo incluido.
Para su información, el 000-default.conf para apache2 (versión 2.4.7) es el siguiente:
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Y es mejor usar los siguientes comandos para habilitar/deshabilitar un sitio en lugar de crear un sitio mediante la creación de un enlace simbólico (lo cual aún puede hacer, pero bueno... generalmente depende de scripts de ayuda, por ejemplo, para evitar errores tipográficos).
a2ensite 000-default
a2dissite 000-default
Si algunas configuraciones no funcionan, puedes intentar:
sudo service apache2 reload
o incluso una recarga de configuración más profunda ocurre en:
sudo service apache2 restart
Reload mantiene algunos datos relacionados con la conexión en la memoria, y ambos toman una fracción de segundo en una instalación nueva típica.
EDITAR: Agregué una nota sobre cuatro comandos útiles: a2ensite, a2dissite, service apache2 restart/reload y en la edición posterior reorganicé la respuesta para que se ajustara mejor a la pregunta.