这篇文章基于前一篇分离式lamp平台实现安装phpmyadmin,设定虚拟主机名称为www.phpmyadmin.com。
一、phpmyadmin工作于http模式下,未加密。
1、创建虚拟主机www.phpmyadmin.com站点根目录
# mkdir -pv /usr/local/apache/htdocs/phpmyadmin
2、修改httpd配置文件设置:
(1)禁用中心主机,注释掉中心主机的DocumentRoot:
(2)DirectoryIndex中添加index.php,使得apache支持php。
(3)在补充配置段中启用虚拟主机:
(4)在mime段中添加支持的php资源类型:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
(5)编辑/etc/httpd24/extra/httpd-vhost.conf,添加虚拟主机。
关闭正向代理,同时将前端服务器的php页面请求转发至192.168.1.134:9000/var/phpscript/phpmyadmin/目录下对应的资源文件上。192.168.1.134为php应用程序服务器。
3、在php服务器(192.168.1.134)上为phpadmin应用程序创建目录,修改配置:
# mkdir -pv /var/phpscript/phpmyadmin
# tar xf phpMyadmin-3.5.1-all-languages.tar.bz2 -C /var/phpscript/
# cd /var/phpscript
# mv phpMyAdmin-3.5.1-all-languages phpmyadmin
# cd phpmyadmin
为phpmyadmin添加配置文件:
# cp config.sample.inc.php config.inc.php
编辑配置文件,修改需要连接的数据库主机的IP地址,数据库服务器的IP地址为192.168.1.137:
该配置文件中连接主机的默认配置为localhost,是本地主机,如果连接远程主机,需要更改这个参数的值。
4、在数据库服务器端创建远程连接的用户账号
# mysql
> CREATE USER tuser@'192.168.1.%' IDENTIFIED BY 'tpass';
5、修改windows系统的hosts文件解析条目,以方便在浏览器内直接输入该虚拟主机名称进行测试。
6、在浏览器内输入www.phpmyadmin.com测试,显示phpmyadmin的登录界面,但是其中的静态资源比如图片类的资源会显示不正常,如图:
这是因为php服务器将前端服务器的php页面处理请求结果返回给apache服务器,但是静态资源如图片,jss文件,css文件等内容它是不处理的,而apache服务器端并未放置phpmyadmin程序,所以我们需要在前端apache服务器放置这些静态资源,以保证浏览器内显示资源全部正常,可以简单的将phpmyadmin程序放置在/usr/local/apache/htdocs/phpmyadmin目录即该虚拟主机的站点根目录下即可,再次使用浏览器测试,效果如下:
7、输入数据库服务器端授权登录的账号tuser测试:
二、使phpmyadmin工作在https模式下:
在主配置文件中修改如下条目:
1、启用LoadModule ssl_module modules/mod_ssl.so
2、启用/etc/httpd24/extra/httpd_ssl.conf文件
3、将之前定义的虚拟主机条目注释掉,在/etc/httpd24/extra/httpd-vhosts.conf中
4、在/etc/httpd24/extra/httpd-ssl.conf文件中定义虚拟主机www.phpmyadmin.com
5、使用私有CA为该虚拟主机生成证书文件httpd.crt和秘钥文件httpd.key,并将这两个文件的路径填入配置文件中:
6、将CA服务器的公钥导出到windows系统中,并安装证书,然后在浏览器内输入https://www.phpmyadmin.com测试。