linux下centos7 pgadmin4的安装部署

1. 下载及安装

    OS环境:CentOS 7

    安装方式:测试了一下postgre官方下载速度,还可以。故本文采用yum方式安装;

注意:官网没有给linux环境下编译好的包,如果想用官网安装,可以下载二进制源码包自己编译 ,也可以用apt

官网链接:PostgreSQL: File Browser

官网二进制包链接:PostgreSQL: File Browser

 编译参考文章:pgadmin4 本地安装部署-CSDN博客

apt参考文章:linux(ubuntu)下安装postgresql+pgAdmin4_pgadmin linux_Ye_ZhuoB的博客-CSDN博客

1.1. 安装pgAdmin repo包:

rpm -i https://ftp.postgresql.org/pub/pgadmin/pgadmin4/yum/pgadmin4-fedora-repo-1-1.noarch.rpm

    安装完成后,会在/etc/yum.repos.d/目录下,生成一个pgadmin4.repo文件,确认此文件存在即可。

1.2. 安装pgadmin:

   pgAdmin有三种安装方式,分别是桌面版、web版,还有两种一起安装的,安装命令参考如下:

# Install for both desktop and web modes.
sudo yum install pgadmin4

# Install for desktop mode only.
sudo yum install pgadmin4-desktop

# Install for web mode only.
sudo yum install pgadmin4-web

    我只安装了web版,以后打算就通过web方式管理pgsql服务器,故运行以下命令执行安装:

[root@hadoop ~]# yum -y install pgadmin4-web

    此处需注意,pgadmin是基于python3的(CentOS7默认是python2.7版本),在安装pgadmin4-web的过程中,会安装其依赖的python36版本,如果觉得官方软件源安装太慢,建议先行修改本地系统的yum源,包括【base源、epel源】;

    可以使用华为的软件源,网址参见:https://mirrors.huaweicloud.com

2. 初始化pgAdmin环境

    问题从这里开始,官方给的初始化配置命令是:

sudo /usr/pgadmin4/bin/setup-web.sh

执行后各种报错:安装pgadmin时,报错各种依赖包缺失,错误信息如下:

[root@hadoop ~]# /usr/pgadmin4/bin/pgadmin4-web-setup.sh 
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/pgadmin4-web/setup.py", line 31, in 
    from pgadmin import create_app
  File "/usr/lib/python3.6/site-packages/pgadmin4-web/pgadmin/__init__.py", line 21, in 
    from flask_babelex import Babel, gettext
ModuleNotFoundError: No module named 'flask_babelex'
Error setting up server mode. Please examine the output above.

#还有其它一些依赖包,不一一列举。

    提示系统缺少flask_babelex模块。

    当然,其实并不只缺少上面提示的这一个模块,还有其它几个,错误信息就不一一罗列;

    安装需要的依赖包:

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple flask_babelex
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple alembic
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple ldap3

   再次初始化服务(完成初始后,会启动apache服务):

[root@hadoop ~]# /usr/pgadmin4/bin/pgadmin4-web-setup.sh 
NOTE: Configuring authentication for SERVER mode.

Enter the email address and password to use for the initial pgAdmin user account:

# 注:此处输入的信息,是初始化完成后的登录信息:
Email address: [email protected]
Password: 
Retype password:

pgAdmin 4 - Application Initialisation
======================================

setsebool:  SELinux is disabled.
setsebool:  SELinux is disabled.
We can now configure the Apache Web server for you. This will create the pgAdmin4 conf file under /etc/httpd/conf.d/. Do you wish to continue?
1) Yes
2) No
#? 1
pgAdmin4 Apache config file is created as /etc/httpd/conf.d/pgadmin4.conf
Apache web server is not running. We can start the web server for you to finish pgAdmin4 installation. Would you like to continue?
1) Yes
2) No
#? 1

Apache successfully started. You can now start using pgAdmin4 in web mode
[root@hadoop ~]#

     注:初始化完成后,系统会配置好Apache服务,并启动web的80端口;

          打开浏览器能看到Apache的经典首页。。。

3. 启动pgAdmin

    这一节,官文也没有交待清楚,自己摸索了好久。。。

    前面yum安装pgAdmin完成后,软件包是被安装在了/usr/lib/python3.6/site-packages/pgadmin4-web/路径下;

    注:其中python3.6及各个库,是安装pgAdmin时,依赖安装自EPEL的;

    执行以下命令测试pgAdmin启动:

python3 /usr/lib/python3.6/site-packages/pgadmin4-web/pgAdmin4.py

    路径太长,每次启动服务时太麻烦,做个软链接吧:

ln -s /usr/lib/python3.6/site-packages/pgadmin4-web /usr/pgadmin4/web

    默认启动后,是监听在127.0.0.1地址上,只能本机访问;

    配置以下配置文件,使其可以对外提供服务:

# 修改配置文件(如果没有config_local.py,就新创建一个)
cd /usr/pgadmin4
vi web/config_local.py
from config import *
DEFAULT_SERVER = '0.0.0.0'
DEFAULT_SERVER_PORT = 5050

   配置完成

    再次启动服务,并放到后台启动:

Starting pgAdmin 4. Please navigate to http://0.0.0.0:5050 in your browser.

4. 登录测试

    打开浏览器,输入:http://ip_address:5050,能正常打开pgAdmin的页面,就可以愉快的玩耍了:

linux下centos7 pgadmin4的安装部署_第1张图片

    本文完结。

转载自为PostgreSQL配置pgAdmin管理模块-云社区-华为云 (huaweicloud.com)

你可能感兴趣的:(linux,运维,服务器,postgresql)