Назад | Перейти на главную страницу

Mercurial Apache Web Access дает мне 403 запрещенный доступ

после попытки включить ртутный веб-доступ к apache в моем окне Ubuntu Server 12.04 у меня возникла ошибка 403 Forbidden при доступе http://my.site.com/mercurial с журналом:

[Вт, 04 сентября, 01:20:22 2012] [ошибка] [клиент X.X.X.X] клиент отклонен конфигурацией сервера: /mercurial/hgweb.cgi

Я добавил это в / etc / apache2 / sites-available / default

    ScriptAliasMatch ^/mercurial(.*) /mercurial/hgweb.cgi$1
    <Directory /var/www/mercurial>
            Options Indexes FollowSymlinks MultiViews ExecCGI
            Options None
            AllowOverride All
            Order allow,deny
            Allow from all
            AuthType Basic
            AuthName "Repositorio Mercurial"
            AuthUserFile /mercurial/hgusers
            Require valid-user
    </Directory>

Это странно, но apache не запрашивает пароль при попытке доступа к папке веб-сервера

[web] 
style = gitweb

[collections] 
/mercurial/repositories = /mercurial/repositories

/mercurial/hgwebconfig.cgi (в файловой системе)

config = "/mercurial/hgweb.config"

Я связал / mercurial с / var / www / mercurial

Любой совет будет очень признателен.

Спасибо

Поскольку вы используете /mercurial (в файловой системе) в качестве корня вашего скрипта, вам нужна конфигурация авторизации там, а не на /var/www/mercurial, несмотря на то, что /mercurial символические ссылки на /var/www/mercurial. Из документация Options директива:

Несмотря на то, что сервер следует по символической ссылке, он не меняет путь, используемый для сопоставления с <Directory> разделы.

Итак, переместите контроль доступа <Directory> блок для /mercurial - и тебе понадобится FollowSymLinks на / также. (Кстати, а почему у него Options None сразу после другого Options директива?)

Символическая ссылка делает это намного более сложным и запутанным, чем должно быть - я бы действительно рекомендовал избавиться от этого и использовать /var/www/mercurial путь к файловой системе, что значительно упростит ситуацию.