2021年9月30日木曜日

Rocky Linux 8.4にブラウザベースSQLクライアントpgwebとPostgreSQLをインストールする

pgwebはPostgreSQLのwebインターフェイスです。

〇pgwebの画面

インストール手順

1. PostgreSQL13をインストール
wget https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

sudo rpm -Uvh pgdg-redhat-repo-latest.noarch.rpm

sudo dnf -qy module disable postgresql

sudo dnf -y update

sudo dnf -y install postgresql13-server postgresql13-devel postgresql13-contrib

sudo systemctl enable postgresql-13

sudo /usr/pgsql-13/bin/postgresql-13-setup initdb

echo "listen_addresses='*'" | sudo tee -a /var/lib/pgsql/13/data/postgresql.conf

sudo sed -i 's/host.*all.*all.*127.0.0.1/#host    all             all             127.0.0.1/g' /var/lib/pgsql/13/data/pg_hba.conf

sudo sed -i 's#^host.*all.*all.*::1/128.*ident#host    all             all             ::1/128    password#g' /var/lib/pgsql/13/data/pg_hba.conf

echo "host    all         all         127.0.0.1/32          password" | sudo tee -a /var/lib/pgsql/13/data/pg_hba.conf

echo "host    all         all         192.168.1.0/24          password" | sudo tee -a /var/lib/pgsql/13/data/pg_hba.conf
# ネットワーク環境によって変更してください。
sudo systemctl start postgresql-13.service

sudo su - postgres << EOF
psql -c "
alter user postgres with password 'postgres';
create user test with password 'test';
"
psql -c "
create database test owner test encoding 'UTF8' lc_collate 'ja_JP.UTF-8' lc_ctype 'ja_JP.UTF-8' template 'template0';
"
EOF

2. SELinuxの無効化
sudo setenforce 0
sudo getenforce
sudo sed -i -e 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

3. firewallで8080番ポートを開けます
sudo firewall-cmd --add-port=8080/tcp --permanent

sudo firewall-cmd --reload

4. 以下のコマンドを実行してpgwebをインストールします。
wget https://github.com/sosedoff/pgweb/releases/download/v0.11.8/pgweb_linux_amd64.zip

unzip pgweb_linux_amd64.zip

sudo mkdir -p /opt/pgweb

sudo mv pgweb_linux_amd64 /opt/pgweb

cat << EOF | sudo tee /etc/systemd/system/pgweb.service
[Unit]
Description=pgweb
[Service]
Type=simple
ExecStart=/opt/pgweb/pgweb_linux_amd64 --sessions --bind=0.0.0.0 --listen=8080
WorkingDirectory=/opt/pgweb
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF

sudo systemctl enable pgweb

sudo systemctl start pgweb

5. ブラウザからhttp://<pgwebをインストールしたホストまたはIPアドレス>:8080/ にアクセスします
接続先にlocalhost、ユーザ名/パスワード/接続先DBにtestを指定してください。

関連情報

・pgwebのgithubリポジトリ
https://github.com/sosedoff/pgweb

0 件のコメント:

コメントを投稿