皆さま、こんにちは
PostgreSQLの導入に続いて「Pgadmin4」を道入します。
(#と$はプロンプトです)
1、EPELリポジトリを有効にします。
# dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# dnf config-manager --set-enabled powertools
※PowerToolsは全て小文字
2、CentOS8にpgAdmin4をインストールする
※前提条件としてPostgreSQLのインストールが完了していること
<<リマインド>>
----------------------------------------------------
# dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# dnf -qy module disable postgresql
# dnf install -y postgresql13-server
----------------------------------------------------
次のコマンドでpgadmin4をインストールします。
# dnf install pgadmin4
※途中でGPG鍵の確認がありますが、yを入力します。
3、pgadmin4用にApacheを設定します。
# cd /etc/http/conf.d/
# cp -p pgadmin4.conf.sample pgadmin4.conf
# more pgadmin4.conf
※変更の必要ありません。
----------------------------------------------------
LoadModule wsgi_module modules/mod_wsgi.so
WSGIDaemonProcess pgadmin processes=1 threads=25
WSGIScriptAlias /pgadmin4 /usr/lib/python3.6/site-packages/pgadmin4-web/pgAdmin4.wsgi
<Directory /usr/lib/python3.6/site-packages/pgadmin4-web/>
WSGIProcessGroup pgadmin
WSGIApplicationGroup %{GLOBAL}
<IfModule mod_authz_core.c>
# Apache 2.4
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
----------------------------------------------------
次にApacheの自動起動を有効にします。
# systemctl enable httpd
4、PgAdminの初期設定をします。
pgAdminデータディレクトリを作成します。
# mkdir /var/lib/pgadmin4
# mkdir /var/log/pgadmin4
# chown -R apache:apache /var/lib/pgadmin4
# chown -R apache:apache /var/log/pgadmin4
# cd /usr/lib/python3.6/site-packages/pgadmin4-web/
# cp -p config_distro.py config_distro.py.orig
# vi config_distro.py
----------------------------------------------------
LOG_FILE = '/var/log/pgadmin4/pgadmin4.log'
SQLITE_PATH = '/var/lib/pgadmin4/pgadmin4.db'
SESSION_DB_PATH = '/var/lib/pgadmin4/sessions'
STORAGE_DIR = '/var/lib/pgadmin4/storage'
----------------------------------------------------
次のコマンドで構成データベースを作成します。
# dnf -y install python3-bcrypt python3-pynacl
※依存関係で既にインストールされいると思われます。
# python3 /usr/lib/python3.6/site-packages/pgadmin4-web/setup.py
NOTE: Configuring authentication for SERVER mode.
Enter the email address and password to use for the initial pgAdmin user account:
Email address: メールアドレス
Password: 任意のパスワード
Retype password: 任意のパスワード
pgAdmin 4 - Application Initialisation
======================================
5、PgAdmin4にアクセスする。
最初にアクセスするとサーバエラーでつながらないため、
Apacheのエラーログを確認する。
----------------------------------------------------
[Fri Jan 01 18:15:45.426513 2021] [wsgi:error] [pid 7434:tid 140092448982784] [remote 192.168.99.106:55789] PermissionError: [Errno 1] Operation not permitted: '/var/lib/pgadmin4/sessions'
・
・
[Fri Jan 01 18:17:33.678033 2021] [wsgi:error] [pid 7817:tid 139802223372032] [remote 192.168.99.106:55806] PermissionError: [Errno 13] Permission denied: '/var/log/pgadmin4/pgadmin4.log'
----------------------------------------------------
とエラーとなっているので
以下のコマンドで対象ディレクトリをApacheユーザへ変更する。
# chown -R apache:apache /var/lib/pgadmin4/
# chown -R apache:apache /var/log/pgadmin4/
「http://サーバIP/pgadmin4/」でアクセスする(先ほどのメールアドレスとパスワードで)
が、DBに接続出来ない場合は、以下を実施
# su - postgres
$ psql -U postgres
psql (13.1)
"help"でヘルプを表示します。
postgres=# \password
新しいパスワードを入力してください: postgresDBユーザのパスワード
もう一度入力してください: postgresDBユーザのパスワード
postgres=#
postgres=# \q
では