Próbuję skonfigurować dostęp rtęciowy za pomocą Apache http. Wymaga uwierzytelnienia. Mój /etc/apache2/sites-enabled/mercurial
wygląda tak:
NameVirtualHost *:8080
<VirtualHost *:8080>
UseCanonicalName Off
ServerAdmin webmaster@localhost
AddHandler cgi-script .cgi
ScriptAliasMatch ^(.*) /usr/lib/cgi-bin/hgwebdir.cgi/$1
</VirtualHost>
Każdy samouczek, który czytam w Internecie, każe mi wstawić następujące wiersze:
AuthType Basic
AuthUserFile /usr/local/etc/httpd/users
Ale kiedy to robię, pojawia się następujący błąd:
# /etc/init.d/apache2 reload
Syntax error on line 8 of /etc/apache2/sites-enabled/mercurial:
AuthType not allowed here
Moja dystrybucja to dostosowany Ubuntu o nazwie Turnkey Linux Redmine
apache-2.2
authentication
httpd
mercurial
http-authentication
Jader Dias
źródło
źródło
<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
część. Kompletny przykład może być cudowną rzeczą. Dzięki.<Location />
W każdym razie potrzebowałem, aby nie dostać błędu składniowego podczas ładowania pliku konfiguracyjnego.<Location />
edytowano<Location>
z wewnętrznym komunikatem „naprawiono ... aby uniknąć wielu problemów”, ale nie mówi się nic o prawdziwym celu w samej odpowiedzi? W Apache nie ma czegoś takiego jak<Location>
dyrektywa (tzn. Taka bez lokalizacji). To z pewnością powoduje teraz kłopoty. ;) (Patrz np. Powyżej.)Używam Apache2 na Ubuntu 10.04 - ten sam problem i dziękuję za rozwiązanie. Odkryłem, że musiałem wprowadzić konfigurację
/etc/apache2/apache2.conf
Możesz wygenerować nazwę użytkownika i hasło za pomocą htpasswd. Nowy plik:
Aby dołączyć do istniejącego pliku:
źródło
Możesz chronić lokalizację lub katalog. W przypadku katalogu dodaj coś takiego:
Możesz także dodawać dyrektywy
Deny
iAllow
dyrektywy, aby uzyskać lepszą kontrolę.źródło
Wygląda na to, że określasz ustawienia uwierzytelniania w
VirtualHost
. Zazwyczaj ustawienia te są określone wDirectory
dyrektywie.Możesz także użyć
.htaccesss
plików, ale określenie w conf Apache jest dobrym ustawieniem domyślnym, ponieważ ma mniejszą ekspozycję.Dokumentacja Apache
źródło
Używam Apache2 na Ubuntu 10.10. Mam problemy ze wszystkimi powyższymi rozwiązaniami, ale zadziałało to dobrze (z dokumentów apache):
Największą różnicą w stosunku do powyższych odpowiedzi wydaje się być dyrektywa AuthBasicProvider ustawiona na „plik” oraz dyrektywa Wymagaj zawierająca bit „użytkownika” przed rzeczywistą nazwą użytkownika.
Mam nadzieję, że to komuś pomoże.
źródło
Uruchomiliśmy zoptymalizowaną pod kątem pamięci wersję apache i napotkaliśmy ten problem.
Było to spowodowane brakiem następującej linii w konfiguracji apache:
źródło