Комментарии 14
С «кавычками» вокруг «имён собственных», пожалуй, перебор.
А теперь сюда ещё нужно прикрутить плагин CRM для полного счастья, ибо это тоже магия.
Redmine из коробки мало для чего подходит, по моему мнению. Но у него большой плюс в наличие большого количества плагинов и в хорошей расширяемости. Мы достаточно удачно используем его в корпоративных целях, как единую информационную среду.
Мы тоже его используем, но с совместимостью версий, плагинами и обновлениями бывает не просто.
раньше я тоже использовал пассенжер. тк было удобно, потому что всего одна команда и почти любое ror приложение работало сразу.
а потом когда я научился использовать rvm и узнал о unicorn (или puma), то сразу понял, что оно лучше:
быстрее загрузка, гибче настройка и уверенность в том, что ror приложение работает именно от того пользователя, под которым запущен unicorn.
а апач (хотя в моем случае nginx), используется исключительно как прокси.
при такой схеме удобно и быстро можно держать несколько версий редмайна (а иногда и такое бывает)
или любые другие веб приложения.
а потом когда я научился использовать rvm и узнал о unicorn (или puma), то сразу понял, что оно лучше:
быстрее загрузка, гибче настройка и уверенность в том, что ror приложение работает именно от того пользователя, под которым запущен unicorn.
а апач (хотя в моем случае nginx), используется исключительно как прокси.
при такой схеме удобно и быстро можно держать несколько версий редмайна (а иногда и такое бывает)
или любые другие веб приложения.
Сейчас на работе занимаюсь тем, что настраиваю прозрачную аутентификацию на Redmine. Но никак не получается настроить ntlm.
Я пока создал просто маленькую тестовую страничку на PHP, где дампится $_SERVER. При заходе на эту страницу появляется окно авторизации. Ввожу логин/пароль, оно появляется снова, ввожу еще раз — снова появляется. Пробовал логин вводить в разных форматах: domain\login, login, domain\\login, ничего не работает. Все данные (хост, домен) должны быть верные, так как во встроенном LDAP Redmine все работает. Вот логи апача:
[info] [client 192.168.9.75] 3064054256 23800 / — NTLMXX-Creating new ntlm_connection: 1
[debug] mod_ntlm.c(78): [client 192.168.9.75] 3064054256 23800 / — got auth_line «ЗДЕСЬ ДЛИННАЯ СТРОКА»
[debug] mod_ntlm.c(78): [client 192.168.9.75] 3064054256 23800 / — got header with host "", domain "", unicode flag 7
[info] [client 192.168.9.75] 3064054256 23800 / — received msg1 keep-alive: 0, keepalives: 0
[info] [client 192.168.9.75] 3064054256 23800 / — send WWW-Authenticate «ЗДЕСЬ ДЛИННАЯ СТРОКА»
[debug] mod_deflate.c(615): [client 192.168.9.75] Zlib: Compressed 475 to 320: URL /
[debug] mod_ntlm.c(78): [client 192.168.9.75] 3064054256 23800 / — got auth_line «ЗДЕСЬ ДЛИННАЯ СТРОКА»
[Thu Dec 26 12:56:53 2013] [debug] mod_ntlm.c(78): [client 192.168.9.75] 3064054256 23800 / — got header with host «HW008», domain «НАЗВАНИЕ НАШЕГО ДОМЕНА», unicode flag 7
[Thu Dec 26 12:56:53 2013] [info] [client 192.168.9.75] 3064054256 23800 / — received msg3
[Thu Dec 26 12:56:53 2013] [info] [client 192.168.9.75] 3064054256 23800 / — authenticating user against DC
[Thu Dec 26 12:56:53 2013] [error] [client 192.168.9.75] 3064054256 23800 / — NTLM/SMB user "(null)": authentication failure for "/"
[Thu Dec 26 12:56:53 2013] [debug] mod_deflate.c(615): [client 192.168.9.75] Zlib: Compressed 475 to 320: URL /
Вот конфиг апача:
Наш домен Active Directory выглядит как домен второго уровня, поэтому SUB.DOMAIN.COM.
Что может работать неправильно?
Я пока создал просто маленькую тестовую страничку на PHP, где дампится $_SERVER. При заходе на эту страницу появляется окно авторизации. Ввожу логин/пароль, оно появляется снова, ввожу еще раз — снова появляется. Пробовал логин вводить в разных форматах: domain\login, login, domain\\login, ничего не работает. Все данные (хост, домен) должны быть верные, так как во встроенном LDAP Redmine все работает. Вот логи апача:
[info] [client 192.168.9.75] 3064054256 23800 / — NTLMXX-Creating new ntlm_connection: 1
[debug] mod_ntlm.c(78): [client 192.168.9.75] 3064054256 23800 / — got auth_line «ЗДЕСЬ ДЛИННАЯ СТРОКА»
[debug] mod_ntlm.c(78): [client 192.168.9.75] 3064054256 23800 / — got header with host "", domain "", unicode flag 7
[info] [client 192.168.9.75] 3064054256 23800 / — received msg1 keep-alive: 0, keepalives: 0
[info] [client 192.168.9.75] 3064054256 23800 / — send WWW-Authenticate «ЗДЕСЬ ДЛИННАЯ СТРОКА»
[debug] mod_deflate.c(615): [client 192.168.9.75] Zlib: Compressed 475 to 320: URL /
[debug] mod_ntlm.c(78): [client 192.168.9.75] 3064054256 23800 / — got auth_line «ЗДЕСЬ ДЛИННАЯ СТРОКА»
[Thu Dec 26 12:56:53 2013] [debug] mod_ntlm.c(78): [client 192.168.9.75] 3064054256 23800 / — got header with host «HW008», domain «НАЗВАНИЕ НАШЕГО ДОМЕНА», unicode flag 7
[Thu Dec 26 12:56:53 2013] [info] [client 192.168.9.75] 3064054256 23800 / — received msg3
[Thu Dec 26 12:56:53 2013] [info] [client 192.168.9.75] 3064054256 23800 / — authenticating user against DC
[Thu Dec 26 12:56:53 2013] [error] [client 192.168.9.75] 3064054256 23800 / — NTLM/SMB user "(null)": authentication failure for "/"
[Thu Dec 26 12:56:53 2013] [debug] mod_deflate.c(615): [client 192.168.9.75] Zlib: Compressed 475 to 320: URL /
Вот конфиг апача:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/ntlm
ServerName ntlm.dev
<Location />
AuthName NTAuth
AuthType NTLM
NTLMAuth on
NTLMAuthoritative on
NTLMDomain SUB.DOMAIN.COM
NTLMServer dc2.sub.domain.com
NTLMBackup dc2.sub.domain.com
NTLMLockfile /tmp/_my.lck
require valid-user
</Location>
</VirtualHost>
Наш домен Active Directory выглядит как домен второго уровня, поэтому SUB.DOMAIN.COM.
Что может работать неправильно?
В самом Redmine во встроенном LDAP я ввожу такие параметры и все работает:
Name = ActiveDirectory
Host = dc2.sub.domain.com
Port = 389
LDAPS = no
Account = Domain\Login
Password = password
Base DN = DC=sub,DC=domain,DC=com
On-the-fly user creation = no
Attributes
Login = sAMAccountName
Я правильно понимаю, что LDAP Redmine и NTLM должны пытаться подключиться к одному и тому же серверу? Если да, то почему в LDAP Redmine мы указываем еще логин/пароль пользователя с правами на чтение в домене, а в NTLM нет?
Name = ActiveDirectory
Host = dc2.sub.domain.com
Port = 389
LDAPS = no
Account = Domain\Login
Password = password
Base DN = DC=sub,DC=domain,DC=com
On-the-fly user creation = no
Attributes
Login = sAMAccountName
Я правильно понимаю, что LDAP Redmine и NTLM должны пытаться подключиться к одному и тому же серверу? Если да, то почему в LDAP Redmine мы указываем еще логин/пароль пользователя с правами на чтение в домене, а в NTLM нет?
Что может работать неправильно?
В браузере еще бывает нужно настройки вносить, чтоб он отдавал данные для аутентификации. Во всех браузерах это по разному настраивается. В интернете статьи есть.
Вот например для Firefox sivel.net/2007/05/firefox-ntlm-sso/
Если окно аутентификации вылетает, значит это уже не сквозная аутентификация. Скорее всего браузер не настроен, вообще.
Я правильно понимаю, что LDAP Redmine и NTLM должны пытаться подключиться к одному и тому же серверу? Если да, то почему в LDAP Redmine мы указываем еще логин/пароль пользователя с правами на чтение в домене, а в NTLM нет?
Думаю, потому что данные отправляет сам браузер. Он знает на какой домен слать эти данные. Компьютер же в домене. Шлет скорее всего хеш пароля.
Спасибо, разобрался. Дело в том, что на новых осях уже используется NTLMv2. Данный модуль mod_ntlm писался во времена Win XP, когда был еще NTLM версии 1. Чтобы переключиться на NTLM первой версии надо:
1) Панель управления -> Администрирование -> Локальная политика безопасности
2) Далее выбираем папку Локальные политики -> параметры безопасности
3) Находим в списке «Сетевая безопасность: уровень проверки подлинности LAN-Manager», кликаем на него и в списке выбираем «Отправлять LM- и NTLM- ответы»
Но это я считаю, какой-то грязный хак. Прозрачная аутентификация заработала в ИЕ, у меня 9. В Хром все так же выскакивает окошко ввода пароля, но после ввода пускает. Firefox по-прежнему никак не заводится.
1) Панель управления -> Администрирование -> Локальная политика безопасности
2) Далее выбираем папку Локальные политики -> параметры безопасности
3) Находим в списке «Сетевая безопасность: уровень проверки подлинности LAN-Manager», кликаем на него и в списке выбираем «Отправлять LM- и NTLM- ответы»
Но это я считаю, какой-то грязный хак. Прозрачная аутентификация заработала в ИЕ, у меня 9. В Хром все так же выскакивает окошко ввода пароля, но после ввода пускает. Firefox по-прежнему никак не заводится.
1) Для Firefox сработало добавление хоста сервера в опцию network.automatic-ntlm-auth.trusted-uris на странице about:config
2) Для ИЕ кроме того нужно сделать следующее:
Настройки ИЕ -> Свойства обозревателя -> Безопасность -> Местная интрасеть, щелкаем «Узлы», потом «Дополнительно» и добавляем хост сервера. После этого заработал и хром.
2) Для ИЕ кроме того нужно сделать следующее:
Настройки ИЕ -> Свойства обозревателя -> Безопасность -> Местная интрасеть, щелкаем «Узлы», потом «Дополнительно» и добавляем хост сервера. После этого заработал и хром.
Доменное имя «redmine.local» должно быть определено (разрешаться) в той сети, где вы будете использовать «Redmine».
Где и как можно определить?
Я ставил по этой ссылке help.ubuntu.ru/wiki/redmine и в той статье написано
не забудьте настроить псевдоним redmine.domen в DNS
А как это сделать — не могу разобраться.
Если локально настраиваете, то в файлике hosts компьютера с которого заходите на redmine. Он есть как в linux, так и в windows.
Если для всей сети подымаете, то тогда на DNS-сервере сети.
Если для всей сети подымаете, то тогда на DNS-сервере сети.
Спасибо.
Делаю для всей сети.
Дописал в конец файла /etc/bind/db.domain.ru
Вышло следующее:
Вот только ничего не понятно — для чего ns.domain.ru.? Но все работает теперь.
Делаю для всей сети.
Дописал в конец файла /etc/bind/db.domain.ru
redmine IN A 192.168.1.13
Вышло следующее:
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA domain.ru. root.domain.ru. (
6 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
IN A 192.168.1.13
;
@ IN NS ns.domain.ru.
@ IN A 192.168.1.13
@ IN AAAA ::1
ns IN A 192.168.1.13
redmine IN A 192.168.1.13
Вот только ничего не понятно — для чего ns.domain.ru.? Но все работает теперь.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Установка «Redmine» на «Linux Ubuntu» с прозрачной аутентификацией в домене (Apache, Passenger, RVM, MySQL)