Не запускается sams на CentOS

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модератор: SLEDopit

Ответить
Аватара пользователя
Trojan
Сообщения: 359
Статус: Системный ламер
ОС: CentOS 7

Не запускается sams на CentOS

Сообщение Trojan »

Установил пакеты необходимые для sams + squid по этому видео https://www.youtube.com/watch?v=UQqTbgncPs8&t=955s. httpd и mariadb стартанули, а sams запускаться не хочет. Посмотрел systemctl status sams2.service и journalctl -xe. Вышло следующее:

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

[root@proxy1 etc]# systemctl status sams2.service
● sams2.service - SYSV: Startup/shutdown script for the SQUID Access Management System (SAMS).
   Loaded: loaded (/etc/rc.d/init.d/sams2)
   Active: failed (Result: exit-code) since Wed 2016-11-23 04:09:18 EST; 7s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 76857 ExecStart=/etc/rc.d/init.d/sams2 start (code=exited, status=1/FAILURE)

Nov 23 04:09:18 proxy1.example.com sams2[76857]: Starting sams2: samsdaemon[76858]: ***ERROR: mysqlconn.cpp:57 mysql_real_connect: Unknown database 'sams2db'
Nov 23 04:09:18 proxy1.example.com samsdaemon[76858]: Reading config file /etc/sams2.conf
Nov 23 04:09:18 proxy1.example.com sams2[76857]: samsdaemon[76858]: ***ERROR: mysqlconn.cpp:57 mysql_real_connect: Unknown database 'sams2db'
Nov 23 04:09:18 proxy1.example.com samsdaemon[76858]: ***ERROR: mysqlconn.cpp:57 mysql_real_connect: Unknown database 'sams2db'
Nov 23 04:09:18 proxy1.example.com samsdaemon[76858]: Reading config file /etc/sams2.conf
Nov 23 04:09:18 proxy1.example.com systemd[1]: sams2.service: control process exited, code=exited status=1
Nov 23 04:09:18 proxy1.example.com systemd[1]: Failed to start SYSV: Startup/shutdown script for the SQUID Access Management System (SAMS)..
Nov 23 04:09:18 proxy1.example.com systemd[1]: Unit sams2.service entered failed state.
Nov 23 04:09:18 proxy1.example.com systemd[1]: sams2.service failed.
Nov 23 04:09:18 proxy1.example.com sams2[76857]: [FAILED]
[root@proxy1 etc]# journalctl -xe
Nov 23 04:08:42 proxy1.example.com dhcpd[34962]: send_packet: Operation not permitted
Nov 23 04:08:42 proxy1.example.com dhcpd[34962]: dhcp.c:3332: Failed to send 300 byte long packet over fallback interface.
Nov 23 04:08:53 proxy1.example.com dhcpd[34962]: DHCPREQUEST for 192.168.1.22 from 00:0c:29:a7:0a:bf (client1) via eno33554960
Nov 23 04:08:53 proxy1.example.com dhcpd[34962]: DHCPACK on 192.168.1.22 to 00:0c:29:a7:0a:bf (client1) via eno33554960
Nov 23 04:08:53 proxy1.example.com dhcpd[34962]: send_packet: Operation not permitted
Nov 23 04:08:53 proxy1.example.com dhcpd[34962]: dhcp.c:3332: Failed to send 300 byte long packet over fallback interface.
Nov 23 04:09:04 proxy1.example.com dhcpd[34962]: DHCPREQUEST for 192.168.1.22 from 00:0c:29:a7:0a:bf (client1) via eno33554960
Nov 23 04:09:04 proxy1.example.com dhcpd[34962]: DHCPACK on 192.168.1.22 to 00:0c:29:a7:0a:bf (client1) via eno33554960
Nov 23 04:09:04 proxy1.example.com dhcpd[34962]: send_packet: Operation not permitted
Nov 23 04:09:04 proxy1.example.com dhcpd[34962]: dhcp.c:3332: Failed to send 300 byte long packet over fallback interface.
Nov 23 04:09:18 proxy1.example.com polkitd[16764]: Registered Authentication Agent for unix-process:76852:18740868 (system bus name :1.188 [/usr/bin/pkttyagent
Nov 23 04:09:18 proxy1.example.com systemd[1]: Starting SYSV: Startup/shutdown script for the SQUID Access Management System (SAMS)....
-- Subject: Unit sams2.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit sams2.service has begun starting up.
Nov 23 04:09:18 proxy1.example.com sams2[76857]: Starting sams2: samsdaemon[76858]: ***ERROR: mysqlconn.cpp:57 mysql_real_connect: Unknown database 'sams2db'
Nov 23 04:09:18 proxy1.example.com samsdaemon[76858]: Reading config file /etc/sams2.conf
Nov 23 04:09:18 proxy1.example.com sams2[76857]: samsdaemon[76858]: ***ERROR: mysqlconn.cpp:57 mysql_real_connect: Unknown database 'sams2db'
Nov 23 04:09:18 proxy1.example.com samsdaemon[76858]: ***ERROR: mysqlconn.cpp:57 mysql_real_connect: Unknown database 'sams2db'
Nov 23 04:09:18 proxy1.example.com samsdaemon[76858]: Reading config file /etc/sams2.conf
Nov 23 04:09:18 proxy1.example.com samsdaemon[76858]: ***ERROR: mysqlconn.cpp:57 mysql_real_connect: Unknown database 'sams2db'
Nov 23 04:09:18 proxy1.example.com samsdaemon[76858]: ***ERROR: samsdaemon.cpp:309 Cannot get sleep time for daemon. See debugging messages for more details.
Nov 23 04:09:18 proxy1.example.com systemd[1]: sams2.service: control process exited, code=exited status=1
Nov 23 04:09:18 proxy1.example.com systemd[1]: Failed to start SYSV: Startup/shutdown script for the SQUID Access Management System (SAMS)..
-- Subject: Unit sams2.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit sams2.service has failed.
--
-- The result is failed.
Nov 23 04:09:18 proxy1.example.com systemd[1]: Unit sams2.service entered failed state.
Nov 23 04:09:18 proxy1.example.com systemd[1]: sams2.service failed.
Nov 23 04:09:18 proxy1.example.com sams2[76857]: [FAILED]
Nov 23 04:09:18 proxy1.example.com polkitd[16764]: Unregistered Authentication Agent for unix-process:76852:18740868 (system bus name :1.188, object path /org/
Nov 23 04:09:22 proxy1.example.com dhcpd[34962]: DHCPREQUEST for 192.168.1.22 from 00:0c:29:a7:0a:bf (client1) via eno33554960
Nov 23 04:09:22 proxy1.example.com dhcpd[34962]: DHCPACK on 192.168.1.22 to 00:0c:29:a7:0a:bf (client1) via eno33554960
Nov 23 04:09:22 proxy1.example.com dhcpd[34962]: send_packet: Operation not permitted
Nov 23 04:09:22 proxy1.example.com dhcpd[34962]: dhcp.c:3332: Failed to send 300 byte long packet over fallback interface.

В /etc/init.d/sams2 и /etc/sams2.conf ничего не трогал. По логу вижу, что что-то не то с базой данных. Подскажите, пожалуйста, в чем именно проблема.
Всегда думай то, что говоришь и никогда не говори то, что думаешь.

Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Не запускается sams на CentOS

Сообщение Bizdelnick »

Trojan писал(а):
23.11.2016 12:15
По логу вижу, что что-то не то с базой данных. Подскажите, пожалуйста, в чем именно проблема.

Trojan писал(а):
23.11.2016 12:15
Unknown database 'sams2db'

Не так с базой данных то, что её нет.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Trojan
Сообщения: 359
Статус: Системный ламер
ОС: CentOS 7

Re: Не запускается sams на CentOS

Сообщение Trojan »

Bizdelnick писал(а):
23.11.2016 12:53
Не так с базой данных то, что её нет.

Прошелся по документации SAMS.
3.5 Создание базы данных SAMS

Создание базы данных SAMS в СУБД MySQL

База данных SAMS для MySQL создается автоматически при первом запуске WEB интерфейса.

Создание базы данных SAMS в СУБД PostgreSQL

1. Создание пользователя

Вы должны создать пользователя только для базы данных SAMS.
Следующая команда создает нового пользователя «username» и запрашиваетпвроль этого пользователя:

createuser –pwprompt –encrypted –no-adduser –no-createdb username

2. Создание базы данных SAMS

Вы должны создать базу данных только для использования с SAMS.
Следующая команда создает новую базу данных «databasename», принадлежащую пользователю «username»:

createdb –owner=username databasename

У меня установлен mysql-devel который установился как mariadb. Пытаюсь войти через браузер, но не заходит. :wacko: Мне все таки сначала базу данных надо создать?
Всегда думай то, что говоришь и никогда не говори то, что думаешь.

Спасибо сказали:
Аватара пользователя
Serega86
Сообщения: 199
ОС: OpenSuse

Re: Не запускается sams на CentOS

Сообщение Serega86 »

Trojan писал(а):
23.11.2016 13:21
Bizdelnick писал(а):
23.11.2016 12:53
Не так с базой данных то, что её нет.

Прошелся по документации SAMS.
3.5 Создание базы данных SAMS

Создание базы данных SAMS в СУБД MySQL

База данных SAMS для MySQL создается автоматически при первом запуске WEB интерфейса.

Создание базы данных SAMS в СУБД PostgreSQL

1. Создание пользователя

Вы должны создать пользователя только для базы данных SAMS.
Следующая команда создает нового пользователя «username» и запрашиваетпвроль этого пользователя:

createuser –pwprompt –encrypted –no-adduser –no-createdb username

2. Создание базы данных SAMS

Вы должны создать базу данных только для использования с SAMS.
Следующая команда создает новую базу данных «databasename», принадлежащую пользователю «username»:

createdb –owner=username databasename

У меня установлен mysql-devel который установился как mariadb. Пытаюсь войти через браузер, но не заходит. :wacko: Мне все таки сначала базу данных надо создать?


когда то настраивал по этой инструкции sams 1.5. Источника к сожалению указать не могу (утерян) да простит автор данных набросков по настройке
Spoiler
всё делаем из-под пользователя root:
1) yum groupinstall "Development Tools"
yum install php-mysql php-gd pcre-devel squid mysql-server mysql-devel gd-devel php-zlib php samba samba-client samba-winbind
chkconfig mysqld on
chkconfig httpd on
chkconfig squid on
2) mkdir -p /usr/src/sams
cd /usr/src/sams
wget "http://sams.perm.ru/download/sams-1.0.5.tar.bz2"
tar xf sams-1.0.5.tar.bz2
cd sams-1.0.5

./configure && make && make install
chkconfig sams on
rm -fr /usr/src/sams
3) 3.1. Редактируем /etc/httpd/conf/httpd.conf:
Заменяем Listen 80 на Listen <локальный_айпишник_нашего_сервера>:80
Например:
Listen 192.168.56.2:80

3.2Текущая версия SAMS умеет работать с PHP в режиме safe_mode=On. Но это требует дополнительной настроек. Для этого отредактируем файл /etc/php5/apache2/php.ini Включаем режим safe mode. Для этого выставляем параметр safe_mode:nano /etc/php5/apache2/php.ini

[...]
safe_mode = On
[...]

SAMS для некоторых функций WEB интерфейса использует системные команды, например wbinfo. В режиме safe_mode php блокирует доступ к системным командам. PHP позволяет выполнять системные команды, расположенные в каталоге, заданном параметром safe_mode_exec_dir. Поэтому изменяем этот параметр:
[...]
safe_mode_exec_dir = “/usr/share/sams/bin”
[...]

Далее разрешаем исполнение системных скриптов из кода PHP. Ищем в файле конфигурации параметр и убираем из него запрет вызова функций phpinfo system shell_exec exec:
[...]
disable_functions = “chdir,dl,ini_get_all,popen,proc_open,passthru,pcntl_exec”
[...]


nano /etc/squid/squid.conf
Ни в коем случае не менять структуру файла и не удалять комментарии.
Указываем порт который будет слушать/обслуживать наш прокси:
[...]
http_port 192.168.1.1:3128
[...]
Раскоментируем и редактируем по своему вкусу:
[...]
cache_dir ufs /var/spool/squid 100 16 256
[...]
А также, раскоментировать другие опции работы с кэшем:
[...]
access_log /var/log/squid/access.log
[...]
pid_filename /var/run/squid.pid
[...]


3.3. Редактируем /etc/sams.conf:
MYSQLPASSWORD=9tby89tyru9gy
4) service httpd start
service mysqld start
5) mysql -u root
GRANT ALL ON squidctrl.* TO sams@localhost IDENTIFIED BY "9tby89tyru9gy";
GRANT ALL ON squidlog.* TO sams@localhost IDENTIFIED BY "9tby89tyru9gy";
flush privileges;
quit
6) mysql -u root < /usr/local/share/sams/data/sams_db.sql
mysql -u root < /usr/local/share/sams/data/squid_db.sql
7) service squid start
service sams start
8) Открываем в браузере:
http://IP_АДРЕС_НАШЕГО_СЕРВЕРА/sams
Если не открывается, значит блокирует фаервол. Тогда делаем следующее:
-------------------------------------------------------------------------------
Нужно добавить правило в /etc/sysconfig/iptables:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
Заодно добавьте правило для SQUID (точно такое же, только порт 3128 вместо 80)
Вставить их нужно перед строчкой:
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
Перезапускаем фаервол:
service iptables restart
-------------------------------------------------------------------------------
Подводные камни

Для установленной версии php5 и сервера MySQL-5.1 в WEB интерфейсе будут проблемы с настройками. Необходимо сделать это.nano /usr/share/sams/src/webconfigtray.php

/* function GetHostName()
* {
* if (!($value=getenv('SERVER_NAME')))
* { $value="N.A."; }
* return($value);
*}
*/

В файле /usr/share/sams/src/configtray.php закоментировать таким образом следующие строчки.nano /usr/share/sams/src/configtray.php

/* function GetHostName()
* {
* if (!($value=getenv('SERVER_NAME')))
* { $value="N.A."; }
* return($value);
*}
*/

9) 9.1. Внизу странички нажимаем на картинку с двумя человечками.
Логин: admin
Пароль: qwerty
В первую очередь меняем пароли (чтобы не забыть потом):
Кликаем внизу на человечка с ключиком.
Для пользователя Auditor тоже желательно пароль поменять (логин auditor, пароль audit)
Дальше все действия будут производиться от лица администратора (пользователь admin).
9.2. Слева выбираем WEB interface settings.
Кликаем на два перекрещенных ключа внизу страницы.
Выбираем язык (Russian UTF-8), нажимаем кнопку Save changes.
9.3. Разворачиваем слева меню SAMS, выбираем Администрирование SAMS, кликаем на
перекрещенные ключи внизу страницы.
"Способ аутентификации пользователя": IP
"Обрабатывать логи SQUID": ставим галочку
"файл перенаправления запроса": меняем your.ip.address на локальный IP адрес вашего
сервера. То же самое делаем для "Путь к каталогу, где лежат файлы запрета запроса".
Жмём кнопку "Сохранить изменения" внизу страницы.
9.4. В меню SAMS ищем пункт "Расширения файлов", заходим туда и вводим название
списка расширений, которые нужно будет блокировать. Например, "MyBanList".
Жмём "Создать". Добавляем следующие расширения: ".mp3" и ".avi" (их нужно добавлять
по очереди -- сначала одно, потом второе).
9.5. Кликаем "Локальные домены" в левом меню. В появившемся окне добавляем
URL нашего сервера (его локальный IP адрес)
9.5. Кликаем на "Шаблоны пользователей" в меню SAMS.
Вводим название нашего шаблона (допустим TestTemplate). Жмём кнопку "Добавить шаблон".
В левом меню выбираем появившийся шаблон. Кликаем снизу на кнопку "Изменить шаблон"
(ключи в виде креста). Ставим галочку напротив MyBanList. Жмём "Сохранить изменения".
9.6. Выбираем в левом меню пункт "Пользователи". Снизу кликаем по пиктограмме,
где нарисованы два человечка с плюсиком.
Вводим данные.
Пользователь: testuser
IP адрес: айпишник тестового пользователя.
трафик (Мб): 10
Шаблон: TestTemplate
Жмём "Добавить пользователя"
9.7. Слева опять нажимаем на пункт меню "Пользователи".
Ставим галочку в столбце "Активен" для пользователя testuser, жмём кнопку "Изменить"
9.8. Слева выбираем пункт меню SQUID. Снизу кнопка "Реконфигурировать SQUID" в виде
шестерёнки. Жмём её. Нажимаем "Реконфигурировать".
9.9. Настраиваем в браузере PROXY. На примере firefox 3.5:
Правка -> Настройки -> Дополнительные -> Сеть (там где серое) -> Настроить -> HTTP прокси
Прописываем айпишник нашего сервера и порт (по умолчанию для SQUID -- 3128).

10. Пользуемся.
Логи можно смотреть в пунке меню "Журнал" (слева, когда разворачиваете SAMS)
Сколько трафика потратил пользователь можно увидеть в "Пользователи" -> "Users" -> имя_пользователя

Все глюки Windows исправляются установкой Linux!
Спасибо сказали:
Ответить