web-dev-qa-db-ja.com

PostgresqlにLetsencrypt証明書を使用する

Debian 8 JessieでNGINX Webサーバー用にLetsencryptを正しく設定しました。

これでPostgresql 9.4がインストールされ、SSL接続にLE証明書(/etc/letsencrypt/live/mydomain/com/...内)を使用したいと思います。証明書へのパスとキーを構成ファイル(/etc/postgresql/9.4/main/postgresql.conf)に設定しました。

予想通り、pg_ctlclusterを介してPostgresを再起動しようとすると、証明書へのPermission deniedが原因で失敗します。私は、Postgresqlがユーザーpostgresで実行され、このユーザーがこのディレクトリにアクセスできないことを理解しています。

これをきれいに修正するにはどうすればよいですか?

5
algielen

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を調整する必要があります。

2
silviud