如何在CentOS 7服务器上利用Apache安装并hpMyAdmin

如何在CentOS 7服务器上利用Apache安装并hpMyAdmin,第1张

  在CentOS上安装phpMyAdmin,你第一步需要架设一台Web服务器(如Apache或nginx),安装好MySQL/MariaDB数据库和PHP。根据你的偏好和需求,你可以从LAMP和LEMP中选择一种安装。

  另一个要求是允许在你的CentOS上安装EPEL库。

在CentOS6或7上安装phpMyAdmin

  一旦你设置了EPEL库,你就能轻松地用以下命令安装phpMyAdmin了。

在CentOS 7上:

$ sudo yum install phpmyadmin

在CentOS 7上:

$ sudo yum install phpmyadmin php-mcrypt

在CentOS 7上配置phpMyAdmin

  默认情况下,CentOS 7上的phpMyAdmin只允许从回环地址(127001)访问。为了能远程连接,你需要改动它的配置。

  用文本编辑器打开phpMyAdmin的配置文件(路径:/etc/httpd/confd/phpMyAdminconf),找出并注释掉带有"Require ip XXXX"字样的代码行。会有四处这样的代码行,用"Require all granted"取而代之。重新改动过的配置文件如下所示。

$ sudo vi /etc/httpd/confd/phpMyAdminconf

<Directory /usr/share/phpMyAdmin/> AddDefaultCharset UTF-8 <IfModule mod_authz_corec> # Apache 24 <RequireAny> #Require ip 127001 #Require ip ::1 Require all granted </RequireAny> </IfModule> <IfModule !mod_authz_corec> # Apache 22 Order Deny,Allow Deny from All Allow from 127001 Allow from ::1 </IfModule></Directory> <Directory /usr/share/phpMyAdmin/setup/> <IfModule mod_authz_corec> # Apache 24 <RequireAny> #Require ip 127001 #Require ip ::1 Require all granted </RequireAny> </IfModule> <IfModule !mod_authz_corec> # Apache 22 Order Deny,Allow Deny from All Allow from 127001 Allow from ::1 </IfModule></Directory>

  最后,重启httpd使改动生效。

$ sudo systemctl restart httpd

在CentOS 6上配置phpMyAdmin

默认情况下,CentOS 6上的phpMyAdmin是禁止从每个IP地址访问的。为了能远程连接,你需要改动它的配置。

用文本编辑器打开phpMyAdmin的配置文件(路径:/etc/httpd/confd/phpMyAdminconf),找出并注释掉"Deny from all"字样的代码行。然后把"Allow from 127001"字样的代码行改成"Allow from 0000"。重新改动过的配置文件如下所示。

$ sudo vi /etc/httpd/confd/phpmyadminconf

<Directory "/usr/share/phpmyadmin"> Order Deny,Allow# Deny from all Allow from 0000</Directory>

下一步是将phpMyAdmin的配置文件用blowfish加密工具加密。这一步需要加密cookie里的密码来作为基于cookie的部分认证。

用文本编辑器打开如下路径所示的文件并且用blowfish设置一个随机密码,如下所示。

$ sudo vi /usr/share/phpmyadmin/configincphp

$cfg['blowfish_secret'] = 'kd5G}d33aXDc50!'; / YOU MUST FILL IN THIS FOR COOKIE AUTH! /

最后,重启httpd使改动生效。

$ sudo service httpd restart

测试phpMyAdmin

测试phpMyAdmin是否设置成功,访问这个页面:http://<web-server-ip-addresss>/phpmyadmin

你应该能通过Web界面来记录下任何MySQL用户(比如root)和管理MySQL/MariaDB的数据库/表。

疑难解答

这里有一些在CentOS上安装phpMyAdmin的过程中遇到的一些问题解决方法。

当你在浏览器里尝试连接phpMyAdmin页面的时候,你看到"403 Forbidding"错误:

You don't have permission to access /phpMyAdmin on this server

发生这种错误是因为phpMyAdmin默认阻止了IP地址远程连接。要修复这种错误,你需要编辑它的配置文件来允许远程连接。具体操作见上。

当你连接phpMyAdmin页面时,你看见"The configuration file now needs a secret passphrase (blowfish_secret)"信息,并且你无法登录。

要修复这种错误,你需要编辑 /usr/share/phpmyadmin/configincphp 这个文件来添加一个随机的blowfish密码,然后重启httpd,如下所示。

$ sudo service httpd restart (CentOS 6)

$ sudo systemctl restart httpd (CentOS 7)

$cfg['blowfish_secret'] = 'kd5G}d33aXDc50!'; / YOU MUST FILL IN THIS FOR COOKIE AUTH! /

当你连接phpMyAdmin页面时,你看见"Cannot load mcrypt extension Please check your PHP configuration"错误信息。

要修复这种错误,要安装下面这个包:

然后重启httpd:

$ sudo service httpd restart (CentOS 6)

$ sudo systemctl restart httpd (CentOS 7)

$ sudo yum install php-mcrypt

基本工作站的分区方案  假设系统的硬盘大小是10G。

  /boot 20M

  Swap 128M

  /root 985G

  建立一个20M的/boot分区是为了避免将系统内核文件放到1024磁道以外,如果将/boot做为root分区的一个子目录,内核文件就会安装在root分区的任何地方,因为硬盘的大小超过了8G,所以在启动时就有可能出现问题。建议将交换分区的大小设置为内存的两倍,在这里我们假设系统的内存为64M。最后我们将硬盘的剩余空间全部分给了root分区。  Red Hat Linux 62 及其早期版本上的基本服务器硬盘分区方案  

这里的服务器我们假设只提供几种通用的服务,如WWW服务及FTP服务等几种服务,通过telnet登录的用户数很少。假设其硬盘大小为25G。

  /boot 20M

  Swap 128M

  / 10G

  /home 13G

  /var 2G

 

  在硬盘的最前面创建20M大小的/boot分区,原因同上。 交换分区的大小也是128M,因为内存的大小为64M。

  / ,即root分区设为10G这么大是因为其中有一个/usr目录,这个目录可能会占用很多硬盘空间,特别是在安装了X Server,运行图形界面的应用程序的时候。

  /home分区是硬盘中最大的分区,这似乎与我们假设系统用户数不多有些矛盾。实际上在/home目录下确实没有几个用户目录,但在Red Hat62及更早的版本中,Apache服务器和wu-ftpd FTP服务器被放在了/home/httpd及/home/ftp目录中。所以这个分区这么大也是有原因的。

  最后,/var目录独自占用了一个分区,因为系统的所有日志都写到了/var/log目录下,这将会占用很大的硬盘空间。如果系统日志记录得非常详细,整个目录很快会被写满,导致系统工作呆滞。当然,可以通过系统日志后台守护程序syslogd来修改日志配置,避免发生这种情况。 

Red Hat 7及以上版本的基本服务器分区方案  这种情况同前一个方案的情况相同,不同的是LINUX版本为Red Hat 70及其以上版本。

  /boot 20M

  Swap 128M

  / 10G

  /var 15G  与RedHat6不同,在RedHat7中HTTP服务和FTP服务的目录现在位于 /var/www/和/var/ftp/,因此/var分区有15G之大也就不难理解了。

  多用户服务器分区方案  在这种服务器系统中,同时有多个用户通过telnet, ssh, rlogin或其方式在远程访问系统。系统中有三个35G的硬盘驱动器,总共有105G的磁盘空间 。系统中用到了RAID 5技术做数据冗余。这种情况下,管理员必须为每个用户分配磁盘空间。 对RedHat 62及更早的版本,分区如下:

  Disk 1:  /boot 20M

  / 4G

  /var 3GB

  /home 2798G  Disk 2:  swap 20MB

  / 4GB

  /var 3GB

  /home 2798GB  Disk 3:  swap 20MB

  / 4GB

  /var 3GB

  /home 2798GB  这样分区的原因:首先,Disk1上的20M /boot分区不属于任何RAID阵列,否则如果你将/boot放至RAID阵列中,以后就不能系统内核升级了。

  为了方便管理,在其它两个硬盘中建立了20M的交换分区。这种服务器一般配有1G以上的内存,因此交换分区的大小不成问题。如果增大交换分区,就会减少RAID分区空间,所以20M是足够的。RAID分区的分组如下:  · 1-A, 2-A, and 3-A 一起组成一个8G的 RAID 5 驱动器,做为/根目录打开。

  · 1-B, 2-B, and 3-B 组成 6GB的 RAID 5 驱动器,做为 /var目录。

  · 1-C, 2-C, and 3-C 组成 5596GB RAID 5 驱动器, 做为 /home目录。

  这种分配方案总共有5596G的空间分配给所有用户及Apache和FTP服务,在/var下用6G空间用做记录日志、邮件,这么大的空间是足够的。

  如果安装Red Hat7或以上版本,应给/var分区更大的空间,因为它同时还存放着WEB和FTP服务的两个目录。

找个4G或8G的U盘,格式化为FAT32,并在磁盘管理中激活其分区,使其能可引导,再把server2008系统安装光盘中所有的文件复制进U盘根目录。拿这个U盘启动服务器进行安装即可,如果服务器上配置了阵列卡并启用了raid阵列,需要在hp网站上下载对应的阵列卡驱动放到U盘中,安装过程中选择加载这个阵列卡驱动即可!首先本着相互学习的原则,请尽可能的将问题描述的清晰易懂,条理清晰,可能的话请提供截图或照片以便分析问题所在,谢谢您的支持和理解!其次,无论您是本着什么样的心态在此提问,请在提问前先尝试百度搜索下可能问题早有过回答了,也不是说悬赏多少就一定有人答,而是用心提问才会有人答,大家并不是职业解答人,都有自己的工作和生活,都是利用零碎的时候在网络上为他人提供一点小小的帮助,日行一善,积善成德,请尊重回答者,如同自尊自爱一样!以上,有帮助到您的请采纳,若还有问题请追问,倘若回答得不到您的满意请见谅,毕竟一个人能力有限,感谢浏览至此。

PostgreSQL是一个强大开源的对象关系类型数据库系统,它能运行于几乎所有主要的操作系统,包括Linux、Unix(AIX、BSD、HP-UX、SGI IRIX、Mac OS、Solaris、Tru64)、Windows OS。在这篇教程里,我们将学习如何在CentOS7/65/64 server 中建立PostgreSQL。

1安装PostgreSQL

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

对CentOS 6x 32bit:

rpm -Uvh http://yumpostgresqlorg/93/RedHat/rhel-6-i386/pgdg-centos93-93- 1noarchrpm

对CentOS 6x 64bit:

rpm -Uvh http://yumpostgresqlorg/93/redhat/rhel-6-x86_64/pgdg-centos93-93-1noarchrpm

对CentOS 7 64bit:

rpm -Uvh http://yumpostgresqlorg/93/redhat/rhel-7-x86_64/pgdg-centos93-93-1noarchrpm

对于其它的发行版,可查看以下链接并建立库:

http://yumpostgresqlorg/repopackagesphp#pg93

使用以下命令来更新库:

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库。

如果你没有添加PostgreSQL库,你可以添加EPEL库。

可根据下面的链接在CentOS 6x中建立EPEL库

http://wwwunixmencom/install-epel-repository-rhel-centos-scientific-linux-6/

CentOS 7的话参考下面的链接

http://wwwunixmencom/install-epel-repository-centos-rhel-7/

使用命令更新库

yum update

现在输入命令安装phpPgAdmin:

yum install phpPgAdmin httpd

注意phpPgAdmin区分大小写,要准确使用上面所示的大小写!

默认你可以使用http://localhost/phpPgAdmin访问phpPgAdmin。若要远程访问需要继续:

编辑文件/etc/httpd/confd/phpPgAdminconf

vi /etc/httpd/confd/phpPgAdminconf

修改如下加粗的部分:

[]

Alias /phpPgAdmin /usr/share/phpPgAdmin

<Location /phpPgAdmin>

<IfModule mod_authz_corec>

# Apache 24

Require all granted

#Require host examplecom

</IfModule>

<IfModule !mod_authz_corec>

# Apache 22

Order deny,allow

Allow from all

# Allow from examplecom

</IfModule>

</Location>

启动或重启Apache服务

在CentOS 6x系统中

service httpd start

chkconfig httpd on

在CentOS 7系统中

systemctl enable httpd

systemctl start httpd

现在打开浏览器并转到http://ip-address/phpPgAdmin。终于看到下面的界面了!

使用你之前创建的用户登录,我的是用户senthil密码CentOS。

你可能会遇到:Login failed。

这是因为SELLinux可能限制用户连接到PostgreSQL,只需输入以下命令更改即可:

setsebool -P httpd_can_network_connect_db 1

现在你应该能正常登录了。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何在CentOS 7服务器上利用Apache安装并hpMyAdmin

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情