如何在ubuntu 20.04 lts上安装PostgreSQL和phpPgAdmin

时间:2019-04-29 03:17:15  来源:igfitidea点击:

PostgreSQL或Postgres是一个功能强大的高性能对象关系数据库管理系统(ORDBMS),在灵活的BSD风格的许可下发布。PostgreSQL非常适合于大型数据库,并且具有许多高级特性。

PostgreSQL可用于许多操作系统,包括Linux、FreeBSD、Solaris和Microsoft Windows。PhpPgAdmin是一个基于PHP的web应用程序,用于管理PostgreSQL数据库。使用Phppgadmin,可以很容易地在Postgres中创建数据库、创建角色和创建表。

本教程将展示在Ubuntu20.04LTS(Bionic Beaver)上安装PostgreSQL及其基于web的管理界面phpPgAdmin。

安装PostgreSQL和phpPgAdmin步骤

  1. 安装PostgreSQL和phpPgAdmin

  2. 创建新用户PostgreSQL

  3. 配置Apache2

  4. 设置UFW防火墙

  5. 测试

步骤1-安装PostgreSQL、phpPgAdmin和所有依赖项

在Ubuntu系统上安装任何包之前,请使用下面的apt命令更新和升级所有包。

sudo apt update

sudo apt upgrade

现在我们已经准备好安装PostgreSQL、phpPgAdmin和Apache2包。

PostgreSQL和PhpPgAdmin可以在Ubuntu存储库中找到。所以你只需要用apt命令安装它们。

sudo apt -y install PostgreSQL PostgreSQL-contrib phppgadmin

所有安装完成后,启动PostgreSQL服务并将其添加到系统引导。

systemctl start PostgreSQL

systemctl enable PostgreSQL

接下来,使用以下命令检查PostgreSQL服务。

systemctl status PostgreSQL

现在,PostgreSQL服务已经启动并运行。

PostgreSQL和phpPgAdmin的所有包安装已经完成。

步骤2-创建新用户PostgreSQL

PostgreSQL使用角色进行用户身份验证和授权,就像Unix风格的权限一样。
默认情况下,PostgreSQL为基本身份验证创建一个名为“postgres”的新用户。

在这一步中,我们将创建一个新的PostgreSQL用户,该用户具有超级用户的权限、创建数据库、创建角色和登录。新用户将被用来通过“phpPgAdmin”登录到PostgreSQL,为此,我们必须以默认的“postgres”用户身份登录到PostgreSQL的shell上。

使用下面的命令登录到PostgreSQL shell。

sudo -i -u postgres psql

接下来,使用以下查询创建一个新角色“Hyman”,密码为“Hymanpasspgsql”。

CREATE ROLE Hyman WITH SUPERUSER CREATEDB CREATEROLE LOGIN ENCRYPTED PASSWORD 'Hymanpasspgsql';

现在检查PostgreSQL系统上所有可用的用户。

\du

我们将在列表中获得一个新用户“Hyman”,现在键入“\q”退出PostgreSQL shell。

我们已经创建了一个名为“Hyman”的新用户,它将能够通过phpPgAdmin登录到PostgreSQL服务器。

步骤3-配置apache web服务器

在这一步中,我们将为phpPgAdmin配置Apache配置,这是在安装包期间自动生成的。

转到 '/etc/apache2/conf-available' 目录并编辑配置文件phppgadmin.conf :

cd /etc/apache2/conf-available/

vim phppgadmin.conf

默认情况下,可以通过路径 “phpPgAdmin”来访问phpPgAdmin。出于安全原因,我们将通过更改“Alias”选项来更改phppgadmin的默认URL路径。

用我们自己的路径更改默认URL“phppgadmin”路径,如下所示。

Alias /pgsqladminlogin /usr/share/phppgadmin

将'#Require local'行前面的#号去掉,即取消注释。 并在行下方添加allow from all,以便我们可以从浏览器访问。

Require all granted

保存并关闭。

接下来,测试Apache配置并确保没有错误,然后重新启动Apache服务。

apachectl configtest

systemctl restart apache2

phpPgAdmin的Apache配置已经完成。

步骤4-设置UFW防火墙

在本教程中,我们将在UFW防火墙下运行PostgreSQL和Apache服务。

使用以下命令将ssh、http和https端口添加到ufw防火墙。

for svc in ssh http https

do

ufw allow $svc

done

接下来,启动UFW防火墙并设置开机自启动。

ufw enable

UFW防火墙已经启动并运行,上面有ssh、http和https协议。

使用下面的命令检查UFW防火墙状态。

ufw status numbered

步骤5-测试

在继续之前,请使用下面的ss命令检查PostgreSQL和Apache端口服务。

ss -plnt

我们将看到PostgreSQL的端口“5432”和Apache端口“80”处于侦听状态,这两个服务都已启动并正在运行。

下一步,打开web浏览器并键入服务器IP地址,然后键入自定义路径phpPgAdmin。

http://192.168.1.200/pgsqladminlogin/

我们将得到默认的phpPgAdmin页面

现在点击“ 服务器选项卡,我们将获得phpPgAdmin登录页面。

输入PostgreSQL用户和密码,然后单击“ 登录按钮。

进入phpPgAdmin控制面板界面。

在Ubuntu 20.04 LTS上使用phpPgAdmin安装PostgreSQL数据库已经成功完成。

总结

PostgreSQL是一个先进的对象关系数据库管理系统(ORDBMS)。它是开源的,有一个庞大而活跃的社区。PostgreSQL提供psql命令行程序作为主要的前端,可用于直接输入SQL查询或从文件执行它们。phpPgAdmin是一个用PHP编写的PostgreSQL的基于web的管理工具,它使Postgres数据库的管理更加容易。