airpwn / sams2

Automatically exported from code.google.com/p/sams2
GNU General Public License v2.0
0 stars 0 forks source link

sams2 sams2daemon автостарт #588

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Ubuntu server 11.10
Squid 3.1.16
Sams 2.0.x-surae

Самс собирал из исходников из SVN ветки 
2.0.x-surae. Для убунты конфигурировал с ключами 
--prefix=/usr --sysconfdir=/etc --docdir=/usr/share/doc/sams2

После конфигурации неверно отобразился 
путь для documentation (в configure его используя echo 
определялся независимо как 
$path_datadir/doc/${PACKAGE}-${VERSION}).

Далее проделал настройки по инструкции, 
скрипт автозапуска взял .../debian/init.d, SAMS_ENABLE 
включил, скрипт добавил в автозапуск:
update-rc.d sams2 defaults

Веб интерфейс запустился, базы данных 
создались, в интернет через NTLM вышел, 
трафик посчитался.

Проблема возникла в попытке 
реконфигурировать сквид. Веб интерфейс 
ругнулся на незапущенный sams2daemon, если 
запустить демона руками - все работает, 
/etc/sams2 на попытку запустить или останивить 
отмалчивается, ошибок не пишет. В boot.log его 
также нет.

Original issue reported on code.google.com by frossen...@gmail.com on 3 Nov 2011 at 9:42

GoogleCodeExporter commented 9 years ago
После service sams2 restart стал нормально отвечать 
[ОК] на команды start stop restart, но по прежнему не 
срабатывает при запуске системы. Если 
запустить service sams2 start руками, то он штатно 
запускает демона.

Original comment by frossen...@gmail.com on 3 Nov 2011 at 11:58

GoogleCodeExporter commented 9 years ago
После проделанного выше появились строки в 
syslog при старте системы:

Nov  3 15:55:05 it-lab samsdaemon[901]: ***ERROR: mysqlconn.cpp:57 
mysql_real_connect: Can't connect to local MySQL server through socket 
'/var/run/mysqld/mysqld.sock' (2)
Nov  3 15:55:05 it-lab samsdaemon[901]: ***ERROR: mysqlconn.cpp:57 
mysql_real_connect: Can't connect to local MySQL server through socket 
'/var/run/mysqld/mysqld.sock' (2)
Nov  3 15:55:05 it-lab samsdaemon[901]: ***ERROR: samsdaemon.cpp:309 Cannot get 
sleep time for daemon. See debugging messages for more details.

Задебажил работу демона в файл. Есть пару 
строк с ошибкой типа:
2011-11-03 15:48:31 samsdaemon[1386]: +++WARNING: Pid file exists, but no 
program running. Unexpected crash?

Но потом все нормально и:

2011-11-03 15:48:31 samsdaemon[1386]: mysqlconn.cpp:46 [0x8e24f38->connect] 
Connecting to sams2db@localhost as sams
2011-11-03 15:48:31 samsdaemon[1386]: mysqlconn.cpp:63 [0x8e24f38->connect] 
Connected.

Нормально коннектится. Может быть sams2 
слишком рано запускается (до мускуля) и 
демон отваливается из-за этого?

Original comment by frossen...@gmail.com on 3 Nov 2011 at 12:07

GoogleCodeExporter commented 9 years ago
Помогло:

bash -c 'for i in 2 3 4 5; do mv /etc/rc$i.d/S20sams2 /etc/rc$i.d/S90sams2; 
done'

Проблема действительно оказалась в 
слишком раннем старте скрипта sams2. Теперь 
демон стартует как надо.

Тикет можно закрыть.

Original comment by frossen...@gmail.com on 3 Nov 2011 at 12:22

GoogleCodeExporter commented 9 years ago

Original comment by bl...@nixdev.net on 8 Nov 2011 at 5:24

GoogleCodeExporter commented 9 years ago
Грамотнее, ИМХО, переделать хеадер файла 
/etc/init.d/sams2
От Exim4 неплохо подходит..

Original comment by Enzo21...@gmail.com on 6 Mar 2013 at 7:30

GoogleCodeExporter commented 9 years ago
Убунту 12.04
Хеадеры не катят.
В целях дебага вставил в /etc/init.d/sams2 
конструкцию:

                ps axw | grep mysql > /home/user/samsdebug_ps
                netstat -putan | grep mysqld > /home/user/samsdebug_ns

Из файлов видно, что процесс мускула на 
момент запуска скрипта уже работает 
(реквайр в хеадере сработал), но открытых 
сокетов еще нет (в mysqld идет процесс 
инициализации). И SAMS вываливается с ошибкой 
сокета. 
Можно попробовать в стартовый скрипт тупо 
вставить какую-нибудь задержку типа Sleep, но 
это совсем уж некрасивый вариант.
Есть идеи?

Original comment by 1...@best-holding.com on 18 Jun 2013 at 7:08

GoogleCodeExporter commented 9 years ago
Помогло только добавление sleep 10 в 
/etc/init.d/sams2daemon ((( некрасиво, но зато работает.

Original comment by por...@gmail.com on 3 Aug 2013 at 9:57