(web)记录自己从零起步搭建网站遇到的问题以及思路(一)

0X01:起因

由于未经授权对网站进行渗透测试属于违法行为,因此想学习自己搭建一个带有后端数据库网站 也能让我从一个防守者的角度审视攻击行为

0X02:我的思考过程

由于自己对一个网站的建设还只停留在前端使用HTML+CSS+JS 后端使用数据库这种简单而且模糊的概念 ,在近期网络安全的学习过程中接触了许多名词如阿帕奇服务器、以及最近出现漏洞的Tomcat服务器、广告中的阿里云又是干嘛的,数据库到底部署在哪里,还有自己曾经购买过的vps 以及登录vps使用的xshell是干嘛的 、还有php语言实现的是什么功能等等。 这些问题困扰着我,而我对这些东西不能够串在一起。于是我想从了解一个网站的工作原理入手,了解上述名词的用途。

0X03:网站工作流程概述

在用户通过浏览器向服务器端发出请求时,服务器收到用户发来的请求,此时我们根据用户发出的请求进行分类

  • 用户访问的是一个html文件

当用户访问的是一个html文件时,他通过浏览器向我们的web服务器发出请求,我们的web服务器收到请求,在管理的目录下寻找用户请求的文件,之后返回

此处引入了一个新的名词Web服务器: 服务器分为两种:Web服务器应用服务器
web服务器只能够提供HTTP服务只能返回一些静态页面上文提到的Apache服务器就是Web服务器,而对于一些动态服务诸如jsp、php等是web服务器不能够提供的,因此需要应用服务器,但是应用服务器往往也能够提供HTTP服务,所以两者的界限,并没有那么清晰,但是应用服务器对于HTTP的服务也只是仅仅能提供而已,它并不会对其进行像web服务器那样的优化,因此我们常见的都是 应用服务器如Tomcat和 Web服务器如Apache组合使用。

  • 用户访问的是一个php文件
    和上面一样,用户首先向web服务器发出请求,而我们的web服务器一看,这个请求的是php服务,于是转发给了应用服务器,应用服务器对请求做出响应,之后将请求内容返回给web服务器,web服务器将请求内容翻译为html静态代码,并返回给用户
  • 用户访问服务器端的数据库
    用户首先向web服务器发出请求,同样的,web服务器不提供数据库处理功能,于是将请求转发给引用服务器,应用服务器来实现对数据库的增删改除

0X04:疑惑

1、目前我了解到的,就前端来说,用户浏览器和服务器进行通信使用HTTP协议来进行信息的传输,但是服务器和后端的数据库是如何连接的
2.上述提到PHP服务,还是不清楚它所起到的作用
3.数据库被放置在什么地方

0x05:一些小的尝试

目标:将一个最简单的静态页面放在互联网上,实现对他的访问
准备:一台虚拟主机 和一个域名

  • 照上面的理论来说,我只要能在VPS上安装一个Apache web服务器,并且放置一些html文件,我就可以实现对自己网页的访问

1.想在vps上搞个图形化界面

但是安装图形化界面后无法连接VPS,查资料得知xshell不支持图形化界面的访问,同时在服务器上使用图形化界面对资源造成浪费,并且自己使用的学生服务器,安装图形化界面后卡顿严重,如果真的不想使用命令行,使用宝塔。

2.宝塔管理系统

,安装宝塔后,不能对宝塔的管理界面进行正常访问,
(web)记录自己从零起步搭建网站遇到的问题以及思路(一)_第1张图片

返回状态码500,服务器端有问题,可能是下载的不对

看眼官网,要求对安全组进行配置
附上腾讯云的安全策略链接

https://www.bt.cn/bbs/thread-1229-1-1.html

之后成功登录

(web)记录自己从零起步搭建网站遇到的问题以及思路(一)_第2张图片

(web)记录自己从零起步搭建网站遇到的问题以及思路(一)_第3张图片
(web)记录自己从零起步搭建网站遇到的问题以及思路(一)_第4张图片

3.直接在命令行安装Apache服务器

重装系统后 在命令行安装了Apache服务器 (逐渐忘记学习方向)
之后通过ip地址访问,发现可以看到Apache界面
(web)记录自己从零起步搭建网站遇到的问题以及思路(一)_第5张图片

可是该怎么把文件放到服务器上呢------发现了Xftp 成功将文件放到了服务器中
使用vim 对/var/www/html/index 文件进行修改或直接写一个文件名为index.html文件放入前面那个目录下
参考:

https://www.cnblogs.com/amberhome-wei/p/11752943.html

(web)记录自己从零起步搭建网站遇到的问题以及思路(一)_第6张图片

0x06:结尾

了解web服务器的工作原理以及分类
对xshell和xftp有了进一步了解

现在完成了一小步,能够将页面放置在服务器上,并且能够进行访问。但是我们的目标是搭建一个带有后端数据库的页面
之后我打算先了解一下数据库和python django 再看下一步该如何进行

以上文章如有错误,希望指正,感激不尽

你可能感兴趣的:(建站,web,linux,apache,centos)