はじめに
ubuntuで構築したDBに接続する設定手順です。
centOSでやったはずだし大して手順変わるわけでもないのに、めちゃくちゃ調べまくったので備忘録として残していきます。本当に。
VPSのほうの設定等
まず、ポート番号5432を開放します。
パケットフィルターの方の設定を変更してあげてください。
次に、ファイアウォールの設定を変更します。
sudo ufw status
これでファイアウォールの状況を確認できます。
非アクティブになっていると思うので、以下のコマンドで有効化します。
sudo ufw enable
次コマンドでリロードします。
sudo ufw reload
再度、statusを確認するコマンドを入力してみます。ここでポート開放されているのがどこなのか確認できます。
ポート番号5432を開放する場合は、以下のコマンドを入力します。
sudo ufw allow 5432
5432のところを、開放したい番号に変えれば開放できます。
次に、PostgreSQLの設定を変更します。
PostgreSQLの設定等
以下のコマンドを入力し、設定ファイルを編集します。
vim /etc/postgresql/14/main/pg_hba.conf
14のところを、インストールされたPostgreSQLのバージョンに変えれば設定可能です。
vimコマンドでファイルを設定します。初見だとイマイチやり方がわからないと思うんですが、 iでインサート(編集)、xで字を消す、escで編集モードを閉じる、:wqでファイルを保存、くらいを覚えておけばOKです。(詳しくはググったほうがいいです。)
これでIPv4の設定を変更します。address, methodを編集してください。 addressには接続を許可したいIPを、METHODには許可したい方法を入力します。
たとえば、IPは自分のローカル環境、METHODはtrustやSHA-256、MD5等を設定できます。自分に合わせた設定をしてください。
次に、別の設定ファイルを変更します。
vim /etc/postgresql/14/main/postgresql.conf
こちらでは、以下の場所を変更してください。
# - Connection Settings - # listen_addresses = 'localhost'
これを
# - Connection Settings - listen_addresses = '*'
これに変更してください。
変更後、以下のコマンドでPostgreSQLを再起動します。
sudo /etc/init.d/postgresql restart
A5M2で接続してみる
A5M2を起動し、「データベースの追加と削除」から「追加」を選択し、PostreSQLを選択します。
その後、サーバ名、データベース名、ユーザID、パスワードを入力し、「テスト接続」を選択してください。
「接続が成功しました!」と表示されていれば、設定完了です。
終わりに
ここまで設定するの割と大変でした。調べながら進めていったんですが、その中でもインターネットという人類の英知を借りなければ設定できなかったと思います。ブログ記事等を残しているすべての人々に改めて感謝したいと思います。
とりあえずこれで設定できたので、WEBアプリなどを作成する際にデータベースを用意しやすくなると思います。実際の業務として使えるかは微妙なラインですが、趣味だったり勉強でプログラミングしてアプリを作るのにはちょうどよいと思いますのでぜひやってみてください。
参考にさせて頂きました
WSL2 上の postgresql サーバーに windows10 から A5:SQL Mk-2 を使って接続する
【PostgreSQL】外部からデータベースへ接続するためのアクセス制御設定 | 電算星組