Estoy tratando de configurar manualmente los vhosts para varias páginas, aunque de momento estoy trabajando con un solo dominio, la idea es ir poniendo más. De momento estoy intentando configurar un solo dominio y varios subdominios.
La configuración vhosts la he repartido en varios archivos especificos para cada dominio/subdominio, así puedo activarlos o desactivarlos facilmente (tal y como recomiendan en la guia de arch linux):
httpd.conf
El archivo de configuración principal lo dejo para el bloque vhosts por defecto, el que se use cuando se accede al servidor mediante la ip pública o los nameservers (ns1.example.com), etc... Aquí estoy teniendo problemas y necesito saber como configurar correctamente el bloque vhosts default.
o
Si uso el primero se muestra siempre (da igual que pongas dominio/subdominio) el main document root de apche, que en arch linux es /srv/http y claro... puedes navegar por todas las carpetas que tengas (incluso desactivando -Indexes puedes usar la barra de navegación para averiguar nombres...).
Si uso el segundo se muestra siempre la carpeta default.
He probado quitando el bloque virtualhost default (comentando el archivo en httpd.conf) y lo mismo, se ignoran los bloques virtualhost de cada archivo, y siempre se muestra el main document root.
Esta configuración funciona en mi ordenador personal, usando el sistema operativo Manjaro (que es Arch Linux) y recuerdo que funcionaba bien. Ahora estoy configurando un servidor ARM de scaleway y estoy usando arch linux.
¿Como puedo configurar correctamente los virtual hosts para que haya un bloque que muestre una página por defecto cuando ningún nombre de dominio/subdominio coincida con los que tengo?
Gracias.
La configuración vhosts la he repartido en varios archivos especificos para cada dominio/subdominio, así puedo activarlos o desactivarlos facilmente (tal y como recomiendan en la guia de arch linux):
httpd.conf
Código (apache) [Seleccionar]
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
# Available Vhosts
Include conf/vhosts/example.dom
Include conf/vhosts/sub1.example.dom
Include conf/vhosts/sub2.example.dom
El archivo de configuración principal lo dejo para el bloque vhosts por defecto, el que se use cuando se accede al servidor mediante la ip pública o los nameservers (ns1.example.com), etc... Aquí estoy teniendo problemas y necesito saber como configurar correctamente el bloque vhosts default.
Código (apache) [Seleccionar]
<VirtualHost xxx.xxx.xxx.xxx:*>
DocumentRoot "/srv/http/default"
ServerName localhost
</VirtualHost>
o
Código (apache) [Seleccionar]
<VirtualHost *>
DocumentRoot "/srv/http/default"
ServerName localhost
</VirtualHost>
Si uso el primero se muestra siempre (da igual que pongas dominio/subdominio) el main document root de apche, que en arch linux es /srv/http y claro... puedes navegar por todas las carpetas que tengas (incluso desactivando -Indexes puedes usar la barra de navegación para averiguar nombres...).
Si uso el segundo se muestra siempre la carpeta default.
He probado quitando el bloque virtualhost default (comentando el archivo en httpd.conf) y lo mismo, se ignoran los bloques virtualhost de cada archivo, y siempre se muestra el main document root.
Código (apache) [Seleccionar]
# conf/vhosts/domain.dom
<VirtualHost domain:80>
### Igual que abajo pero sin la configuración SSL
</VirtualHost>
<VirtualHost domain.com:443>
ServerAdmin webmaster@domain.com
DocumentRoot "/srv/http/domain.com/www"
ServerName domain.com:443
ServerAlias www.domain.com:443
Protocols h2 h2c
<Directory "/srv/http/domain.com/www">
Require all granted
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^index\.php$ - [L]
RewriteRule . index.php [L]
</IfModule>
</Directory>
<IfModule dir_module>
DirectoryIndex index.php
</IfModule>
#SSLEngine on
#SSLCertificateFile "/etc/httpd/conf/apache.crt"
#SSLCertificateKeyFile "/etc/httpd/conf/apache.key"
ErrorLog "/var/log/httpd/domain.com-error_log"
CustomLog "/var/log/httpd/domain.com-access_log" common
</VirtualHost>
Esta configuración funciona en mi ordenador personal, usando el sistema operativo Manjaro (que es Arch Linux) y recuerdo que funcionaba bien. Ahora estoy configurando un servidor ARM de scaleway y estoy usando arch linux.
¿Como puedo configurar correctamente los virtual hosts para que haya un bloque que muestre una página por defecto cuando ningún nombre de dominio/subdominio coincida con los que tengo?
Gracias.