Я успешно настроил Letsencrypt для своего веб-сервера NGINX на Debian 8 Jessie.
Теперь я установил Postgresql 9.4 и хочу использовать сертификаты LE (в /etc/letsencrypt/live/mydomain/com/...
) для своего SSL-соединения. Я установил пути к сертификату и ключу в конфигурационном файле ( /etc/postgresql/9.4/main/postgresql.conf
).
Как и ожидалось, когда я пытаюсь перезапустить Postgres через pg_ctlcluster
это не удается из-за Permission denied
к сертификату. Я понимаю, что Postgresql запускается с пользователем Postgres и что у этого пользователя нет доступа к этому каталогу.
Как мне исправить это по-чистому?
Вы можете добавить пользователя postgres в группу wheel или другую группу, которая может иметь доступ к каталогу / etc / letsencrypt / live / mydomain /, или сделать пользователя postgres владельцем сертификата (если он используется исключительно).
Пример команды, чтобы сделать владельцем postgres гипотетическое местоположение
sudo mkdir /etc/postgres/
sudo mv /etc/letsencrypt/live/mydomain/com/pg.crt /etc/postgres/pg.crt
sudo mv /etc/letsencrypt/live/mydomain/com/pg.key /etc/postgres/pg.key
sudo chown -R postgres: /etc/postgres
Затем вам нужно настроить /etc/postgresql/9.4/main/postgresql.conf, чтобы он указывал на новый путь.
или добавьте acl в каталог, в котором хранится ключ (сделайте его acl по умолчанию, чтобы он работал при добавлении новых файлов) PS: каталог, в котором вам нужно установить acl, (по крайней мере, на centos) / etc / letsencrypt / archove / [ваш fqdn здесь], поскольку файлы в / etc / letsencrypt / live / [ваш fqdn здесь] являются просто символическими ссылками