OTRS + MS SQL

Запросы на решение проблем

Модератор: ykolesnikov

Ответить
evg.yakovlev
OTRS Новобранец
Сообщения: 14
Зарегистрирован: 13 авг 2014, 06:01

OTRS + MS SQL

Сообщение evg.yakovlev » 29 окт 2014, 11:20

Добрый день!
Не получается связать OTRS с MSSQL, может кто-то уже подобное делал, подскажите куда копать?
Имеем:
CentOs 6.5
OTRS 3.3.9
MSSQL 2012 на Windows Server 2012 R2
Что было проделано:
На MSSQL была создана БД в кодировке Cyrillic_General_CI_AS с помощью SQL-запросов находящихся в папке с OTRS: otrs-schema.mssql.sql, otrs-initial_insert.mssql.sql, otrs-schema-post.mssql.sql.Владелец БД пользователь SA.
На CentOS был установлен драйвер ODBC и внесены соответствующие параметры подключения к БД в файл ODBC.ini:

Код: Выделить всё

[mssqlotrs]
Server   = tcp:[ip сервера БД],1433
Driver   = SQL Server Native Client 11.0
Database = Otrs
В Config.p внесены следующие параметры подключения:

Код: Выделить всё

# (The database name.)
     $Self->{Database} = 'Otrs';
    # DatabaseUser
    # (The database user.)
     $Self->{DatabaseUser} = 'sa';
    # DatabasePw
    # (The password of database user. You also can use bin/otrs.CryptPassword.pl
    # for crypted passwords.)
     $Self->{DatabasePw} = 'пароль';
    # DatabaseDSN
    # (The database DNS for MS SQL)
     $Self->{DatabaseDSN} = 'DBI:ODBC:mssqlotrs';
Если подключаться к БД из консоли то все проходит отлично:

Код: Выделить всё

sqlcmd -S<ip сервера> -U <пользователь> -P <пароль> 
1> use Otrs
2> GO
Контекст базы данных изменен на "Otrs".
1> select count(*) from users
2> GO
-----------
          1
(1 rows affected)
1> quit
Так же выполняем скрипт perl /opt/otrs/bin/otrs.CheckDB.pl:

Код: Выделить всё

Trying to connect to database
DSN: DBI:ODBC:mssqlotrs
DatabaseUser: sa

Connected.
Вроде везде все отлично, но при входе агентский интерфейс, система говорит что указан неправильно имя или пароль. Так же пробовал в консоли делать выборку из БД и добавлять новых юзеров в БД, тоже все отлично работает. Может кто сталкивался с подобным, подскажите что еще можно проверить?
CentOS 6.5, MSSQL 2012, OTRS 3.3.9

merkushov
OTRS Бывалый
Сообщения: 310
Зарегистрирован: 25 окт 2012, 15:06
Откуда: Воронеж
Поблагодарили: 1 раз

Re: OTRS + MS SQL

Сообщение merkushov » 29 окт 2014, 12:17

Может в AD проблема? У вас доменная авторизация или по БД?
Меркушов Виктор, perl программист

evg.yakovlev
OTRS Новобранец
Сообщения: 14
Зарегистрирован: 13 авг 2014, 06:01

Re: OTRS + MS SQL

Сообщение evg.yakovlev » 29 окт 2014, 12:25

Может в AD проблема? У вас доменная авторизация или по БД?
До доменной авторизации еще не добрался, пока только развернул OTRS в который не могу зайти. Логин и пароль рутового пользователя взял из БД, они точно правильные. Как вариант развернул БД на MySQl и в конфиге прописал параметры новой БД через нее нормально входит в интерфейс агента, меняю обратно на MSSQL и снова говорит про неправильный логин и пароль.
CentOS 6.5, MSSQL 2012, OTRS 3.3.9

evg.yakovlev
OTRS Новобранец
Сообщения: 14
Зарегистрирован: 13 авг 2014, 06:01

Re: OTRS + MS SQL

Сообщение evg.yakovlev » 29 окт 2014, 12:42

Сейчас настроил авторизацию через AD и попробовал зайти через свои доменные учетные данные, система снова выдала, что неправильные имя или пароль. Зашел на MSSQL посмотреть таблицу users, а запись с моими доменными учетными данными там создалась. Может OTRS пароль не в той кодировке отправляет в MSSQL?
CentOS 6.5, MSSQL 2012, OTRS 3.3.9

evg.yakovlev
OTRS Новобранец
Сообщения: 14
Зарегистрирован: 13 авг 2014, 06:01

Re: OTRS + MS SQL

Сообщение evg.yakovlev » 29 окт 2014, 12:53

Вот что пишется в логах при попытке зайти в систему:

Код: Выделить всё

[Wed Oct 29 17:48:15 2014][Error][Kernel::System::Auth::DB::Auth][91] [unixODBC][Driver Manager]Driver does not support this function (SQL-IM001), SQL: 'SELECT pw, id  FROM  users  WHERE  valid_id IN ( 1 ) AND  login = 'e.yakovlev''
[Wed Oct 29 17:48:15 2014][Notice][Kernel::System::Auth::DB::Auth] User: e.yakovlev doesn't exist or is invalid!!! (REMOTE_ADDR: 10.1.1.93)
[Wed Oct 29 17:48:15 2014][Error][Kernel::System::User::UserLookup][820] [unixODBC][Driver Manager]Driver does not support this function (SQL-IM001), SQL: 'SELECT TOP 1 id FROM users  WHERE (login) = ?'
[Wed Oct 29 17:48:25 2014][Notice][Kernel::System::Auth::DB::Auth] User: gena authentication with wrong Pw!!! (Method: sha1, REMOTE_ADDR: 10.1.1.93)
[Wed Oct 29 17:50:01 2014][Error][Kernel::System::PID::PIDGet][181] [unixODBC][Driver Manager]Driver does not support this function (SQL-IM001), SQL: '
            SELECT process_name, process_id, process_host, process_create, process_change
            FROM process_id
            WHERE process_name = ?'
[Wed Oct 29 17:50:01 2014][Error][Kernel::System::PID::PIDGet][181] [unixODBC][Driver Manager]Driver does not support this function (SQL-IM001), SQL: '
            SELECT process_name, process_id, process_host, process_create, process_change
            FROM process_id
            WHERE process_name = ?'
[Wed Oct 29 17:51:09 2014][Notice][Kernel::System::Auth::DB::Auth] User: root@localhost authentication with wrong Pw!!! (Method: crypt, REMOTE_ADDR: 10.1.1.93)
CentOS 6.5, MSSQL 2012, OTRS 3.3.9

alexus
OTRS Гуру
Сообщения: 5010
Зарегистрирован: 20 сен 2010, 18:17
Откуда: Москва
Благодарил (а): 64 раза
Поблагодарили: 62 раза

Re: OTRS + MS SQL

Сообщение alexus » 29 окт 2014, 14:34

В логах слбственно всё ясно. У вас проблема с ODBC драйвером.
С уважением,
Алексей Юсов

Prod: OTRS ITSM 5.0.14 on CentOS 7 x64 Linux with MySQL 5.7

Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!

evg.yakovlev
OTRS Новобранец
Сообщения: 14
Зарегистрирован: 13 авг 2014, 06:01

Re: OTRS + MS SQL

Сообщение evg.yakovlev » 30 окт 2014, 04:31

В логах слбственно всё ясно. У вас проблема с ODBC драйвером.
Название драйвера в логах я тоже заметил :))) почему тогда он спокойно подключается к БД (делает выборку и вставку данных)? В какой кодировке должна быть БД на MSSQL?
CentOS 6.5, MSSQL 2012, OTRS 3.3.9

evg.yakovlev
OTRS Новобранец
Сообщения: 14
Зарегистрирован: 13 авг 2014, 06:01

Re: OTRS + MS SQL

Сообщение evg.yakovlev » 30 окт 2014, 06:58

Если кому-нибудь будет интересно, то проблема решилась следующим образом:

Проверил модули командой: perl /opt/otrs/bin/otrs.CheckModules.pl
Установил все рекомендованные модули с помощью CPAN. Настроил интеграцию с AD. После интеграции удалось зайти под своей доменной учетной записью, но в БД в таблице с юзерами увидел, что у рутового пользователя пароль в открытом виде, тогда как у вновь созданного пароль хранился в виде хеша. Далее создал в AD учетную запись с таким же паролем, как моей учетки и в БД в таблице с юзерами изменил у рутового пользователя данные на вновь созданные. После этих манипуляций удалось зайти с правами админа. Странно только то что в БД для своей доменной учетной записи я выставил права админа, но они не применялись, когда зашел под рутовым пользователем увидел у моей доменной учетки уже стоят все права, нажал еще раз кнопку откправить и права появились.

Видимо проблема была в том, что в БД лежал пароль в открытом виде, а не его хеш.
CentOS 6.5, MSSQL 2012, OTRS 3.3.9

Ответить