LINUX.ORG.RU
ФорумAdmin

lighttp и доступ к папке сайта


0

0

Помогите тупому. Гуглил, но мозгов всё равно не хватает.

В lighttpd.conf есть такое и с этим всё работает:

auth.backend = "htdigest"
auth.backend.htdigest.userfile = "/etc/lighttpd/htdigest"
auth.require = ( "/RPC2" =>
(
"method" => "basic",
"realm" => "XML-RPC",
"require" => "valid-user"
)
)

Я хочу к определённой папке вебсайта сделать авторизацию по типу .htaccess. Добавляю ниже вышеуказанных строк следующее:

auth.backend = "htpasswd"
auth.backend.htpasswd.userfile = "/etc/lighttpd/htdigest"
auth.require = ( "/special/" =>
(
"method" => "basic",
"realm" => "/var/www/megasite/megapapka",
"require" => "valid-user"
)
)

вываливается ошибка при рестарте вебсервера:
Starting web server: lighttpdDuplicate config variable in conditional 0 global: auth.backend
2009-07-09 13:55:32: (configfile.c.864) source: /etc/lighttpd/lighttpd.conf line: 195 pos: 31 parser failed somehow near here: (EOL)
failed!

195-ая строка, это:
auth.backend.htpasswd.userfile = "/etc/lighttps/htdigest"

Как сделать? :(
Спасибо заранее.

У меня так (прямой копипаст). Это доступ к просмотру каталога по паролю.

   $HTTP["url"] =~ "/server/.*" {

        auth.backend = "htpasswd"
        auth.backend.htpasswd.userfile = "/var/www/la2.wrk.ru/htdocs/server/.pwd"
        auth.require = ( "/server/" =>
                (
                    "method"  => "basic",
                    "realm"   => "For Fortress users only",
                    "require" => "valid-user"
                )
            )

        dir-listing.activate = "enable"
        dir-listing.encoding = "utf-8"
        dir-listing.hide-dotfiles = "enable"
    }


А это - авторизация trac'а:

auth.backend               = "htpasswd"
$HTTP["url"] =~ "/login" {
    auth.backend.htpasswd.userfile = "/var/mercurial/.htpasswd"
    auth.require = ("/" => ("method"  => "basic",
        "realm"   => "Restrict access",
        "require" => "valid-user"
    ))
}

KRoN73 ★★★★★
()

>Duplicate config variable in conditional 0 global

Судя по всему, где-то у тебя уже определена глобальная переменная и он ругается на её дублирование.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Спасибо, получилось! Логин и пароль спрашивает, только не подходит :)
Я делал через сайт: http://www.htaccesstools.com/htpasswd-generator/
Вбил туда логин и пароль, потом указал его в строке в файле
auth.backend.htpasswd.userfile = "/etc/lighttpd/.pwd"

:)

pupkin_1c
() автор топика
Ответ на: комментарий от pupkin_1c

Попробуй в логах посмотреть.

Либо файла с паролями не находит, либо доступа к этому файлу у сервера нет, либо метод авторизации в файле не тот.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Файл на чтение доступен, это точно.
В логах lighttpd следующее:

2009-07-09 14:35:25: (log.c.97) server started
2009-07-09 14:35:46: (http_auth.c.184) parsed error in expected 'username:realm:hashed password'
2009-07-09 14:35:46: (http_auth.c.868) get_password failed
2009-07-09 14:35:55: (http_auth.c.184) parsed error in expected 'username:realm:hashed password'
2009-07-09 14:35:55: (http_auth.c.868) get_password failed
2009-07-09 14:39:22: (server.c.1469) server stopped by UID = 0 PID = 13058
2009-07-09 14:39:23: (log.c.97) server started
2009-07-09 14:39:31: (http_auth.c.868) get_password failed
2009-07-09 14:39:35: (http_auth.c.868) get_password failed
2009-07-09 15:02:15: (http_auth.c.868) get_password failed
2009-07-09 15:02:41: (http_auth.c.868) get_password failed

Это я пытался ломиться :)
Про метод авторизации тоже думал, но куда смотреть не в курсе вообще :(

pupkin_1c
() автор топика
Ответ на: комментарий от OldFornit

Это я прочитал. А что написать в realm ? Или где узнать то, что туда пишется? Как это сделать через htpasswd? :)

pupkin_1c
() автор топика
Ответ на: комментарий от OldFornit

Насколько я помню, без криптовки идет при auth.backend = "plain"

nnz ★★★★
()
Ответ на: комментарий от OldFornit

>Судя по статье, в файлике тупо прописывается username:password без какой-либо криптовки.

Нет, там классчисеский htpasswd.

Вот пример записи:

zterty:95Xc1XYBqU87A

KRoN73 ★★★★★
()

В общем, вот так заработало. По примеру KRoN73.

$HTTP["url"] =~ "/wp-admin" {
auth.backend = "htpasswd"
auth.backend.htpasswd.userfile = "/etc/lighttpd/.pwd"
auth.require = ("/" => ("method" => "basic",
"realm" => "RESTRICTED AREA FOR ELECTED USER ONLY (from Vault 13)",
"require" => "valid-user"
))
}

pupkin_1c
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.