如何在OpenSUSE Leap 42.1上安装PostgreSQL和phpPgAdmin

PostgreSQL(大多数人称之为Postgres)是一个高级的对象 - 关系数据库管理系统(ORDBMS)。 Postgres是一个开源数据库

PostgreSQL(大多数人称之为Postgres)是一个高级的对象关系数据库管理系统(ORDBMS)。 Postgres是一个开源数据库服务器,拥有超过18年的积极开发,使Postgres成为企业级应用程序的最佳选择。

Postgresql是跨平台的,可运行在诸如Linux,OSX,Windows和BSD系列之类的许多操作系统上。 当您拥有大型数据库工作负载的应用程序时,这是正确的选择。 Postgres已被许多大型组织使用,包括雅虎,Instagram和Disqus。 Postgres还通过例如Heroku和AWS(Amazon Web Services)作为软件即服务(SaaS)提供。

在本教程中,我将介绍如何使用OpenSUSE Leap作为操作系统将Postgres安装在您自己的服务器上。 然后我将安装phpPgAdmin,以便我们可以从Web浏览器管理我们的Postgres数据库。

前提条件

  • OpenSUSE Leap 42.1
  • 根权限

第1步 - 安装PostgreSQL

openSUSE存储库包含两个版本的Postgres。 在这一步中,我们将使用zypper命令在openSUSE上安装PostgreSQL 9.4。

用zypper安装PostgreSQL:

zypper in postgresql94 postgresql94-contrib postgresql94-server

用systemctl启动postgresql:

systemctl start postgresql

第2步 - 配置默认用户

在此步骤中,我们将为postgres用户设置一个密码。 Postgresql使用一个类似于用户名为“角色”的Linux用户系统进行基本身份验证和授权的概念。 默认情况下,postgresql会创建一个名为“postgres”的新用户来管理postgresql服务器。

让我们先从终端登录到用户postgres进行配置postgresql数据库的第一步:

sudo su
su - postgres

现在我们将使用psql命令。 psql是PostgreSQL的命令行前端,我们可以直接从它执行PostgreSQL查询。

psql

从psql shell,我们可以使用下面的“password”命令更改“postgres”用户的密码:

\password postgres
New Password:

输入您的postgres用户的新密码。

设置postgres用户的密码。

第3步 - 创建一个新的PostgreSQL用户

在此步骤中,我们将创建一个具有超级用户权限的新用户/角色,并创建一个新的数据库并授予用户访问权限。

要创建一个新的用户,我们必须以postgres用户身份登录,然后使用以下命令创建一个新的角色和数据库:

su - postgres
createuser -s nano
createdb nano_db

注意:

-s选项用于给予新用户超级用户权限。

nano是新的用户名。

nano_db是新的数据库名称。

现在登录到postgresql shell psql,并给我们的新角色一个密码并授予数据库访问权限。

psql
alter user nano with encrypted password 'aqwe123@';
grant all privileges on database nano_db to nano;

我将在这里使用用户nano的密码'aqwe123 @',并将权限授予数据库nano_db。

创建一个新的postgresql用户

该用户将被用于从基于web的phpPgAdmin接口登录到postgresql,因为我们不允许任何默认的用户或没有密码的用户从phpPgAdmin登录到postgresql。

第4步 - 配置PostgreSQL

在此步骤中,我们将配置PostgreSQL来监听公共IP,以便我们可以从桌面计算机远程访问DB建模工具。如果不想远程访问Postgres,您可以跳过此步骤。

转到postgresql目录“/ var / lib / pgsql /”并使用您喜欢的编辑器编辑主配置文件“postgresql.conf”:

cd /var/lib/pgsql/
cd data/
vim postgresql.conf

取消注释行59,并将值从localhost更改为“*”。

取消注释第63行配置默认端口。

listen_addresses = '*'
port = 5432

保存文件并退出编辑器。

为了允许从web应用程序phpPgAdmin访问PostgreSQL数据库,我们需要编辑pg_hba.conf文件并更改一些配置设置。

使用vim编辑“pg_hba.conf”文件:

vim pg_hba.conf

在行尾,将认证配置更改为md5:

#TYPE   Database    User    Address     Method
local   all             all                                     md5
host    all             all             127.0.0.1/32            md5
host    all             all             ::1/128                 md5

如果要允许从服务器之外的新连接,如使用PgAdmin3,您可以添加更多“主机”记录,例如桌面的IP。

保存并退出。

现在使用systemctl命令重新启动PostgreSQL服务:

systemctl restart postgresql

第5步 - 安装和配置phpPgAdmin

phpPgAdmin是一个基于Web的应用程序来管理PostgreSQL数据库。 它基于PHP,并提供GUI来管理数据库和创建角色。 在这一步中,我们将安装phpPgAdmin,因为它可以从Web浏览器访问,我们将使用apache2作为Web服务器。

使用此zypper命令安装phpPgAdmin:

zypper in phpPgAdmin

该命令将自动安装依赖关系的PHP和apache的Web服务器。

接下来,转到phpPgAdmin目录并编辑配置文件config.inc.php。

cd /etc/phpPgAdmin/
vim config.inc.php

在主机配置行18中,将值设置为“localhost”。

$conf['servers'][0]['host'] = 'localhost';

如果您想允许具有名称“postgres”或“root”的用户使用phpPgAdmin登录到postgresql,则可以将额外的安全性设置为false,但不建议将其设置为false。 检查第93行。

$conf['extra_login_security'] = true;

保存并退出。

然后在apache中激活phpPgAdmin所需的PHP和版本扩展:

a2enmod php5
a2enmod version

现在使用systemctl命令重新启动所有服务:

systemctl restart postgresql
systemctl restart apache2

第6步 - 测试

从Web浏览器访问phpPgAdmin,URL:

http://192.168.1.101/phpPgAdmin/

登录Postgres。

用用户名和密码'aqwe123 @'登录。

PHPPgAdmin接口

如果您使用用户'postgres'登录并输入正确的密码,则不允许。

安全模式打开,所以登录用户的帖子被拒绝。

参考