任务三 项目部署
在搭建好PHP+Apache+MySQL环境后,接下来就可以下载网络中的开源软件,在本机上部署一个网站。在真实环境中,需要有一个独立的IP和域名才能让网站上线;而在开发阶段,只需要网站能够在本机和局域网内被访问就足够了。本节通过更改hosts文件的方式,让读者通过虚拟的域名来访问本机上的网站。
1. 配置虚拟主机
虚拟主机是Apache提供的一个功能,通过虚拟主机可以在一台服务器上部署多个网站。虽然服务器的IP地址是相同的,但是当用户使用不同域名访问时,访问到的不是相同的网站。接下来分步骤讲解Apache的虚拟主机配置,具体操作步骤如下。
(1)修改hosts文件,实现网站的域名访问。在Windows中以管理员身份运行文本编辑器,然后执行【文件】→【打开】命令,打开“C:\Windows\System32\drivers\etc”文件夹下的“hosts”文件,在该文件中配置IP地址和域名的映射关系,具体如下。
127.0.0.1 www.bxg.com 127.0.0.1 ask.bxg.com 127.0.0.1 www.admin.com
在上述配置中,“127.0.0.1”是本机的IP地址,后面的是域名。“127.0.0.1 www.bxg.com”表示当访问“www.bxg.com”这个域名时,自动解析到“127.0.0.1”这个IP地址上。经过上述配置之后,就可以在浏览器上直接输入域名来访问本机的Web服务器。需要注意的是,这种域名解析方式只对本机有效。
(2)修改httpd.conf文件,启用虚拟主机辅配置文件。在Apache的配置文件“httpd.conf”中找到如下所示的一行配置,取消注释即可。
#Include conf/extra/httpd-vhosts.conf
在上述配置中,“Include”表示从另一个文件中加载配置,后面是配置文件的路径。接下来,在辅配置文件“httpd-vhosts.conf”中进行虚拟主机的配置。
(3)打开“conf/extra/httpd-vhosts.conf”虚拟主机配置文件,将该文件中原有的配置全部注释起来,然后重新编写如下的配置。
NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot "C:/web/apache2.4/htdocs" ServerName www.bxg.com </VirtualHost> <VirtualHost *:80> DocumentRoot "C:/web/apache2.4/htdocs/ask" ServerName ask.bxg.com </VirtualHost>
上述配置实现了两个虚拟主机,分别是“www.bxg.com”和“ask.bxg.com”,并且这两个虚拟主机的文档目录被指定在不同的目录下。接下来创建“C:\web\apache2.4\htdocs\ask”文件夹,并在文件夹中放一个简单的网页,然后重启Apache使配置文件生效。
(4)在浏览器中访问这两个域名,会看到不同的两个网站,如图1-36所示。
图1-36 访问虚拟主机
(5)继续编辑“httpd-vhosts.conf”,配置一个带有访问权限的虚拟主机,如下所示。
<VirtualHost *:80> DocumentRoot "c:/web/www.admin.com" ServerName www.admin.com <Directory "c:/web/www.admin.com"> Require local </Directory> </VirtualHost>
上述配置将虚拟主机“www.admin.com”的文档目录指定到“C:/web/www.admin.com”目录下,并通过<Directory>指令为其配置了目录访问权限。在Apache中,默认站点目录“htdocs”的访问权限是公开的,而其他目录禁止访问,如果将站点部署到其他目录,就需要配置访问权限。其中“Require local”表示只允许本地访问,“Require all granted”表示允许所有的访问,“Require all denied”表示拒绝所有的访问。
(6)在浏览器中访问“www.admin.com”进行测试。当用户没有访问权限时,效果如图1-37左图所示;当用户有权限访问并且该目录下存在“index.html”时,效果如图1-37右图所示。
图1-37 测试目录访问权限
(7)启用Apache的目录浏览功能。修改“httpd-vhosts.conf”,具体配置如下。
<Directory "C:/web/www.admin.com"> Options indexes </Directory>
在上述配置中,“Options indexes”用于启用Apache的目录浏览功能。当该功能启用时,如果用户访问的目录中没有默认索引页(DirectoryIndex)指定的文件,就会显示文件列表,如图1-38所示。
图1-38 Apache目录浏览功能
在网站开发阶段,Apache的目录浏览功能可以方便用户访问服务器中的文件。在网站上线时,应关闭该功能,以免暴露服务器中的文件目录。将其修改为“Options -indexes”,即可关闭该功能。
2. 部署phpMyAdmin
phpMyAdmin是一个以PHP为基础的MySQL数据库管理工具。该工具为Web开发人员提供了图形化的数据库操作界面,通过该工具可以对MySQL数据库进行管理操作,如创建、修改、删除数据库及数据表等。本小节讲解phpMyAdmin的安装与使用。
(1)phpMyAdmin的官方网站“http://www.phpmyadmin.net”提供了该软件的下载,下载后解压到“C:\web\www.admin.com\phpmyadmin”目录中即可,如图1-39所示。
图1-39 安装phpMyAdmin
(2)编辑PHP配置文件“php.ini”,开启运行成熟项目所必需的扩展,具体开启的扩展如下。
extension=php_curl.dll extension=php_gd2.dll extension=php_mbstring.dll extension=php_mysql.dll extension=php_mysqli.dll extension=php_pdo_mysql.dll
上述扩展是PHP成熟项目中常用到的扩展。在php.ini中找到上述扩展的配置后,取消分号注释即可。修改“php.ini”后,需要重启Apache服务器使本次更改生效。
需要注意的是,PHP的CURL扩展开启后还不能直接使用,需要在Apache配置文件“httpd.conf”中进行配置,具体配置代码如下。
LoadFile "C:/web/php5.5/libssh2.dll"
上述配置表示Apache将加载PHP目录中的“libssh2.dll”文件。该文件是CURL扩展的依赖库文件。
(3)通过phpinfo查询扩展是否正确开启,开启时可以查询到这些扩展的信息,如图1-40所示。
图1-40 查看扩展是否开启
(4)在浏览器中访问“http://www.admin.com/phpmyadmin”,即可看到phpMyAdmin的登录页面,如图1-41所示。
图1-41 登录phpMyAdmin
(5)在图1-41所示的界面中,输入MySQL服务器的用户名“root”和密码“123456”进行登录,登录后即可对MySQL数据库进行操作,如图1-42所示。
图1-42 使用phpMyAdmin
phpMyAdmin有中文语言的界面,在phpMyAdmin中管理数据库非常简单和方便,可以进行SQL语句调试、数据导入导出等操作,读者只需简单了解即可。
3. 部署WeCenter社区
WeCenter是一款知识型的社交化开源社区程序,国内知名的知识型社区网站有知乎、果壳等。通过WeCenter,用户也可以自己搭建一个知识型社区网站。WeCenter基于PHP+MySQL技术开发,遵循MVC设计模式,是国内成熟的开源建站软件之一。接下来,讲解WeCenter的安装步骤。
(1)获取WeCenter
目前WeCenter的最新版本为3.1.4,其官方网站(http://www.wecenter.com)提供了软件的下载,如图1-43所示。
图1-43 获取WeCenter
(2)部署到站点中
打开从WeCenter官方网站下载的“WeCenter_3-1-4.zip”压缩包文件,将其中的“UPLOAD”目录中的所有文件解压到虚拟主机“http://ask.bxg.com”站点目录下,如图1-44所示。
图1-44 解压文件
(3)安装WeCenter社区
将WeCenter程序代码部署到站点目录中后,通过浏览器访问站点,会显示WeCenter的服务器环境检查,通过检查后才可以继续安装,如图1-45所示。
图1-45 服务器环境检查
在上一节部署phpMyAdmin时,已经开启了运行成熟项目所必需的扩展,因此可以通过这里的检查。单击【下一步】按钮继续安装,会提示填写系统配置信息,如图1-46所示。
图1-46 填写系统配置信息
从图1-46中可以看出,在安装WeCenter时,需要配置数据库主机、账号、密码等信息。根据环境部署时的配置,“数据库主机”填写“localhost”,“数据库账号”添加“root”,“数据库密码”填写“123456”。然后专门为WeCenter创建一个数据库,并填写数据库名称,如“itcast_ask”。正确填写安装配置后,单击【开始安装】按钮即可。
(4)添加管理员
在执行安装后,WeCenter会提示添加管理员。管理员是访问网站后台的最高权限的用户,根据提示输入用户名、密码和E-mail即可,如图1-47所示。
图1-47 添加管理员
(5)访问社区前台
完成管理员添加后,WeCenter已经安装完成,此时可以访问“http://ask.bxg.com”查看社区的前台,在前台可以进行发表话题、编辑个人资料等操作,如图1-48所示。
图1-48 WeCenter社区前台
(6)访问社区后台
社区后台是为管理员提供的一套管理系统,通过后台可以深度定制WeCenter社区的功能,进行用户管理、内容管理等操作。当管理员在前台登录时,将鼠标指针滑到右上角的用户头像上,会显示下拉菜单,单击下拉菜单中的【管理】可以进入后台。WeCenter的后台效果如图1-49所示。
图1-49 WeCenter社区后台
至此,WeCenter社区已经部署完成。当需要该网站可在局域网内的其他计算机中访问时,只需更改其他计算机的hosts文件,添加一条域名解析记录即可,如“192.168.1.100ask.bxg.com”。另外,Windows防火墙可能会阻止Apache服务器访问网络,如果局域网内的其他计算机不能访问,应检查Windows防火墙的配置,允许Apache访问网络。