Всем добрый день.
Кто-нибудь пробовал устанавливать loganalyzer со своей базой пользователей для доступа к фронтенду? Собственно проблема вот в чем:
Имеем Centos 6.5 x86.
1) Предварительно в mysql создаю пустую базу для loganalyzer и прописываю права пользователю.
mysql> create database loganalyzerdb;
mysql> GRANT ALL PRIVILEGES ON loganalyzerdb.* TO lognlz@localhost IDENTIFIED BY "lognlzpass";
2) На шаге 3 установки loganalyzer соответственно выбираю создание своей базы пользователей. Прописываю следующие параметры:
Enable User Database - Yes
Database Name – loganalyzerdb
Database User – lognlz
Database Password - lognlzpass
3) Далее установщик радостно рапортует, что база данных успешно преобразована, добавлены нужные таблицы.
4) на следующем шаге просит создать пользователя, который будет иметь доступ к фронтенду, что я и делаю. Потом еще пару шагов и все установка прошла успешна.
Но зайти теперь не могу, при вводе логин/пароля пишет wrong username or password. Думал может ошибся. Повторил процедур заново, не помогло. При этом если устанавливать без базы пользователей, то на страничку все прекрасно входит и видно все логи.
Так то и в первом случае можно зайти, если в config.php выставить параметр $CFG['UserDBLoginRequired'] в false, но это не дело...
Может кто сталкивался с таким.
>[оверквотинг удален]
> 4) на следующем шаге просит создать пользователя, который будет иметь доступ к
> фронтенду, что я и делаю. Потом еще пару шагов и все
> установка прошла успешна.
> Но зайти теперь не могу, при вводе логин/пароля пишет wrong username or
> password. Думал может ошибся. Повторил процедур заново, не помогло. При этом
> если устанавливать без базы пользователей, то на страничку все прекрасно входит
> и видно все логи.
> Так то и в первом случае можно зайти, если в config.php выставить
> параметр $CFG['UserDBLoginRequired'] в false, но это не дело...
> Может кто сталкивался с таким.Как раз столкнулся с той же проблемой. Решил погуглить - нашел только вопросы без ответов.
Плюнул, полез в код - там, где проверка логина. Проверяет по БД. А в БД пусто. Видимо, ошибка в коде - там, где вводится первый юзер.
Не стал искать ошибку, ввел в БД в таблицу logcon_users логин, md5 от пароля, и 1 в поле is_admin.
Залогинился :)
>[оверквотинг удален]
>> параметр $CFG['UserDBLoginRequired'] в false, но это не дело...
>> Может кто сталкивался с таким.
> Как раз столкнулся с той же проблемой. Решил погуглить - нашел только
> вопросы без ответов.
> Плюнул, полез в код - там, где проверка логина. Проверяет по БД.
> А в БД пусто. Видимо, ошибка в коде - там, где
> вводится первый юзер.
> Не стал искать ошибку, ввел в БД в таблицу logcon_users логин, md5
> от пароля, и 1 в поле is_admin.
> Залогинился :)О! И ошибка сама нашлась :)
Они не пишут в БД поле last_login, которое у них же прописано, как NOT NULL. Нужно поправить описание поля в БД - добавить "DEFAULT '0'". Тогда можно будет через админку юзеров добавлять и править.
> Они не пишут в БД поле last_login, которое у них же прописано,
> как NOT NULL. Нужно поправить описание поля в БД - добавить
> "DEFAULT '0'". Тогда можно будет через админку юзеров добавлять и править.Милый человек спасибо тебе огромное, дай бог тебе здоровья. Как только решу проблему до конца, обязательно отпишусь везде где задавал этот вопрос со ссылкой на этот топик)))
Значит я был в шаге решения проблемы, но видать свернул не вовремя))) Ранее я находил вот такой документ http://loganalyzer.adiscon.com/articles/how-to-change-the-ad..., там как раз в комментариях пишут, что
mysql> update logcon_users set password=MD5(‘xxxxx’) where username=’admin’;
должно помочь. Но тогда мне не помогло и я ушел в сторону и забыл про это. Хотя в тоже время помнил, что запрос выдавал пустой поле
mysql> select username from logcon_users;
Empty set (0.00 sec)
Собственно и сейчас проблема в том, что
mysql> UPDATE logcon_users SET username="admin";
Query OK, 0 rows affected (0.00 sec)
Rows matched: 0 Changed: 0 Warnings: 0
Не обновляет значение. И опять я в тупике((( Синтаксис вроде правильный, а в чем проблема так и не понял. Не поможешь?
> Не обновляет значение. И опять я в тупике((( Синтаксис вроде правильный, а
> в чем проблема так и не понял. Не поможешь?Разобрался. Update не срабатывает первоначально. Необходимо сперва заполнить значения строк с помощью следующей команды
mysql> INSERT INTO `logcon_users` (`ID`, `username`, `password`, `is_admin`, `is_readonly`, `last_login`) VALUES (1, 'admin', 'hashpasswordmd5', 1, 0, 0)
Потом уже можно и update использовать)))
Еще раз огромное спасибо, что наставили на путь истинный.
> Они не пишут в БД поле last_login, которое у них же прописано,
> как NOT NULL. Нужно поправить описание поля в БД - добавить
> "DEFAULT '0'". Тогда можно будет через админку юзеров добавлять и править.Для тех кто случайно наткнется на этот топик)))
Так как сам в MySQL не особо разбираюсь, пришлось чуть-чуть помучатся с синтаксисом вашего верного замечения)))
Собственно сделать нужно следующее
mysql> alter table logcon_users alter column last_login set default 0;Надеюсь вспомнят добрым словом кому поможет)))
А ни кто не подскажет, как побороть крякозябры кириллицы?
Суть. Установил Event-to-syslog 4.5.1 x64 на Win7SP1Rus. Логи отсылает на syslog, все хорошо, только русский язык, что в базе, что в текстовом файле идет с крякозябрами. Может скорее всего и эта тулза так присылает, но думаю тут проблема в том что приходит в cp1251 а надо бы в UTF-8.
Может поможет кто, я сам не очень силен в linux вот изучаю потихоньку.
> А ни кто не подскажет, как побороть крякозябры кириллицы?
> Суть. Установил Event-to-syslog 4.5.1 x64 на Win7SP1Rus. Логи отсылает на syslog, все
> хорошо, только русский язык, что в базе, что в текстовом файле
> идет с крякозябрами. Может скорее всего и эта тулза так присылает,
> но думаю тут проблема в том что приходит в cp1251 а
> надо бы в UTF-8.
> Может поможет кто, я сам не очень силен в linux вот изучаю
> потихоньку.Отвечу сам. Вдруг кому поможет кто натолкнется.
Суть проблемы выше, решение следующее. По умолчанию когда устанавливается MySQL, то кодировка выбрана latin1. Это можно посмотреть с помощью следующей команды
SHOW GLOBAL VARIABLES LIKE 'char%';
Необходимо в настройках MySQL (в моем случае это версия 5.6.15) my.cnf прописать следующие строки:
character_set_server=utf8
collation_server=utf8_general_ci
Теперь по умолчанию кодировка будет utf8 и все базы будут в такой же кодировке. Вполне может, как решение, на этапе создания базы указать в какой кодировке она будет:
create database xxxxx character set utf8; Но я выбрал первый путь.
Потом просто пересоздал базу, благо тестовая была и не жалко потерять данные.
Теперь все читается без проблем. Осталось только в самом loganalyzer в admincenter/preference сменить кодировку с iso-8859-1 на utf8.