PermLUG
|
Пермская группа пользователей Linux |
|
ОблакоВход для пользователейНавигация |
Установка и настройка sams 1.0.3. на Debian 4.0.etch
Sheh, 22.08.2008 — 19:46
Всем доброе время суток. Решил поставить sams в качестве системы управления доступом через squid. Следовал настройкам, описаным в 1) http://sams.perm.ru/doc/ru/ Вроде все настроил, но когда в браузере набрал http://127.0.0.1/sams, то обнаружил большое кол-во сообщений следующего вида: ========================================================================================= 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 documentation 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] ======================================================================================== Данные о системе: В sams.conf менял MYSQLUSER на sams, пароль так же оставлял пустым, т.к. при настройке выполнял команды: Ничего не помогло.
|
Новые записи в блогахАктивные обсуждения форума
|
| Пермская группа пользователей Linux, 2003—2008 |
Убедитесь что 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"; ?>
Все верно.
--
NixDev - Open Source solutions for life
А если зайти в 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. Вобщем, пока проблему полностью не понял из-за чего она возникала, но пока я рад, что она исчезла.