Проблемы с подключением к базе — различия между версиями
(→Сервер БД запущен?) |
(→Правильно ли указан адрес сервера и путь к базе в конфиге?) |
||
Строка 84: | Строка 84: | ||
Пример исправления: | Пример исправления: | ||
<pre> | <pre> | ||
− | # выяснить права | + | # выяснить, есть ли файл и какие у него права и владелец |
ls -l /path/to/database.gdb | ls -l /path/to/database.gdb | ||
# задать владельца | # задать владельца |
Версия 14:41, 23 сентября 2011
Содержание
Подключение портала к базе
Сервер БД запущен?
Как проверить
Для Superserver:
service firebird status
Название сервиса "firebird" может отличаться между дистрибутивами. Например, может быть "firebird2.1" или "firebird-superserver".
Для classic:
Classic работает через xinetd. Поэтому первым делом проверьте, запущен ли он.
service xinetd status
Возможно, после установки firebird требуется перезапустить xinetd, чтобы он перечитал файлы конфигурации, в том числе и конфиг для firebird-classic.
Как исправить
Попробуйте перезапустить firebird-superserver или xinetd в зависимости от установленной версии firebird:
# classic service xinetd restart # superserver service firebird start
Убедитесь также, что в /etc/services есть запись для firebird:
grep gds_db /etc/services gds_db 3050/tcp
Если нет, добавьте.
Результат должен быть таким: firebird должен отвечать на порту tcp/3050.
# Проверка прямо на сервере telnet 127.0.0.1 3050
Сервер перезагрузили, а firebird снова не запущен?
Исправление:
# пример из убунты 10.04 lts update-rc.d firebird2.1-super enable # пример из alt linux chkconfig firebird on
Правильно ли указан адрес сервера и путь к базе в конфиге?
Как проверить
Выполните и сверьтесь:
grep db_ /var/www/cgi-bin/sp/sp.conf db_server = 127.0.0.1 # <--- адрес сервера db_path = /path/to/database.gdb # <--- путь к базе db_user = *** db_pass = *** grep cmsdb /var/www/cgi-bin/sp/sp.conf cmsdbhost = 127.0.0.1 # <--- адрес сервера cmsdbname = /path/to/database-cms.gdb # <--- путь к базе cmsdbuser = *** cmsdbpasswd = ***
Файлы должны существовать на сервере с указанным адресом (допустимы IP-адреса и DNS-имена). Файл должен быть доступен firebird. Убедитесь, что пользователю firebird разрешено читать и писать в файлы БД.
Пример исправления:
# выяснить, есть ли файл и какие у него права и владелец ls -l /path/to/database.gdb # задать владельца chown firebird:firebird /path/to/database.gdb # задать права на чтение и запись (остальным нужно запретить всё) chmod 660 /path/to/database.gdb
Есть ли база на сервере?
Как проверить: TODO Как исправить: TODO
Есть ли права доступа к базе для сервера БД?
Как проверить: TODO Как исправить: TODO
Правильно ли указан логин и пароль?
Как проверить: TODO Как исправить: TODO