Назад | Перейти на главную страницу

Ошибка Django: «Не удалось подключиться к серверу: в разрешении отказано»

Я получаю сообщение об ошибке при попытке посетить мое приложение Django. Я запускаю Gentoo, а веб-сервер - это Apache с модулем mod_wsgi для отображения Django. Ошибка говорит

OperationalError at /admin/
could not connect to server: Permission denied
Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

Я знаю, что Django может подключаться к базе данных Postgres, поскольку я могу запускать python manage.py syncdb успешно. Я также могу войти в интерактивный терминал с psql -U root -d mysite.

В ls -la розетки

root@ip-99-99-99-99 /var/run/postgresql # ls -la
total 12K
drwxr-x--- 2 postgres 4.0K Mar  7 18:39 ./
drwxr-xr-x 6 root     4.0K Mar  7 22:58 ../
srwxrwxrwx 1 postgres    0 Mar  7 23:31 .s.PGSQL.5432
-rw------- 1 postgres   71 Mar  7 23:31 .s.PGSQL.5432.lock

Любопытно ... в качестве быстрой проверки попробуйте запустить chmod o+rx /var/run/postgresql - если это решит проблему (как я подозреваю), вам нужно будет диагностировать, почему права доступа к каталогу не работают. В моей системе (Debian Squeeze) количество разрешений составляет 2775 postgres: postgres; хотя в этом конкретном режиме нет необходимости, вы захотите (по крайней мере) o + x, чтобы другие пользователи могли перемещаться по каталогу, чтобы добраться до сокета.