Estou tentando configurar o acesso mercurial usando o Apache http. Requer autenticação. Minha /etc/apache2/sites-enabled/mercurial
aparência é assim:
NameVirtualHost *:8080
<VirtualHost *:8080>
UseCanonicalName Off
ServerAdmin webmaster@localhost
AddHandler cgi-script .cgi
ScriptAliasMatch ^(.*) /usr/lib/cgi-bin/hgwebdir.cgi/$1
</VirtualHost>
Todo tutorial que eu li na internet me diz para inserir estas linhas:
AuthType Basic
AuthUserFile /usr/local/etc/httpd/users
Mas quando faço isso, recebo o seguinte erro:
# /etc/init.d/apache2 reload
Syntax error on line 8 of /etc/apache2/sites-enabled/mercurial:
AuthType not allowed here
Minha distribuição é um Ubuntu personalizado chamado Turnkey Linux Redmine
apache-2.2
authentication
httpd
mercurial
http-authentication
Jader Dias
fonte
fonte
<Location /opt/mcmap/shapefiles.php> AuthType Kerberos AuthName KerberosLogin KrbServiceName HTTP/intranet.spectrumasa.com KrbMethodNegotiate On KrbMethodK5Passwd On KrbAuthRealms DOMAIN.COM Krb5KeyTab /etc/httpd/conf/intranet.keytab require valid-user Options Indexes MultiViews FollowSymLinks AllowOverride All Order allow,deny Allow from all SetOutputFilter DEFLATE </Location>
require valid-user
parte. Um exemplo completo pode ser uma coisa maravilhosa. Obrigado.<Location />
qualquer forma, eu precisava não receber um erro de sintaxe ao carregar o arquivo de configuração.<Location />
editado<Location>
com uma mensagem de log interna de "corrigido ... para evitar muitos problemas", mas sem dizer nada sobre o motivo real da resposta em si? Não existe uma<Location>
diretiva (ou seja, uma sem local) no Apache. Isso definitivamente causa problemas agora. ;) (Veja, por exemplo, acima.)Estou executando o Apache2 no ubuntu 10.04 - mesmo problema e obrigado pela solução. Eu descobri que tinha que colocar a configuração em
/etc/apache2/apache2.conf
Você pode gerar o nome de usuário e a senha usando o htpasswd. Novo arquivo:
Para acrescentar ao arquivo existente:
fonte
Você pode proteger um local ou diretório. Para um diretório, adicione algo como:
Você também pode adicionar
Deny
eAllow
diretrizes para um controle mais preciso.fonte
Parece que você está especificando as configurações de autenticação no
VirtualHost
. Normalmente, essas configurações são especificadas naDirectory
diretiva.Você também pode usar
.htaccesss
arquivos, mas especificar no conf do Apache é um bom padrão, pois tem menos exposição.Documentação Apache
fonte
Estou executando o Apache2 no ubuntu 10.10. Estou tendo problemas com todas as soluções acima, mas isso funcionou bem (dos documentos do apache):
A maior diferença das respostas acima parece ser a diretiva AuthBasicProvider definida como "arquivo" e a diretiva Requer, incluindo o bit "usuário" antes do nome de usuário real.
Espero que isso ajude alguém.
fonte
Estamos executando uma versão otimizada da memória do apache e encontramos esse problema.
Isso ocorreu porque a seguinte linha não estava presente na configuração do apache:
fonte