Вход для пользователей

Установка и настройка sams 1.0.3. на Debian 4.0.etch

Всем доброе время суток. Решил поставить sams в качестве системы управления доступом через squid. Следовал настройкам, описаным в

1) http://sams.perm.ru/doc/ru/
2) http://sams.nixdev.net/wiki/debian4.0

Вроде все настроил, но когда в браузере набрал http://127.0.0.1/sams, то обнаружил большое кол-во сообщений следующего вида:

=========================================================================================
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'www-data'@'localhost' (using password: NO) in /usr/local/share/sams/mysqltools.php on line 289
Access denied for user sams@localhost to MySQL

Warning: mysql_select_db() [function.mysql-select-db]: Access denied for user 'www-data'@'localhost' (using password: NO) in /usr/local/share/sams/mysqltools.php on line 296

Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in /usr/local/share/sams/mysqltools.php on line 296

Warning: mysql_select_db() [function.mysql-select-db]: Access denied for user 'www-data'@'localhost' (using password: NO) in /usr/local/share/sams/mysqltools.php on line 303

Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in /usr/local/share/sams/mysqltools.php on line 303
SAMS databases not connected

The base squidlog not created or the user sams has no rights to connection to it
The base squidctrl not created or the user sams has no rights to connection to it

SAMS documentation
english
russian

Warning: mysql_query() [function.mysql-query]: Access denied for user 'www-data'@'localhost' (using password: NO) in /usr/local/share/sams/mysqltools.php on line 234

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /usr/local/share/sams/mysqltools.php on line 234

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /usr/local/share/sams/mysqltools.php on line 235

Warning: mysql_query() [function.mysql-query]: Access denied for user 'www-data'@'localhost' (using password: NO) in /usr/local/share/sams/mysqltools.php on line 247

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /usr/local/share/sams/mysqltools.php on line 247

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /usr/local/share/sams/mysqltools.php on line 248

Warning: mysql_query() [function.mysql-query]: Access denied for user 'www-data'@'localhost' (using password: NO) in /usr/local/share/sams/mysqltools.php on line 264

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /usr/local/share/sams/mysqltools.php on line 264

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /usr/local/share/sams/mysqltools.php on line 265

Warning: mysql_query() [function.mysql-query]: Access denied for user 'www-data'@'localhost' (using password: NO) in /usr/local/share/sams/mysqltools.php on line 274

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /usr/local/share/sams/mysqltools.php on line 274

Warning: require() [function.require]: Unable to access ./lang/lang. in /usr/local/share/sams/main.php on line 166

Warning: require(./lang/lang.) [function.require]: failed to open stream: No such file or directory in /usr/local/share/sams/main.php on line 166

Fatal error: require() [function.require]: Failed opening required './lang/lang.' (include_path='.:/usr/share/php:/usr/share/pear') in /usr/local/share/sams/main.php on line 166

=========================================================================================

Вот содержимое sams.conf:

[client]
SQUID_DB=squidlog
SAMS_DB=squidctrl
MYSQLHOSTNAME=localhost
MYSQLUSER=root // имя администратора mysql,
MYSQLPASSWORD= // пароля нет, по умолчанию после установки не менял
MYSQLVERSION=4.0
SQUIDCACHEFILE=access.log
SQUIDROOTDIR=/etc/squid3
SQUIDLOGDIR=/var/log/squid3
SQUIDCACHEDIR=/var/l/squid3
SAMSPATH=/usr/local/bin
SQUIDPATH=/usr/sbin
SQUIDGUARDLOGPATH=/var/log/squid3
SQUIDGUARDDBPATH=/etc/squid3
RECODECOMMAND=iconv -f KOI8-R -t 866 %finp > %fout
LDAPSERVER=servername_or_ipadress
LDAPBASEDN=your.domain
LDAPUSER=DomainAdministrator
LDAPUSERPASSWD=passwd
LDAPUSERSGROUP=Users
REJIKPATH=/usr/local/rejik
SHUTDOWNCOMMAND=shutdown -h now
CACHENUM=0

========================================================================================

Данные о системе:
ОС Debian etch 4.0
php5
apache 2.2
squid 3

В sams.conf менял MYSQLUSER на sams, пароль так же оставлял пустым, т.к. при настройке выполнял команды:
GRANT ALL ON squidctrl.* TO sams@localhost IDENTIFIED BY ""; // пароль оставил пустым
GRANT ALL ON squidlog.* TO sams@localhost IDENTIFIED BY ""; // пароль оставил пустым

Ничего не помогло.

Убедитесь что web-интерфейс зачитывает настройки именно из вашего sams.conf
Например поменяйте значение MYSQLHOSTNAME на blabla
и посмотрите на результат.

--
NixDev - Open Source solutions for life

Да я уже решил все удалить и попробовать установку заново. Снова внимательно просмотреть все параметры. Возник один вопросик: установил apache2. В директории /var/www/ находится только папка apache2-default и больше ничего. В руководстве по установке к sams всё время ссылаются на /var/www/htdocs и /var/www/html. Но таких папок у меня в системе вообще нигде нет. Соответственно перед установкой я ничего не менял и просто набирал команду ./configure. Это правильно?

К тому же при выполнении команды make появились следующие сообщения:
gcc -DDEFPATH="\".:/usr/local/share\"" -DHAVE_CONFIG_H -DLOCALEDIR="\"/usr/local/share/locale\"" -I. -I/usr/include/mysql -I/usr/include -O2 -Wall -D_BSD_SOURCE=1 -D_GNU_SOURCE=1 -c demon.c
gcc -DDEFPATH="\".:/usr/local/share\"" -DHAVE_CONFIG_H -DLOCALEDIR="\"/usr/local/share/locale\"" -I. -I/usr/include/mysql -I/usr/include -O2 -Wall -D_BSD_SOURCE=1 -D_GNU_SOURCE=1 -c tools.c
tools.c: In function ‘send_mysql_query’:
tools.c:169: warning: assignment discards qualifiers from pointer target type
tools.c: In function ‘url_decode’:
tools.c:229: warning: statement with no effect
tools.c: In function ‘TestPID’:
tools.c:338: warning: implicit declaration of function ‘kill’
tools.c: In function ‘do_connect’:
tools.c:552: warning: assignment makes integer from pointer without a cast
gcc -O2 -Wall -D_BSD_SOURCE=1 -D_GNU_SOURCE=1 -o sams demon.o tools.o -I. -L/usr/lib -lmysqlclient -L/usr/lib -lpcre
gcc -O2 -Wall -D_BSD_SOURCE=1 -D_GNU_SOURCE=1 -o samsf daemon.o tools.o -I. -L/usr/lib -lmysqlclient -L/usr/lib -lpcre
gcc -O2 -Wall -D_BSD_SOURCE=1 -D_GNU_SOURCE=1 -o samsredir redirect.o tools.o -I. -L/usr/lib -lmysqlclient -L/usr/lib -lpcre
gcc -O2 -Wall -D_BSD_SOURCE=1 -D_GNU_SOURCE=1 -o samsdaemon samsdaemon.o tools.o -I. -L/usr/lib -lmysqlclient -L/usr/lib -lpcre
Это тоже нормально или нет?

Ну и при выполнении make install получил следующее
make[1]: Entering directory `/home/nicadm/sams103'
creating /tmp/sams
cp ./etc/sams.conf /etc/sams.conf;
cp ./sams /usr/local/bin;
cp ./samsf /usr/local/bin;
cp ./samsredir /usr/local/bin;
cp ./samsdaemon /usr/local/bin;
cp ./etc/sams /etc/init.d;
cp ./mysql/recover_admin_passwd /usr/local/bin;
creating /usr/local/share/sams
cp -R php/* /usr/local/share/sams/;
creating /usr/local/share/sams/data
chmod 777 /usr/local/share/sams/data;
chmod ugo+x /usr/local/share/sams/bin/*;
rm -f /usr/local/share/sams/data/*;
cp -R doc /usr/local/share/sams/;
cp ./mysql/sams_db.sql /usr/local/share/sams/data;
cp ./mysql/squid_db.sql /usr/local/share/sams/data;
cp ./update/upgrade_mysql_table.php /usr/local/share/sams/data;
creating symlink to sams directory
ln: создание символьной ссылки с `/var/www/html/sams' на `/usr/local/share/sams': No such file or directory
make[1]: [install-binPROGRAMS] Ошибка 1 (игнорирована)
make[1]: Цель `install-data-am' не требует выполнения команд.
make[1]: Leaving directory `/home/nicadm/sams103'
Создание символьной ссылки не удалось из-за отсутствия /var/www/html. Ну тогда создам позже, только ссылку sams надо разместить в /var/www/ и сослать ее на /usr/local/share/sams, правильно?

Я ведь в http://sams.nixdev.net/wiki/debian4.0 специально все по пунктам расписал.
Т.к. в Debian действительно нет /var/www/html, то мы запускаем:
./configure --with-httpd-locations=/var/www
Это решает проблему с созданием ссылки при установке.

А про ссылку вы поняли правильно. Вроде больше нигде это проялвяться не будет, главное к конфиге для apache пропишите путь к sams правильно.

--
NixDev - Open Source solutions for life

Снова вылетает такая же ошибка, как в первом посте я описал. Попробовал изменить в sams.conf MYSQLHOSTNAME на xxxxxxxxx:

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'www-data'@'localhost' (using password: NO) in /usr/local/share/sams/mysqltools.php on line 289
Access denied for user sams@xxxxxxxxxxx to MySQL

Получается, что web-интерфейс считывает настройки из sams.conf 100%
Даже и не знаю что делать еще, чтобы заработало.....

На всякий случай приведу содержимое файла default из /etc/apache2/sites-available/

NameVirtualHost *

ServerAdmin webmaster@localhost

DocumentRoot /var/www/

Options FollowSymLinks
AllowOverride None


Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
RedirectMatch ^/$ /apache2-default/

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined
ServerSignature On

#Alias /doc/ "/usr/share/doc/"
Alias /sams/ "/var/www/sams/"

Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'www-data'@'localhost' (using password: NO) in /usr/local/share/sams/mysqltools.php on line 289
Access denied for user sams@xxxxxxxxxxx to MySQL

Ну видно что в первый раз он идет от имени текщуего пользователя www-data@localhost и получает отлуп. При этом на настройки он забивает. Я такого еще не встречал.
А вот во второй раз он уже пытается подключиться как sams, и тут его должны пустить.

--
NixDev - Open Source solutions for life

www-data - так обозначается имя apache2. Это имя прописывается в apache2.conf. В этом вроде ничего страшного нет. Но вот почему он получает отказ доступа? Наверное из-за того, что пишет "using password: NO". Но почему "NO", когда у меня пароль задан и на root для MySQL, и в конфиге прописан в MYSQLPASSWORD.

А что у вас содержится в /usr/local/share/sams/config.php ?

--
NixDev - Open Source solutions for life

Только одна строчка:
<?php $configfile="/etc/sams.conf"; ?>

А если зайти в mysql и ручками прогнать
sams_db.sql
squid.sql
create_sams_user.sql
потом в sams.conf прописать (и изучить внимательно на дубликаты таких записей)
MYSQLUSER=sams
MYSQLPASSWORD=qwerty
?

На сколько правильно я Вас поял, я выполнил следующее:

mysql -u root -p < squid_db.sql
mysql -u root -p < sams_db.sql
mysql -u root -p < create_sams_user.sql

Изменил в /etc/sams.conf:
MYSQLUSER=sams
MYSQLPASSWORD=qwerty

Выполнил поиск по всем файлам в системе, где встречается строка "MYSQLPASSWORD=qwerty". Нашел только в /etc/sams.conf

Вот еще раз приведу содержимое /etc/sams.conf:
SQUID_DB=squidlog
SAMS_DB=squidctrl
MYSQLHOSTNAME=localhost
MYSQLUSER=sams
MYSQLPASSWORD=qwerty
MYSQLVERSION=4.0
SQUIDCACHEFILE=access.log
SQUIDROOTDIR=/etc/squid
SQUIDLOGDIR=/var/log/squid
SQUIDCACHEDIR=/var/spool/squid
SAMSPATH=/usr/local/bin // интересно, почему установился в эту папку, а не в /usr/local/sams
SQUIDPATH=/usr/sbin
SQUIDGUARDLOGPATH=/var/log
SQUIDGUARDDBPATH=/var/db/squidguard
RECODECOMMAND=iconv -f KOI8-R -t 866 %finp > %fout
LDAPSERVER=servername_or_ipadress
LDAPBASEDN=your.domain
LDAPUSER=DomainAdministrator
LDAPUSERPASSWD=passwd
LDAPUSERSGROUP=Users
REJIKPATH=/usr/local/rejik
SHUTDOWNCOMMAND=shutdown -h now
CACHENUM=0

Интересно, а это существенно, если у меня mysql версии 5.0.32, а в sams.conf прописано MYSQLVERSION=4.0?
И вообще, может мне попробовать поставить версию 1.0.1, и apache версии 1.3 например...как думаете, поможет?

>На сколько правильно я Вас поял, я выполнил следующее:
Да.

>SAMSPATH=/usr/local/bin // интересно, почему установился в эту папку, а не в /usr/local/sams
Бинарные файлы самосборного софта устанавливаются в /usr/loca/bin

>Интересно, а это существенно, если у меня mysql версии 5.0.32, а в sams.conf прописано MYSQLVERSION=4.0?
Нет, это задел на будующее. Мы не используем никаких новых возможностей MySQL из 5ки.

>И вообще, может мне попробовать поставить версию 1.0.1, и apache версии 1.3 например...как думаете, поможет?
Попробовать можно, но врядли поможет. Лучше поставьте версию завернутую в пакеты:

http://nixdev.net/release/sams/debian/etch/sams_1.0.3-2_i386.deb http://nixdev.net/release/sams/debian/etch/sams-web_1.0.3-2_all.deb http://nixdev.net/release/sams/debian/etch/sams-doc_1.0.3-2_all.deb

А после этого внимательно следовать указаниям Debhelp'ера, прочитать и выполнить указания из /usr/share/sams/Readme.DEBIAN

--
NixDev - Open Source solutions for life

у меня mysql-5.0.45.22.5
при той же строке MYSQLVERSION=4.0 все работает.

а что выдает при попытке войти в mysql из под консоли?
(mysql -u sams -p qwerty)

ps в папке с установкой SAMS есть setup.sh попробуй с него сделать uninstall sams и по новой.

Ладно, завтра попробую. А в MySQL под пользователем sams и паролем "qwerty" заходит.

setup.sh не трогайте, это пережиток прошлого.

--
NixDev - Open Source solutions for life

Глупый конечно вопрос. но какие модули для php установлены в системе?

Вот все, что связано с php и установлено в системе:
php5-cgi
php5-common
php5-gd
php5-mysql
libapache2-mod-php5

Уже пробовал устанавливать с пакетов:
http://nixdev.net/release/sams/debian/etch/sams_1.0.3-2_i386.deb http://nixdev.net/release/sams/debian/etch/sams-web_1.0.3-2_all.deb http://nixdev.net/release/sams/debian/etch/sams-doc_1.0.3-2_all.deb

Устанавливал с помощью Gdebi Package Installer.
Проделал небольшие действия, описанные в /usr/share/doc/sams/Readme.DEBIAN

Выполнил /etc/init.d/sams start. Sams запустился. Но ошибки все те же. Господи, как я устал:

УРА! Я СДЕЛАЛ ЕЕ! Пошел от противного во второй раз - если сообщение выдается с "using password: NO" , тогда решил сменить пароль root на mysql (сменить на пустой)

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('');

Ну и в конфиге sams.conf user = sams, а пароль тоже пустой. Хотя я уже так делал еще до переустановки sams. Вобщем, пока проблему полностью не понял из-за чего она возникала, но пока я рад, что она исчезла.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".