Я получаю сообщение об ошибке при попытке посетить мое приложение 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, чтобы другие пользователи могли перемещаться по каталогу, чтобы добраться до сокета.