Я пытаюсь настроить ртутный доступ, используя Apache http. Требуется аутентификация. Моя /etc/apache2/sites-enabled/mercurial
выглядит так:
NameVirtualHost *:8080
<VirtualHost *:8080>
UseCanonicalName Off
ServerAdmin webmaster@localhost
AddHandler cgi-script .cgi
ScriptAliasMatch ^(.*) /usr/lib/cgi-bin/hgwebdir.cgi/$1
</VirtualHost>
Каждый учебник, который я читаю в интернете, говорит мне вставить следующие строки:
AuthType Basic
AuthUserFile /usr/local/etc/httpd/users
Но когда я делаю это, я получаю следующую ошибку:
# /etc/init.d/apache2 reload
Syntax error on line 8 of /etc/apache2/sites-enabled/mercurial:
AuthType not allowed here
Мой дистрибутив - это пользовательская версия Ubuntu под названием Redmine для Linux под ключ.
apache-2.2
authentication
httpd
mercurial
http-authentication
Джадер Диас
источник
источник
<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
часть. Полный пример может быть замечательной вещью. Благодарю.<Location />
в любом случае не получить синтаксическую ошибку при загрузке файла конфигурации.<Location />
редактировалось<Location>
внутреннее сообщение в журнале «исправлено ... чтобы избежать многих проблем», но ничего не говорилось об истинной причине в самом ответе? В Apache нет такой вещи, как<Location>
директива (то есть без местоположения). Это определенно вызывает проблемы сейчас. ;) (См., Например, выше.)Я использую Apache2 на Ubuntu 10.04 - та же проблема и спасибо за решение. Я обнаружил, что должен был поставить конфигурацию в
/etc/apache2/apache2.conf
Вы можете сгенерировать имя пользователя и пароль, используя htpasswd. Новый файл:
Чтобы добавить в существующий файл:
источник
Вы можете защитить местоположение или каталог. Для справочника добавьте что-то вроде:
Вы также можете добавить
Deny
иAllow
директивы для более точного управления.источник
Похоже, вы указываете параметры аутентификации в
VirtualHost
. Как правило, эти настройки указываются вDirectory
директиве.Вы также можете использовать
.htaccesss
файлы, но указание в конфигурации Apache является хорошим значением по умолчанию, так как оно имеет меньшую подверженность.Apache Documentation
источник
Я использую Apache2 на Ubuntu 10.10. У меня были проблемы со всеми вышеупомянутыми решениями, но это работало хорошо (из документов Apache):
Самым большим отличием от приведенных выше ответов является директива AuthBasicProvider, установленная в «file», и директива Require, включающая бит «user» перед фактическим именем пользователя.
Надеюсь, это кому-нибудь поможет.
источник
Мы запускаем оптимизированную для памяти версию apache и столкнулись с этой проблемой.
Это произошло из-за отсутствия следующей строки в конфигурации apache:
источник