Estou tentando configurar dois sites em um único servidor apache2.
um o site principal e o outro é um servidor de nuvem
o primeiro é definido em 000-default.conf:
<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www-sites/main/
<Directory /var/www-sites/main/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Require all granted
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
O segundo está em 100-cloud.conf
<VirtualHost *:80>
DocumentRoot /var/www-sites/OwnCloud
ServerName cloud.example.com
ServerAlias www.cloud.example.com
ServerAdmin webmaster@localhost
<Directory /var/www-sites/OwnCloud>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Require all granted
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
Agora aqui está o estranho:
neste exemplo, o www.cloud.example.com goos para o site padrão (example.com) e não para cloud.example.com
se eu mudar o nome do primeiro arquivo conf para zzz-default.conf, o www.example.com goos para o cloud.example.com
também se eu alterar os arquivos para que ele seja:
ServerName www.cloud.example.com
ServerAlias cloud.example.com
cloud.example será direcionado para o padrão como se o ServerAlias NÃO estivesse funcionando
o que estou fazendo errado? no meu outro servidor isso funciona muito bem.
obrigado
informação extra: a saída de apachectl -S
é:
VirtualHost configuration:
*:80 is a NameVirtualHost
default server www.example.com (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost www.example.com (/etc/apache2/sites-enabled/000-default.conf:1)
alias example.com
port 80 namevhost sys.example.com (/etc/apache2/sites-enabled/000-default.conf:50)
port 80 namevhost cloud.example.com (/etc/apache2/sites-enabled/100-cloud.conf:1)
alias www.cloud.example.com
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex default: dir="/var/lock/apache2" mechanism=fcntl
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
Define: ENABLE_USR_LIB_CGI_BIN
User: name="www-data" id=33 not_used
Group: name="www-data" id=33 not_used