如何在CentOS 76.56.4 下安装PostgreSQL 9.3 与 phpPgAdmin

如何在CentOS 76.56.4 下安装PostgreSQL 9.3 与 phpPgAdmin,第1张

1安装PostgreSQL

首先根据你的服务器架构添加PostgreSQL库:

使用以下命令来更新库:

     yum update

使用以下命令来安装PostgreSQL:

     yum install postgresql93-server postgresql93-contrib

使用以下命令来初始化PostgreSQL数据库:

在CentOS 6x 系统中:

   service postgresql-93 initdb

在CentOS 7系统中:

   /usr/pgsql-93/bin/postgresql93-setup initdb

然后启动PostgreSQL服务并使之开机自启:

在CentOS 6x 系统中:

     service postgresql-93 start

     chkconfig postgresql-93 on

在CentOS 7系统中:

   systemctl enable postgresql-93

   systemctl start postgresql-93

2调整Iptables/Firewall

   接下来调整防火墙出站规则:

在CentOS 6x系统中:

   vi /etc/sysconfig/iptables

并添加以下行

   -A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT

   -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

退出并保存文件。重启iptables服务:

  service iptables restart

在CentOS系统中:

   firewall-cmd --permanent –add-port=5432/tcp

   firewall-cmd --permanent –add-port=80/tcp

   firewall-cmd --reload

3访问PostgreSQL常用的命令提示符

默认情况下数据库名和用户名都是postgres。切换至用户以执行相关操作:

   su – postgres

输入以下命令登陆:

   psql

会有以下样例输出:

   psql (935)

   Type "help" for help

   Postgres=#

可通过输入\q退出postgresql返回命令终端:

4设置用户密码

登陆至postgres命令提示符界面

 su – postgres

 psql

然后使用命令设置密码

 postgres=# \password postgres

   Enter new password:

   Enter it again:

   postgres=# \q

输入命令以建立PostgreSQL系统管理工具

   postgres=# CREATE EXTENSION adminpack;

 CREATE EXTENSION

5创建用户和数据库

例如:用户名:senthil    密码:centos  数据库名:mydb

转到postgres用户

su – postgres

创建用户senthil

$ createuser senthil

创建数据库

$ createdb mydb

现在登陆至psql提示符界面,为用户senthil设置密码及授权对数据库mydb的访问:

$ psql

psql (935)

Type "help" for help

postgres=# alter user senthil with encrypted password 'centos';

ALTER ROLE

postgres=# grant all privileges on database mydb to senthil;

GRANT

postgres=#

6删除用户和数据库

首先转到postgres界面

su – postgres

输入命令

$ dropdb <database-name>

删除用户名可输入

$ dropuser <user-name>

7配置PostgreSQL-MD5认证

MD5认证需要客户端提供一个MD5-encrypted 密码以便身份验证。你需要编辑 /var/lib/pgsql/93/data/pg_hbaconf文件:

vi /var/lib/pgsql/93/data/pg_hbaconf

添加或修改的行如下:

[]

# TYPE  DATABASE          USER    ADDRESS              METHOD

# "local" is for Unix domain socket connections only

local        all      all                     md5

# IPv4 local connections:

host        all      all    127001/32      md5

host        all      all    19216810/24    md5

# IPv6 local connections:

host        all      all    ::1/128          md5

[]

重启postgresql服务以应用更改

在CentOS 6x系统中

service postgresql-93 restart

在CentOS 7系统中

systemctl restart postgresql-93

8配置PostgreSQL-Configure TCP/IP

默认情况下,TCP/IP连接是不可行的,所以其他计算机用户不能连接到postgresql。编辑文件 /var/lib/pgsql/93/data/postgresqlconf可以允许连接:

vi /var/lib/pgsql/93/data/postgresqlconf

找到下面的行:

[]

#listen_addresses = 'localhost’

[]

#port = 5432

[]

把两行都取消并设置为你的postgresql服务器IP地址或设置为“”监听所有客户端。如下所示:

listen_addresses = ''

port = 5432

重启以应用更改

在CentOS6x系统中:

/etc/initd/postgresql-93 restart

在CentOS7系统中:

systemctl restart postgresql-93

9使用phpPgAdmin管理PostgreSQL

phpPgAdmin是使用PHP编写的基于web的管理工具,用于管理PostgreSQL。它只适用与PostgreSQL RPM库。

1. 用以下命令查看系统是否安装了sendmail:

[root@mail /root]# rpm –qa |grep sendmail

sendmail-8110-8

2. 卸载sendmail:

[root@mail /root]# rpm -e sendmail –nodeps

3. 用以下命令杀死运行中的sendmail进程:

[root@mail /root]# killall sendmail

如果系统提示:

sendmail: no process killed

则说明当前系统中没有sendmail进程。

4. 安装postfix:

[root@mail /root]# rpm -ivh postfix-20010228release-2i386rpm

若已经安装,则此步可以省略。(注:安装时最好用rpm包,会自动创建postfix用户和postfix组)

5. 安装imap

rpm –ivh /mnt/cdrom/RedHat/RPMS/ imap-47c2-12rpm

imap使pop3有效,即打开110端口。(注:安装时最好用rpm包)

若已经安装,则此步可以省略。

6. 检查系统中是否安装了cyrus-sasl

执行以下命令查看系统中是否安装了cyrus-sasl:

rpm –qa |grep cyurs

如果您看到以下提示,则说明已经安装了cyrus-sasl

[root@test bye2000]# rpm -qa |grep sasl

cyrus-sasl-devel-1524-17

cyrus-sasl-1524-17

否则,请用rpm –ivh 命令先安装所需sasl-cyrus包。

7.修改postfix用户

同时应该让该用户不能登录到系统,也即不为该用户指定可执行的登录外壳程序和可用

的用户宿主目录。

编辑/etc/passwd文件中的相关条目如下所示:

postfix:x:89:89::/no/where:/no/shell [编辑后,只修改蓝色部分就可以了]

即:修改用户的Home directory和Shell 参照 /etc/passwd文件

8.编辑postfix的主要配置文件/etc/postfix/maincf,根据需求只需修改以下几个参数:

1)mydomain

指明你的域名,在这里我们指定:

mydomain = xxcom

2)myorigin

myorigin参数指明发件人所在的域名。如果你的用户的邮件地址为user@domaincom,则该参数指定@后面的域名。在这里我们指定:

myorigin = $mydomain

3)inet_interfaces

inet_interfaces = all 监听所有端口

4)mydestination

mydestination参数指定postfix接收邮件时收件人的域名,换句话说,也就是你的postfix

系统要接收什么样的邮件。通常与myorigin一样:

mydestination = $mydomain

5)mynetworks_style

设置网络类型,我们指定:

mynetworks_style = subnet

6)ynetworks

定义可以使用的此smtp服务器发信的客户ip地址,因为公司的ip范围已知,所以我们

指定:

mynetworks = 19216810/24

注:此项可根据情况而定,主要是指定ip范围,假如公司的ip划分是按照网段来的,例如:101010~101019,101030~101039等等更细。根据需要,该项可以不设置。

7)SMTP的配置

为了告诉postfix采用sasl来进行SMTP的用户认证,我们必须在/etc/postfix/maincf文件的最后添加以下几行:

smtpd_sasl_auth_enable = yes

smtpd_recipient_restrictions = permit_sasl_authenticated

permit_auth_destination reject

broken_sasl_auth_clients = yes

smtpd_sasl_security_options = noanonymous

说明如下:

smtpd_sasl_auth_enable:告诉SMTP客户,该SMTP服务器需要进行用户认证。

smtpd_recipient_restrictions = permit_sasl_authenticated

permit_auth_destination reject

仅仅中继通过SMTP认证的客户端邮件,以及接收本postfix为最后一站的邮件。

broken_sasl_auth_clients = yes

有一些Microsoft 的SMTP客户端,比如Outlook Express 4X采用的是非标准的SMTP认证协议,将该选项设置为yes可以解决这类不兼容问题。

smtpd_sasl_security_options = noanonymous

控制本地SMTP认证所采用的机制,这里是允许任何非匿名认证方法。

9.配置SASL

进入/usr/lib/sasl/目录,用touch新建这样一个文件:

[root@test sasl]# touch smtpdconf

在该文件中加入以下内容:

[root@test sasl]# more smtpdconf

pwcheck_method:pam

也就是指定通过PAM来进行用户认证。

10.配置PAM

进入/etc/pamd/目录,用touch新建这样一个文件:

[root@test pamd]# touch smtp

在该文件中加入如下内容:

[root@test pamd]# more smtp

#%PAM-10

auth required /lib/security/pam_stackso service=system-auth

account required /lib/security/pam_stackso service=system-auth

也即和/etc/pamd/pop文件的内容是一致的。

11.修改/etc/shadow文件权限

因为PAM最终要去读取/etc/shadow文件的内容来进行用户认证,但是/etc/shadow文件

权限是设置为只有root用户可以读写,而我们的postfix是运行在postfix用户权限之下,所以我们要合理的设置/etc/shadow文件权限,以便让pam可以读取其内容。

执行以下命令,让root组也可以读取shadow:

[root@test /etc]# chmod 640 /etc/shadow

然后再将postfix用户加入root组,采用以下命令:

[root@test /etc]# usermod -G root postfix

12.编辑postfix的主要配置文件/etc/postfix/mastercf

# ==========================================================================

# service type private unpriv chroot wakeup maxproc command + args

# (yes) (yes) (yes) (never) (100)

# ==========================================================================

smtp inet n - n - - smtpd

这里开始

#smtps inet n - n - - smtpd

# -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes

#submission inet n - n - - smtpd

# -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes

这里结束

#628 inet n - n - - qmqpd

把我标的注释部分去掉即可。

13.配置pop3

RedHat70已经使用xinetd代替了以前的inetd,为了使pop3服务启动,我们编辑

/etc/xinetdd/ipop3文件,将其中的disable = yes改为disable = no 以便启动pop3

服务。

为了使改动生效,执行以下命令:

/etc/rcd/initd/xinetd reload

14.启动postfix

执行以下命令启动postfix:

/etc/rcd/initd/postfix start

这样,一个支持SMTP认证的postfix邮件服务器就配好了。

安装bind

yum install -y bind bind-chroot bind-utis

2

BIND配置文件保存在:

/etc/namedconf    主配置文件

/var/named/         域zone文件位置

修改主配置文件

vim /etc/namedconf (如下图1)

修改完毕,保存退出

接着配置zone文件

修改zone配置文件vim /etc/namedrfc1912zones (如下图2)

3

zone配置文件简单说明:

常见的正解文件 RR 相关信息

[domain]    IN  [[RR type]  [RR data]]

主机名   IN  A           IPv4 的 IP 地址

主机名   IN  AAAA        IPv6 的 IP 地址

领域名   IN  NS          管理这个领域名的服务器主机名字

领域名   IN  SOA         管理这个领域名的七个重要参数(如上说明)

领域名   IN  MX          顺序数字  接收邮件的服务器主机名字

主机别名   IN  CNAME       实际代表这个主机别名的主机名字

单位:W= 周、D= 日、H= 小时、M= 分钟。

$TTL    86400

@       IN      SOA    nshelomecom root ( # nstestweb 是DNS服务器的名称

0        ; serial (d adams)  仅作为序列号而已 

1D        ; refresh  服务器的更新时间

15M        ; retry 重新更新时间间隔

1W        ; expiry 多久之后宣布失败

1H )        ; minimum 相当于缓存记忆时间

@       IN       NS             nshelomecom

@       IN       MX     5      mailhelomecom (5为优先级别)

ns      IN       A               19216832131

www     IN       A               19216832131

mail     IN       A               19216832131

4

配置正向解析(如下图一)

cd /var/named/

cp namedlocalhost helomecomzone

vim helomecomzone(一定要和主配置文件里面定义的zone文件名一致)

配置反向解析(如下图二)

cp namedlocalhost 32168192zone

vim helomecomzone

保存退出!

5

更改防火墙设置和selinux设置

getenforce

setenforce 0

iptables –F (如下图一所示)或者vim /etc/sysconfig/iptables #配置防火墙端口(如下图二所示)

-AINPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT

-AINPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT

-AINPUT -m state --state NEW -m tcp -p tcp --dport 953 -j ACCEPT

service iptables restart #重启防火墙,使规则生效

6

启动bind

service named start

修改/etc/resolvconf文件

vim /etc/resolvconf

7

测试检测域信息是否正常

检查之前先看下 配置文件有没有读取权限 ll /var/named (如果没有 chmod +r /var/named/  即可)

8

使用host或nslookup命令   检测域信息是否正常(如下图所示)

host mailhelomecom

nslookup mailhelomecom

到此DNS服务器的搭建就完毕了。

9

bind文件配置过程中容易出错

以下命令用以检查bind配置文件及zone文件语法

named-checkconf/etc/namedconf

named-checkzone helomecom /var/named/helomecomzone

1yum安装Git服务器

代码如下:

[root@git ~]# cd src/

[root@git src]# wget http://dlfedoraprojectorg/pub/epel/5/x86_64/epel-release-5-4noarchrpm

[root@git src]# rpm -ivh epel-release-5-4noarchrpm

Preparing                ########################################### [100%]

  package epel-release-5-4noarch is already installed

[root@git ~]# yum list

[root@git ~]# yum install -y git

2创建一个git用户,用来运行git服务

代码如下:

[root@git ~]# adduser git

3创建客户端登录证书

注,收集所有需要登录的用户的公钥,就是他们自己生成的id_rsapub文件,把所有公钥复制到/home/git/ssh/authorized_keys文件里,一行一个。嘿嘿!

1)客户端生成id_rsapub文件的命令

代码如下:

$ ssh-keygen -t rsa

$ cat  ssh/id_rsapub

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NwUHeNNi+PC6KlrcJrXXDmKxRMmgHIPp79sgX6zqfdSlmNj7rBPQeyEKS9Wg8yI6jd8aG2jsUx99Vjti2VK2vEXKkRHxwID7ri69gE71RfDtv6ekafnzLo14J8hAp0spMk+N3wEAQRYDmcYo1wmnm/jMBedGrHj4NJQ1vYy1hVtJasGMSzjcMrlz9qvaluWnQ5tQjKFQVVwKsRRRzs8qTvzVhLJt4NQ+CAN45tqfsRuf58Uba9QNK7/6xSUiIKXQiILz8PMGJ3MnlV+eN3wx2aeztdevxu9plggtG05SMmd8GNVzXrN1IaxXSvz0UwjQ2kygu7aCqO8AZWH49rouw== leo@LEO-PC

注,一路回车即可,将生成的id_rsapub,复制给管理员,帮你在服务器上增加一下,下次你用git时就不需要输入用户名和密码了。

2)查看服务器上authorized_keys文件

代码如下:

[root@git ~]# cat /home/git/ssh/authorized_keys

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwMU4FKB6NRc3XSoIunWsdvVVuSoncbVb5Al6lB3ciswBVd++YmJFhqwkITNGccrO5sycROs9+Fbjgd6oBSzNuaBtCIbwNNsEyM/henTl2euI3XsnJQ/ITr6c/q0P3WoGl4E2QFQ2kZqs+1eDC0CgHcBrqvFv1Jr414sVYK9lfZwIF+jDdtaBOrSJuq1Agx9pGUFUEB4tQfkXxsWm/MvOmKAVvduKDE1eenUEL9zzyeELPcSXLe3NOoTjZhkX6EEXxQR1ZiZRFywLpfM4qopZ10to2KIUyVtzw6hx6V3cg7kn40lYVW0EAMATw9dVldwcRUI+kJzJSKUTKDVSwY3/+Q== root@CHENMINGQIAN

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAsmmJuR+KhRSpdSirCiL30RA8WbfgicY1z7itWVnKHJW6hTuJFhzruY59FilVjJR1hbQBluP9JnK3XPSK9PSg+bwiJ2iQRa39rXck35r+trVOLyNbPyfKVRfOemD8YuykMlyr5JeW8gZjsHEuLnJ8//RiCiYzd3RT/SSUQ4yawDoIIWkz3eUSL09xoCRZFBsAp+S/LD3vx2MN+FNOHwvqcE+yK3oRNIqjWwLoKE0e5TRnqNgrPQ95PJYB3XPUulzaeMwsWPZs7jIUMl/5yEqSgAkioa8SVMOsikYJG/erv99NNVgFmpCBIiWqKEGkNrIpYzLLHDSYQ4g5Gbci/RZ54Q== Administrator@WIN2003X323

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NwUHeNNi+PC6KlrcJrXXDmKxRMmgHIPp79sgX6zqfdSlmNj7rBPQeyEKS9Wg8yI6jd8aG2jsUx99Vjti2VK2vEXKkRHxwID7ri69gE71RfDtv6ekafnzLo14J8hAp0spMk+N3wEAQRYDmcYo1wmnm/jMBedGrHj4NJQ1vYy1hVtJasGMSzjcMrlz9qvaluWnQ5tQjKFQVVwKsRRRzs8qTvzVhLJt4NQ+CAN45tqfsRuf58Uba9QNK7/6xSUiIKXQiILz8PMGJ3MnlV+eN3wx2aeztdevxu9plggtG05SMmd8GNVzXrN1IaxXSvz0UwjQ2kygu7aCqO8AZWH49rouw== leo@LEO-PC

说明:我这里有三个用户登录服务器,所以我这里就有三个ssh-rsa,大家可以看一下。

4初始化Git仓库

注,先选定一个目录作为Git仓库,这里是/data/git/projectgit。

代码如下:

[root@git ~]# cd /data/git/

[root@git git]# git init --bare projectgit

[root@git projectgit]# ls

branches  config  description  HEAD  hooks  index  info  objects  refs

执行以上命令 Git命令,会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以git结尾。然后,把owner改为git:

代码如下:

[root@git git]# chown -R gitgit projectgit

[root@git git]# ls -l

总计 4

代码如下:

drwxr-xr-x 7 git git 4096 05-09 13:50 projectgit

5禁用shell登录

注,出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:

代码如下:

[root@git ~]# cat /etc/passwd | grep git

git:x:1001:1001:git version control:/home/git:/bin/bash

改为:

代码如下:

[root@git ~]# vim /etc/passwd

git:x:1001:1001:git version control:/home/git:/usr/bin/git-shell

这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。

6克隆远程仓库

注,现在可以通过git clone命令克隆远程仓库了,在各自的电脑上运行:

注,$ git clone git@gitjjhhcom:/data/git/projectgit,其中git用户名,gitjjhhcom服务器,/data/git/prgjectgit是仓库路径。好了,到这里服务器的搭建到这里就完成了,下面我们来安装一下客户端。

7创建SSH Key

首先在用户主目录下,看看有没有ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsapub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

代码如下:

$ ssh-keygen -t rsa -C "youremail@examplecom"  

你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。

如果一切顺利的话,可以在用户主目录里找到ssh目录,里面有id_rsa和id_rsapub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsapub是公钥,可以放心地告诉任何人。

8Git服务器打开RSA认证

然后就可以去Git服务器上添加你的公钥用来验证你的信息了。在Git服务器上首先需要将/etc/ssh/sshd_config中将RSA认证打开,即:

1RSAAuthentication yes

2PubkeyAuthentication yes

3AuthorizedKeysFile ssh/authorized_keys

这里我们可以看到公钥存放在ssh/authorized_keys文件中。所以我们在/home/git下创建ssh目录,然后创建authorized_keys文件,并将刚生成的公钥导入进去。

然后再次clone的时候,或者是之后push的时候,就不需要再输入密码了:

代码如下:

Zhu@XXX/E/testgit/834

$ git clone git@192168834:/data/git/learngitgit

Cloning into 'learngit'

warning: You appear to have cloned an empty repository

Checking connectivity done

搭建邮箱服务器首先要选择一款邮件服务器软件,比较常用的邮件服务器软件有:Winmail、Exchange、Mdaemon、Winwebmail、Imail、Coremail、U-Mail、TurboMail、iGENUS、Icewarp、易邮、金笛、MagicMail等。\x0d\然后根据邮箱的用户量来决定服务器的配置,用户量大的服务器硬件要求就要高,硬件要求就越高,例如1000用户的企业邮箱的配置:\x0d\DellPowerEdgeR710×2,16G内存,CPU一块,500GSAS硬盘6块\x0d\软件要求:\x0d\CentOS53以上版本Mysql51以上版本。\x0d\具体根据企业的不同情况进行配置,这需要多年的邮箱运营经验。\x0d\硬件需求:\x0d\500用户左右的,一个四核CPU,4G内存,硬盘看给用户分配多少空间了。如果用户数多,硬件配置也相应提升。\x0d\以exchange2007为例\x0d\处理器IntelPentium800MHz或更快的32位处理器\x0d\支持Intel64位扩展内存技术的基于x64体系结构的处理器\x0d\支持AMD64平台的AMD64位处理器\x0d\内存最小:2GB\x0d\推荐:每服务器2GB以及每个邮箱5MB\x0d\页面文件大小等于服务器内存容量加10MB\x0d\硬盘安装Exchange的处理器\x0d\驱动器至少有12GB可用空间\x0d\安装UM语言包,需要增加500MB空间\x0d\系统驱动器上至少有200MB可用空间\x0d\只要挂到互联网上就可以实现邮件互发。

你说的找不到目录里的文件内容/usr/lib/sasl2/smtpdconf,是因为你没有安装cyrus-sasl 。

有没有安装软件,你可以透过rpm -qa |grep sasl来查看。

如果你正常安装这个软件应该可以看到这个信息

cyrus-sasl-lib-2122-8

cyrus-sasl-plain-2122-8

cyrus-sasl-2122-8

cyrus-sasl-devel-2122-8

如没有,安装后,既可以找到你要的那个文件。

安装完postfix,可以使用mail指令来测试。

# mail test@yourdomaincom 给test这个邮箱寄邮件

Subject: hello 输入邮件主题

mail test! 邮件内容

邮件内容结束,输入“”

Cc: 转寄给XXX,可直接回车

然后,使用下面指令来查看mail

ls -l /var/spool/mail

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何在CentOS 76.56.4 下安装PostgreSQL 9.3 与 phpPgAdmin

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情