Apache no carga archivos de host virtuales [cerrado]

2

Estoy tratando de configurar un servidor Apache2 pero no consigo que cargue mis hosts virtuales. O para ser más precisos, funciona bien siempre que los escriba, 000-default.confpero cada vez que trato de usar un archivo separado parece ignorarlo por completo.

Entonces la pregunta es ¿por qué esto no funciona? ¿Y cómo lo hago funcionar?

Zlug
fuente
2
Verifique su httpd.confarchivo, debe contener una línea como Incluir conf/*.conf. Compruebe si es un comodín o un archivo fijo (como 000-default.conf). Además, verifique que sus nuevos archivos conf coincidan con el patrón comodín y estén almacenados en la misma carpeta que 000-default.conf. Finalmente, hay distribuciones apache donde tienen archivos a availabley a activeconf, por lo que en algunos casos se necesita un enlace suave para que funcione.
NuTTyX
Necesita editar su pregunta para proporcionar más detalles. ¿Dónde estás escribiendo los archivos que no funcionan? Además, ¿cuáles son los contenidos de los archivos host virtuales independientes? Puede neutralizar los detalles, pero ¿cómo es la estructura general?
JakeGould
Sin embargo, NuTTyX tenía razón
Zlug el
@NuTTyX Dado que su comentario parece ser la respuesta que resolvió este problema, debe publicarlo como una respuesta real para que Zlug pueda marcarlo como respuesta y se le recompensa por este esfuerzo.
JakeGould

Respuestas:

5

Por lo general, si uno desea configurar configuraciones de host virtual por separado, las colocaría en este directorio:

/etc/apache2/sites-available/

Entonces, si tiene un host virtual llamado www.example.comconfig, el nombre del archivo puede llamarse así www.example.com.conf:

/etc/apache2/sites-available/www.example.com.conf

Luego abriría ese archivo en un editor de texto como este; Estoy usando nanocomo ejemplo, pero siéntase libre de usar el editor de texto que prefiera:

sudo nano /etc/apache2/sites-available/www.example.com.conf

Y luego coloque contenido similar a este en www.example.com.conf:

<VirtualHost *:80>
  ServerAdmin [email protected]
  ServerName example.com
  ServerAlias www.example.com
  DocumentRoot /var/www/example.com/
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Cierre y guarde el archivo y luego usar a2ensitecomo este para que el sistema establece un enlace simbólico desde sites-availableque sites-enabledde esta manera:

sudo a2ensite www.example.com.conf

O, si lo desea, puede usarlo manualmente ln -spara establecer un enlace simbólico como este:

ln -s /etc/apache2/sites-available/www.example.com.conf /etc/apache2/sites-enabled/www.example.com.conf

Cuando termine, simplemente vuelva a cargar Apache así:

sudo service apache2 reload

Y si por alguna razón reloadno funciona, simplemente fuerce un reinicio como este:

sudo service apache2 restart

El beneficio de usar reloadantes restartes que si hay un error tipográfico en un archivo de configuración, Apache informará un error pero no cargará los archivos de configuración. Lo que significa que su servidor web Apache seguirá funcionando en función del último archivo de configuración estable que cargó.

El riesgo es que si fuerza a restarty hay un error tipográfico en un archivo de configuración, Apache estará muerto porque restartfuerza un servicio completo stopseguido de a start. Y si eso se startahoga, el servidor está muerto hasta que se resuelva el error / error tipográfico de configuración.

JakeGould
fuente
2

Verifique su httpd.confarchivo, debe contener una línea como Include conf/*.conf. Compruebe si es un comodín o un archivo fijo (como 000-default.conf).

Además, verifique que sus nuevos archivos conf coincidan con el patrón comodín y estén almacenados en la misma carpeta que 000-default.conf.

Finalmente, hay distribuciones de apache donde tienen archivos conf disponibles y activos, por lo que en algunos casos se necesita un enlace suave para que funcione

NuTTyX
fuente
@Zlug Asegúrese de marcar esta respuesta como la respuesta ya que NuTTyX resolvió el problema por usted.
JakeGould