18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > “SCSA-S学习导图+”系列:Windows下的WEB系统环境搭建

“SCSA-S学习导图+”系列:Windows下的WEB系统环境搭建

时间:2023-04-30 13:21:01 | 来源:网站运营

时间:2023-04-30 13:21:01 来源:网站运营

“SCSA-S学习导图+”系列:Windows下的WEB系统环境搭建:本期学习重点:网络安全基础

Windows操作系统


学习导图
证书样本
自推出深信服技术认证A级不同方向(SCSA-S、SCSA-T、SCCA-C)的学习导图,反响热烈,让很多同学心里“有谱”,对于体系化学习网络安全知识、更快入门更有信心。

为帮助大家更高效地学习,尽快通过深信服技术认证考试,更好地掌握网络安全入门知识、技能,与实际工作实践相结合,满足岗位需求,深信服教学教研中心的老师推出“SCSA-S学习导图+”系列文章,为大家详细讲解,并在文末附有练习题,让大家边学边练哦!

本期引言:对于初学网络安全的小伙伴,一直觉得Linux下的LAMP(Linux+Apache+Mysql+PhP)使用起来不太方便,不能很好地适应命令行界面,也不能忍受Linux图形界面的设计。所以今天我们就来搭建一套基于Windows的Apache+Mysql+PhP环境。

很多朋友看到这里,会推荐使用一些集成度较高的学习环境,比如Apache官方网站上会推荐的Wamp或XAMPP。但是从网络安全的学习角度,这样并不利于理解软件之间协同工作原理与软件的配置,不利于后续网络安全的相关学习,下面我们一起开始吧~

01

软件下载

建议严格从使用官方网站下载。这对网安初学者而言,是有些困难的。因为开源软件的官网基本上都没有中文界面,同时想找到下载链接也还有些困难, 再者需要针对一些兼容性并不太好的软件,需要选择合适的版本,也会有一些挑战。

1. 1 下载Apache

通过搜索引擎,搜索“Apache官网” ,可以非常容易找到官网。进去之后可以找到Windows下载页面。

但是,进去后发现Apache官网并没有提供编译好的Windows安装包,只有一些推荐网站。

这里,我们选择ApacheHaus进行下载。下载时注意下载的位数与编译环境。

下载软件通常分为32位和64位两个版本,如果是64位系统可以运行32位软件,32位系统“不能”运行64位软件,注意有些软件还提供arm版本,即可以在如手机等arm平台运行(这类我们暂时用不到)。

一般标识x86的为32位软件,标识为x64或amd64的为64位版本,再有其他信息就是一些编译环境,编译环境决定了你本机需要安装的基础库文件。比如在Windows下常见的就.net framework 和 vc ++ 。没有.net和vc++,Windows下很多软件都是无法使用的。比如下图中:

这样看来,在Linux中使用yum 安装软件是不是非常方便呢?我们今天的服务器从Windows server 2003以后,基本上全是64位系统,所以我们通常下载64位软件。

1.2 下载PHP

同样使用搜索引擎搜索“PHP官网” ,从搜索的域名来判断,最像官网的就是了,比如这里是http://www.php.net

选择PHP版本,这一步非常重要,因为PHP的不同版本之间,兼容性并不太好。这里,因为我最后需要安装的应用比较老旧,所以我希望下载一个PHP 5.X 的版本。那么怎么找到这样的版本呢?

点击下载页面,我们可以在页面上搜索“archive” ,通常表示旧版本的备份。

进去后发现有很多的旧版本,这里注意,因为我们apache选择了64位,所以PHP必须配套选择64位,否则apache在调用php时会出现异常。然后这里有nts的版本,我们也不太明白可以去通过搜索引擎去搜索,发现是环境下的安全问题,大家再根据搜索引擎自行判断就好。

1.3 下载MySQL

同样方法找到MySQL官网,现在的MySQL因为被oracle收购,所以会看到一些oracle的元素,不太影响。这里同样为了保障兼容性,不要选择太新的版本。同时我们初学者研究的版本不宜太新。

进入下载页面后,上面都是商业化版本(收费)的下载,在下面找到继续开源的MySQL版本。

我选了MySQL Install for Windows 安装版本,希望安装时能设置更多的系统配置,而避免出现问题。(后面发现,还是有坑)

这里我同样选择了一个比较旧的版本下载。

到此,我们从官网下载了我们需要的软件,可以发现软件下载本身也是一项需要时间与耐心的工作。这里大家可以配合浏览器的翻译功能,可能有一定帮助。

02软件安装

2.1 Apache安装

这里下载的Apache是即开即用式,解压后就可以直接使用。需要注意的一点是,将Apache注册为服务,方便管理Apache的启动与停止。在Apache目录下,使用命令“httpd-k install” 即可安装Apache服务。

2.2 PHP安装

PHP只需解压即可,使用完全不用安装,因为他是Apache的所使用的一个组件,重点是要配置PHP的配置文件。这点在3.2章节中会提到。

2.3 MySQL的安装

这里下载的是MySQL的msi版本,msi版本压缩程度较高,双击后需要解压缩,进程会出现无响应,这里多等一会即可。

同时msi版本里面功能较多,这里我们只用选择我们需要的功能即可。更多的功能需要更多的环境,比如MySQL对python的支持,这种功能我们暂时是用不到的,建议这里手动先补齐环境后再进行安装。不要尝试让MySQL安装程序自动去下载环境,这样可能会导致等待更久,且无法看到进度。这里我们安装了以下组件。

03软件配置

3.1配置Apache

Apache的配置主要通过配置文件httpd.conf进行,这点与Linux一致。配置文件的原理也类似。重点配置以下几点:

(1)配置apache所在目录:

(2)配置php的dll文件与ini文件的路径:

(3)配置网站的路径,这里设为apache目录下的cms文件夹:




(4)配置apache默认访问的页面,默认只有一个index.html因为我们加入了php所以这里要加一项index.php。




3.2 配置PHP

PHP的配置主要配置php的ini文件。

解压PHP,放到上述apache配置中一致的路径中,同时在PHP目录下找到一个php的配置文件,复制为php.ini。

配置php.ini重点是以下几点:

(1)关闭PHP的错误提示,因为我们是测试环境。不需要在前端显示错误。在某些PHP版本不太兼容的场景下,错误会影响页面的执行。比如我后面的测试demo中就遇到了,这里提前配置上。

(2)加PHP的一些常用模块,如mysql,gd2等。

其中mysql用来连接数据库;其中mysqli是更高版本的mysql库,相对更安全,我们现在无法确定PHP代码中会使用什么版本,可以先开启;其中gd2用来处理一些图片,比如登录时的验证码。

(3)指定PHP加载模块的路径。

我们需要告诉PHP,上面这些dll文件在哪里,通常是在PHP目录下ext中,配置下图:

(4)配置PHP的Session保存目录

PHP自带有会话管理功能,很多WEB系统会直接使用PHP的会话管理。这里需要配置PHP保存会话的路径。

3.3 配置Mysql数据库

配置数据库首先要找到数据库的配置文件。这里数据库安装并运行后,我们可以使用一个小技巧找到数据库的配置文件。

在Linux下,配置文件默认在/etc/my.ini中,或者我们可以通过查看进程的具体参数获取配置文件路径。

在Windows中因为没有默认的配置文件路径,比较好的方法是获取进程的运行参数,我们可以使用任务管理器 详细信息的命令行查看,如图:

这里实际上MySQL的配置文件位于:C:/ProgramData/MySQL/MySQL Server 5.6/my.ini

找到配置文件后,配置数据库的编码格式比较重要,因为不同编码可能会导致乱码,通常我们使用UTF8这种编码格式。这里确保不同的功能块中都使用utf8作为默认编码,如下图:

client和mysql 块中使用utf8。mysqld块中使用utf8,这点非常重要,mysqld就是指服务器。且这里的设置字段为character-set-server=utf8,和前面的有些区别。

接下来,我们连接数据库,查看数据库默认编码:




(1)创建用户如图创建了个名为sangfor的用户,允许sangfor在本地登录,密码为Sangfor!1234




(2)创建数据库创建名为cms_db的数据库




(3)将数据导入数据库从数据库备份的sql文件中还原数据库

(4) 数据库授权给用户将cms_db库下所有的表的所有权限授权给sangfor用户

04部署应用并测试

在配置好上述所有配置后,我们只需要在WEB应用中,配置对应的数据库连接账号密码,数据库就可以正常工作的了。通常PHP的WEB系统中,数据库会放在include的文件夹中。如图:

部署完成后,正常的访问页面如下:

05填坑历程

5.1 数据库乱码

表现如图:

原因:虽然我们设置了数据库的默认编码,为utf8,但是有些客户端连接时,客户端仍然会使用自己的编码格式。

如图,我们使用set names utf8;将当前的客户端连接编码改为utf8。

这个步骤,必须在导入数据库之前进行。

5.2 网站验证码没有显示

问题如图:

原因是因为最开始PHP的默认配置里面没有启用gd2的图形库,即php.ini配置文件中的。

5.3 打开网站各种错误

登录后台之后,表现如下

原因如下:

因为PHP版本兼容的问题,环境中使用的PHP版本较新,而代码中的PHP的版本老旧,导致PHP遇上错误后,停止了执行。这里要关闭错误的显示。如图配置php.ini即可。

06总结

通过此文,大家可以发现在Windows下安装apache、php、mysql等软件的过程与原理其实与在Linux下类似。因为这些软件设计之初就是为了Linux设计。在某些条件下,可能会发现Linux下的安装与配置会更加容易。比如Linux使用yum安装,Linux下的配置文件都在/etc目录下。其实,只要我们能理解Linux下的软件安装配置原理,在Windows下也是类似的过程。所以学好Linux对Windows而言,也是一件非常有必要且有帮助的事情。

练习题

如果对此章节内容有兴趣的同学,可以尝试去做一下本实验。

另外可以将文中apache换成nginx ,php与MySQL不变,进行环境的安装与配置,注意nginx对php的调用过程不一样哦!

对于本期讲解内容,以及你还期待的学习内容可在公众号后台回复,不仅有老师在线答疑,我们也会根据大家的提议调整每期学习内容哦~欢迎关注!

本期作者:黄浩
本期作者:黄浩

深信服教学教研中心副主任、深信服安全服务认证专家(SCSE-S)

CISSP认证注册信息系统安全师,中国计算机学会会员,暨南大学网络空间学院校外实践指导老师,杭州大学专业学位研究生校外导师,杭州信息职业技术学院产业学院副教授,湖南省数字经济促进会特聘讲师;对企业网络安全框架设计、业务逻辑安全与防御体系有深刻认识;擅长DDoS攻击防御、操作系统安全防护、密码学、企业安全架构、取证溯源、应急响应等多个方向的课程。

关键词:系统,环境,学习,系列

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭