热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux源码安装pgadmin4,pgAdmin4搞定安装部署

简介pgAdmin4是开源数据库PostgreSQL的图形管理工具,是桌面版图形管理工具pgAdmin3的重写,遵循PostgreSQL协议是开源、免费

简介

pgAdmin4 是开源数据库 PostgreSQL 的图形管理工具,是桌面版图形管理工具pgAdmin3 的重写,遵循 PostgreSQL协议 是开源、免费、可商用的。pgAdmin4 是python开发的web应用程序,既可以部署为web模式通过浏览器访问,也可以部署为桌面模式独立运行。

以下基于: pgadmin 4.15 + python2.7 + httpd2.4

建议:如果您仅仅是使用pgAdmin4,建议您优先到官网下载安装包进行安装。

1 在Centos7 源码安装pgAdmin4(via pgadmin4.whl)

安装系统依赖包

sudo yum install gcc python-devel -y

安装python应用开发依赖(python/pip/virtualenv)

#使用centos7系统自带的python2.7.5,因此不用安装

#安装python2-pip(安装到了系统python中)

sudo yum -y install epel-release

sudo yum install python2-pip

pip —version

##注意:python3配套的是python3-pip

#安装虚拟环境(安装到了系统python中)

pip install virtualenv

#创建虚拟环境(--no-site-packages 已被弃用)

cd /home/centos7/

virtualenv py2env

#进入虚拟环境

source py2env/bin/activate

#安装依赖模块包

##将pgadmin4/requirements.txt中的psycopg2修改为psycopg2-binary

(py2env) vim ./pgadmin4/requirements.txt

#psycopg2>=2.8

psycopg2-binary>=2.8

(py2env) pip install ./pgadmin4/requirements.txt

注意:

1 pip 安装超时报错:aise ReadTimeoutError(self._pool, None, 'Read timed out.')

可通过更换安装源来解决:pip install -i https://pypi.douban.com/simple 

2 virtualenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境,不是必须安装的。

python编译运行程序

#创建配置文件和日志文件

(py2env) python ./pgadmin4/web/setup.py

#启动

(py2env) python ./pgadmin4/web/pgAdmin4.py

httpd+mod_wsgi部署pgAdmin4服务

#安装apache httpd

sudo yum install -y httpd httpd-devel

#在虚拟机环境中安装mod_wsgi

(py2env) ./bin/pip install mod_wsgi

#查看安装路径

(py2env) ./bin/mod_wsgi-express install-module

LoadModule wsgi_module "/usr/lib64/httpd/modules/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so"

WSGIPythonHome "/home/centos8/py3env/“

#配置httpd.conf

vim /etc/httpd/conf/httpd.conf

#末尾添加

LoadModule wsgi_module "/usr/lib64/httpd/modules/mod_wsgi-py36.cpython-27m-x86_64-linux-gnu.so"

WSGIPythonHome "/home/centos7/py2env/"

Listen 5050

#ServerName pgadmin.example.com

#LogLevel debug

#ErrorLog ${APACHE_LOG_DIR}/pgadmin-error.log

#CustomLog ${APACHE_LOG_DIR}/pgadmin-access.log combined

#WSGIDaemonProcess pgadmin processes=1 threads=25 python-home=/home/centos7/py2env/

WSGIScriptAlias / /home/centos7/py2env/hgadmin4/web/pgAdmin4.wsgi

WSGIProcessGroup pgadmin

WSGIApplicationGroup %{GLOBAL}

Require all granted

#检查httpd配置文件修改语法正确性

apachectl configtest

修改pgadmin配置文件的用户访问控制权限

注意:默认在非server_mode时以下配置库根目录变为:~/.pgadmin/

#修改配置路径

vim web/config_distro.py

LOG_FILE = '/var/log/pgadmin/pgadmin4.log'

SQLITE_PATH = '/var/lib/pgadmin/pgadmin4.db'

SESSION_DB_PATH = '/var/lib/pgadmin/sessions'

STORAGE_DIR = '/var/lib/pgadmin/storage’

#修改配置文件和库的所属关系(按照httpd.conf中的用户和组)

chown -R apache:apache /var/lib/pgadmin

chown -R apache:apache /var/log/pgadmin

#如果SeLinux开启了,使用以下命令修改SELinux policy:

chcon -R -t httpd_sys_content_rw_t "/var/log/pgadmin/"

chcon -R -t httpd_sys_content_rw_t "/var/lib/pgadmin/"

#修改selinux安全访问配置

su - root

vim /etc/selinux/config

SELINUX = disabeld #重启生效

setenforce 0 #即时生效

service iptables stop

#重启apache httpd服务(一般在root下启动)

apachectl restart

apachectl status

2. 在 win10 源码安装pgAdmin4(python+httpd必须位数一致)

此处使用 [ python2.7.17_32bit + apache2.4.6_32bit + VCForPython27.msi ]

2.1 安装并配置python和pip

下载python-2.7.17.32.msi,并手动安装到 C:\Python27。(python和pip执行文件位于C:\Python27\Scripts)

#在系统环境变量path中添加:c:\Python27; C:\Python27\Scripts

C:\Users\liuyu>python —version

Python 2.7.17

C:\Users\liuyu>pip -version

pip 19.2.3 from C:\Python27\lib\site-package\pip (python 27)

注意:有时C:\Windows\System32路径需要python27.dll文件,如缺失复制进去即可。

2.2 安装并创建虚拟环境

#安装虚拟环境

C:\>pip install virtualenv

#创建虚拟环境

C:\>virtualenv py2env

#进入虚拟环境

C:\>cd c:\py2env

C:\py2env>Scripts\activate

2.3 安装pgAdmin4依赖

#将pgadmin4源码包拷贝到py2env

git clone https://github.com/postgres/pgadmin4.git pgadmin4

#将pgadmin4依赖模块包安装到虚拟环境

(py2env)C:\py2env>Scripts\pip install -r pgadmin4\requirement.txt

#试运行python程序

(py2env)C:\py2env>Scripts\python.exe pgadmin4\web\setup.py

(py2env)C:\py2env>Scripts\python.exe pgadmin4\web\pgAdmin4.py

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

* Serving Flask app "pgadmin" (lazy loading)

* Environment: production

WARNING: Do not use the development server in a production environment.

Use a production WSGI server instead.

* Debug mode: off

注意:如配置完启动httpd时报错在c:/Windows/System32/找不到python27.dll,可以通过以下方式解决:上网下载python27.dll并放到C:/Windows/System32/;

2.4 安装apache httpd

手动安装或者解压apache2.4到C:\apache2.4

2.5 安装mod_wsgi

安装mod_wsgi依赖的编译器VCForPython27.mis

下载VCForPython27.mis(mod_wsgi的gcc编译器)到本地系统,使用手动安装或者命令行静模安装到默认路径即可。其中,命令行如下:

msiexec /i VCForPython27.msi /qb REBOOT=SUPPRESS

安装mod_wsgi

#设置临时环境变量

(py2env) c:\py2env>set “MOD_WSGI_APACHE_ROOTDIR=C:\apache2.4”

#在虚拟环境中安装mod_wsgi

(py2env) c:\py2env>Scripts\pip.exe install mod_wsgi

Collecting mod_wsgi

Using cached https://files.pythonhosted.org/packages/25/d8/1df4ba9c051cd88e02971814f0867274a8ac821baf983b6778dacd6e31f7/mod_wsgi-4.6.8.tar.gz

Building wheels for collected packages: mod-wsgi

Building wheel for mod-wsgi (setup.py) ... done

Created wheel for mod-wsgi: filename=mod_wsgi-4.6.8-cp27-cp27m-win_amd64.whl size=365468 sha256=74afcaa578aa17be65bc3b19b63419b76f3617992a22ee8c49edaafb7470053b

Stored in directory: C:\Users\liuyu\AppData\Local\pip\Cache\wheels\14\20\6d\6302d26b9f3a8d84eb8a06e2c418cf807700e3550ded230f8a

Successfully built mod-wsgi

Installing collected packages: mod-wsgi

Successfully installed mod-wsgi-4.6.8

#查看mod_wsgi安装配置情况

(py2env) c:\py2env>Scripts\mod_wsgi-express.exe --help

Usage: mod_wsgi-express command [params]

Commands:

module-config

module-location

(py2env) c:\py2env>Scripts\mod_wsgi-express.exe module-config

LoadModule wsgi_module "c:/py2env/lib/site-packages/mod_wsgi/server/mod_wsgi.pyd"

WSGIPythonHome "c:/py2env”

2.6 将pgAdmin4.wsgi配置到httpd.conf

在C:\apache2.4\conf\httpd.conf 末尾加入(或者配置在单独的pgamin4.conf文件)以下内容:

#config pgadmin4

LoadModule wsgi_module “C:/py2env/lib/site-packages/mod_wsgi/server/mod_wsgi.pyd"

WSGIPythonHome “C:/py2env"

ServerName pgadmin4.highgo.com

WSGIScriptAlias / C:\py2env\pgadmin4\web\pgAdmin4.wsgi

# Order deny,allow

# Allow from all

Require all granted

2.7 启动httpd服务

#双击或者命令行启动httpd.exe

C:\apache2.4\bin>httpd.exe

(如正确则不返回任何信息,报错则返回甚至退出)

2.8 访问pgAdmin4网页

参考



推荐阅读
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • 本文介绍了使用CentOS7.0 U盘刻录工具进行安装的详细步骤,包括使用USBWriter工具刻录ISO文件到USB驱动器、格式化USB磁盘、设置启动顺序等。通过本文的指导,用户可以轻松地使用U盘安装CentOS7.0操作系统。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
    本文介绍了在Centos7上搭建ELK(Elasticsearch、Logstash、Kibana)的详细步骤,包括下载安装包、安装Elasticsearch、创建用户、修改配置文件等。同时提供了使用华为镜像站下载安装包的方法,并强调了保证版本一致的重要性。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
author-avatar
刘刚michaelup_340
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有