Estou tentando impedir que o servidor HTTP básico 80 fique na raiz do meu DNS dinâmico e, em vez disso, usar um subdiretório.
então em vez de
blabla.dynamicdns.org
não será servido mas
blabla.dynamicdns.org/service
seria.
Esta tentativa de configuração não funcionou. Diz que as raízes do documento não são permitidas em tags Directory.
Eu sei o quanto o SE adora seus exemplos, então vou colocar essa configuração padrão aqui de qualquer forma.
Eu literalmente não sei nada e preciso literalmente ser alimentado com colher aqui, e é difícil pesquisar no Google sobre isso.
<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
# 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
<Directory /var/www/html/ampache/>
DocumentRoot /var/www/html/ampache
DocumentRoot /var/www/html/ampache/public
</Directory>
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>
Uma configuração mais correta, que ainda não produz o resultado desejado:
<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/ampache
DocumentRoot /var/www/html/ampache/public
# 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>
Desculpe por esse spam de fato, mas meu histórico com SE e meu desejo por "exemplos práticos" sobre tópicos que nem sei como funcionam me forçaram a agir.
DocumentRoot
sempre define o mapeamento de/
(o diretório raiz de suas URLs). Para definir mapeamentos para subdiretórios de URL, em vez disso, useAlias
. Veja Mapeamento de URLs para uma visão geral.(Em termos gerais,
DocumentRoot /var/foo
é comoAlias "/" /var/foo
.)Se você não quiser servir nada em
/
, mapeie DocumentRoot para um diretório vazio (possivelmente até mesmo um com permissões restritas) e use Alias para definir os subdiretórios individuais que você deseja.Não faz sentido ter mais de um DocumentRoot por vhost, pois todos eles definiriam mapeamentos para o mesmo
/
e uma URL só pode ir para um local por vez – apenas a última definição será usada. Da mesma forma, não faz sentido criar um Alias para o mesmo caminho mais de uma vez.