Apache部署网站,基于IP地址,域名,端口三种方式实现虚拟网站主机功能,Apache的访问控制

news/2024/5/13 4:07:57/文章来源:https://blog.csdn.net/SYH885/article/details/109491502

网站服务程序

我们平时访问的网站服务就是Web网络服务,一般是指允许用户通过浏览器访问到互联网中各种资源的服务。如图所示,Web网络服务是一种被动访问的服务程序,即只有接收到互联网中其他主机发出的请求后才会响应,最终用于提供服务程序的Web服务器会通过HTTP(超文本传输协议)或HTTPS(安全超文本传输协议)把请求的内容传送给用户。
在这里插入图片描述
目前能够提供Web网络服务的程序有IIS、Nginx和Apache等。其中,IIS(Internet Information Services,互联网信息服务)是Windows系统中默认的Web服务程序,这是一款图形化的网站管理工具,不仅可以提供Web网站服务,还可以提供FTP、NMTP、SMTP等服务。但是,IIS只能在Windows系统中使用。

部署Apache程序:

yum install httpd         #安装Apache服务程序(Apache服务的软件包名为httpd)
systemctl start httpd     #启用httpd服务
systemctl enable httpd    #加入开机启动项

用浏览器访问:127.0.0.1(本机)可以看到httpd服务程序的默认页面,当看到这个页面时,说明服务程序正常启动,但可能还会有另外两种情况

1.权限不足
2.网站内没有数据
在这里插入图片描述
配置服务文件参数

在Linux系统中配置服务,其实就是修改服务的配置文件,因此,还需要知道这些配置文件的所在位置以及用途,httpd服务程序的主要配置文件及存放位置如表所示。

服务目录 	     /etc/httpd
主配置文件 	     /etc/httpd/conf/httpd.conf
网站数据目录 	 /var/www/html
访问日志 	     /var/log/httpd/access_log
错误日志     	 /var/log/httpd/error_log

打开httpd服务程序的主配置文件,可能会吓一跳—竟然有353行!但是,因为在这个配置文件中,所有以井号(#)开始的行都是注释行,其目的是对httpd服务程序的功能或某一行参数进行介绍,不需要逐行研究这些内容。

在httpd服务程序的主配置文件中,存在三种类型的信息:注释行信息、全局配置、区域配置,如图所示。

httpd服务程序的主配置文件的构成
在这里插入图片描述
全局配置参数与区域配置参数的区别:

全局配置:一种全局性的配置参数,可作用于对所有的子站点,既保证了子站点的正常访问,也有效减少了频繁写入重复参数的工作量。
区域配置:单独针对于每个独立的子站点进行设置。

在httpd服务程序主配置文件中,最为常用的参数如图所示。
在这里插入图片描述
从上图中可知,DocumentRoot参数用于定义网站数据的保存路径,其参数的默认值是把网站数据存放到/var/www/html目录中;而当前网站普遍的首页面名称是index.html,因此可以向/var/www/html目录中写入一个文件,替换掉httpd服务程序的默认首页面,该操作会立即生效。

实例:修改保存网站数据的目录。

#1.建立新的网站数据保存目录,并创建首页文件。
mkdir /home/wwwroot
echo "hello" > /home/wwwroot/index.html
#2.修改httpd服务程序主配置文件,把网站数据保存路径修改为/home/wwwroot
vim /etc/httpd/conf/httpd.conf
...
119 DocumentRoot "/home/wwwroot"    #用于定义网站数据保存路径的参数DocumentRoot修改为/home/wwwroot
...
124 <Directory "home/wwwroot">      #用于定义目录权限的参数Directory后面的路径也修改为/home/wwwroot
...
128 </Directory>
...
#3.重启httpd服务验证效果,此时会发现因为权限不足导致出现的是httpd默认首页(SElinux的安全上下文).
systemctl restart httpd
#4.暂时禁用SElinux,发现可以看到正常的网页内容了。
setenforce 0

SELinux安全子系统

SELinux(Security-Enhanced Linux)是美国国家安全局在Linux开源社区的帮助下开发的一个强制访问控制(MAC,Mandatory Access Control)的安全子系统。RHEL 7系统使用SELinux技术的目的是为了让各个服务进程都受到约束,使其仅获取到本应获取的资源。

“SELinux域”和“SELinux安全上下文”称为是Linux系统中的双保险,系统内的服务程序只能规规矩矩地拿到自己所应该获取的资源,这样即便黑客入侵了系统,也无法利用系统内的服[root@linuxprobe ~]# getenforce
Enforcing
务程序进行越权操作。但是,非常可惜的是,SELinux服务比较复杂,配置难度也很大,加之很多运维人员对这项技术理解不深,从而导致很多服务器在部署好Linux系统后直接将SELinux禁用了;这绝对不是明智的选择。

SELinux服务有三种配置模式,具体如下。

enforcing:强制启用安全策略模式,将拦截服务的不合法请求。
permissive:遇到服务越权访问时,只发出警告而不强制拦截。
disabled:对于越权的行为不警告也不拦截。

虽然在禁用SELinux服务后确实能够减少报错几率,但这在生产环境中相当不推荐。

SELinux服务的主配置文件中,定义的是SELinux的默认运行状态,可以将其理解为系统重启后的状态,因此它不会在更改后立即生效。可以使用getenforce命令获得当前SELinux服务的运行模式:

[root@linuxprobe ~]# getenforce 
Enforcing

getenforce:查看当前SELinxu服务的运行模式

setenforce [0|1]:修改SELinux当前的运行模式(0禁用,1启用)。此修改是临时的,在系统重启后就会失效。

分析上面实例被SELinux拦截的原因:

httpd服务程序的功能是允许用户访问网站内容,因此SELinux会默认放行用户对网站的请求操作。但是,/home目录是用来存放普通用户的家目录数据的,而将网站数据的默认保存目录修改为了/home/wwwroot,导致httpd提供的网站服务要去获取普通用户家目录中的数据,这显然违反SELinux的监管原则。

semanage命令:用于管理SELinux的策略,格式:semanage [选项] [文件]。

semanage命令不仅能够像传统chcon命令那样—设置文件、目录的策略,还可以管理网络端口、消息接口。常用参数:

-l:用于查询;
-a:用于添加;
-m:用于修改;
-d:用于删除;
-t:指定要想修改的值。

semanage命令没有递归功能,因此要先修改目录的安全上下文,再修改目录里所有文件的安全上下文。另外semanage命令修改好的配置不会立即生效。

restorecon命令:将设置好的SELinux安全上下文立即生效。格式: restorecon [选项] [指定目录或文件]。

常用参数:

-R:对指定目录进行递归操作
-v:显示SELinux安全上下文的修改过程

实例:解决上面实例被SELinux拦截的问题。

#1.把SELinux服务恢复到强制启用安全策略模式
setenforce 1
#2.分别查看原始网站数据的保存目录与当前网站数据的保存目录的SELinux安全上下文值
ls -Zd /var/www/html    #SElinux安全上下文为httpd_sys_content_t
ls -Zd /home/wwwroot    #SELinux安全上下文为home_root_t
#3.把当前网站数据保存目录的安全上下文设置成和原始网站数据保存目录的安全上下文一样
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot      #修改目录的安全上下文
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/*    #修改目录里的所有文件的安全上下文
#4.使设置好的SELinux安全上下文立即生效
restorecon -Rv /home/wwwroot/

个人用户主页功能

如果想在系统中为每位用户建立一个独立的网站,通常的方法是基于虚拟网站主机功能来部署多个网站。但这个工作会让管理员苦不堪言(尤其是用户数量很庞大时),而且在用户自行管理网站时,还会碰到各种权限限制,需要为此做很多额外的工作。其实,httpd服务程序提供的个人用户主页功能完全可以胜任这个工作。该功能可以让系统内所有的用户在自己的家目录中管理个人的网站,而且访问起来也非常容易。

getsebool命令:搭配-a参数输出所有安全策略(off禁止,on允许)
setsebool命令:修改SELinux策略中各条规则的布尔值。搭配-P参数使得修改后的SELinux策略规则立即且永久生效。
实例:实现个人用户主页功能

#1.修改配置文件/etc/httpd/conf.d/userdir.conf ,让httpd服务程序开启个人用户主页功能。
vim /etc/httpd/conf.d/userdir.conf 
...
17 UserDir public_html                  #UserDir参数表示网站数据在用户家目录中的保存目录名称,即public_html目录
...
31 <Directory "/home/*/public_html">    #注意要和17行的目录名一致
...
35 </Directory>
#2.在用户家目录中建立用于保存网站数据的目录及首页文件。把自己家目录的权限修改为755,以保证其他人也有权限读取里面的内容。退出该用户。
su - linuxprobe
mkdir public_html                       #注意要和配置文件中的目录名一致
echo "linuxprobe's website" > public_html/index.html
chmod -Rf 755 ~                         #“~”代表就是当前用户的家目录,相当于/home/linuxprobe
exit
#3.重启httpd服务。在浏览器输入网址验证(格式:网址/~用户名),会报错。原因依然在于SELinux。
systemctl restart httpd
#4.查询并过滤出所有与http协议相关的安全策略。留意httpd_enable_homedirs是否为on状态,若不是,修改为on状态并立即且永久生效。
getsebool -a | grep http
setsebool -P httpd_enable_homedirs=on

实例:在上面实例的基础上,为网站中添加口令功能,让只有通过身份验证的用户访客才能看到网站内容。

htpasswd命令:建立和更新存储用户名、密码的文本文件, 用于对HTTP用户的basic认证。htpasswd 是开源 http 服务器apache httpd的一个命令工具。其中,用于验证的用户名称不必是系统已有的本地账户,该命令生成的账户密码和系统中的账户密码是独立的,没有联系。

-c参数:创建密码文件.如果密码文件已经存在,那么它会重新写入并删去原有内容。
#1.生成密码数据库
htpasswd -c /etc/httpd/passwd liwh    #生成密码文件,添加一个名为liwh的用户
htpasswd /etc/httpd/passwd liangjm    #往密码文件追加一个用户liangjm
#2.修改个人用户主页功能的配置文件
vim /etc/httpd/conf.d/userdir.conf
...
31 <Directory "/home/*/public_html">
32 AllowOverride all                   #允许伪静态技术
33 authuserfile "/etc/httpd/passwd"    #指定生成的密码文件的存放路径
34 authname "Hello"                    #当用户尝试访问个人用户网站时的提示信息
35 authtype basic                      #采用基本验证方式
36 require user mumu                   #指定用户进行账户密码认证时支持验证的用户(可以支持多个用户验证,比如:mumu,haha)
37 </Directory>
#3.重启httpd服务,刷新页面,会弹出窗口要求输入账户密码。其中liwh的帐号密码是没用的,只能用liangjm账号密码验证
systemctl restart httpd

SElinux的防火墙:配置文件vim /etc/selinux/config
前提配置单网卡

[zhuxing@lizhiqiang wwwroot]$ cd ~
[zhuxing@lizhiqiang ~]$ mkdir -p public_html
[zhuxing@lizhiqiang ~]$ cd public_html/
[zhuxing@lizhiqiang public_html]$ echo "张怡蓉5211baby" > index.html
[zhuxing@lizhiqiang public_html]$ cd ~
[zhuxing@lizhiqiang ~]$ chmod -Rf 755 public_html/
[zhuxing@lizhiqiang ~]$ ls -ald public_html/
drwxr-xr-x. 2 zhuxing zhuxing 23 Nov  2 06:58 public_html/
[zhuxing@lizhiqiang ~]$ cd
[zhuxing@lizhiqiang ~]$ su
Password: 
[root@lizhiqiang zhuxing]# systemctl restart httpd
[root@lizhiqiang zhuxing]# getsebool -a | grep httpd_en
httpd_enable_cgi --> on
httpd_enable_ftp_server --> off
httpd_enable_homedirs --> off
[root@lizhiqiang zhuxing]# setsebool -P httpd_enable_homedirs=on
[root@lizhiqiang zhuxing]# getsebool -a | grep httpd_en
httpd_enable_cgi --> on
httpd_enable_ftp_server --> off
httpd_enable_homedirs --> on
[root@lizhiqiang zhuxing]# setenforce 1
[root@lizhiqiang zhuxing]# htpasswd -c /etc/httpd/passwd zhuxing
New password: 
Re-type new password: 
Adding password for user zhuxing
systemctl restart httpd

在这里插入图片描述

虚拟网站主机功能

利用虚拟主机功能,可以把一台处于运行状态的物理服务器分割成多个“虚拟的服务器”。但是,该技术无法实现目前云主机技术的硬件资源隔离,让这些虚拟的服务器共同使用物理服务器的硬件资源,供应商只能限制硬盘的使用空间大小。出于各种考虑的因素(主要是价格低廉),目前依然有很多企业或个人站长在使用虚拟主机的形式来部署网站。

Apache的虚拟主机功能是服务器基于用户请求的不同IP地址、主机域名或端口号,实现提供多个网站同时为外部提供访问服务的技术,如图所示,用户请求的资源不同,最终获取到的网页内容也各不相同。
在这里插入图片描述
在配置虚拟网站主机功能前,做些基本设置:分别在/home/wwwroot中创建用于保存不同网站数据的3个目录,并向其中分别写入网站的首页文件。每个首页文件中要有明确区分不同网站内容的信息,以便能更直观地检查效果。由前面实例可知,目录/home/wwwroot及其下级目录和文件一定会受到SELinux安全上下文的制约,要修改相关内目录及其里面所有文件的SELinux安全上下文,并让设置立即生效。

mkdir -p /home/wwwroot/A
mkdir -p /home/wwwroot/B
mkdir -p /home/wwwroot/C
echo "This is A" > /home/wwwroot/A/index.html
echo "This is B" > /home/wwwroot/B/index.html
echo "This is C" > /home/wwwroot/C/index.html
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/A
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/B
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/C
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/A/*
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/B/*
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/C/*
restorecon -Rv /home/wwwroot

1.为网卡配置3个ip地址(方法很多)


vim /etc/sysconfig/network-scripts/ifcfg-eno16777728
...
IPADDR0=192.168.11.14
IPADDR1=192.168.11.15
IPADDR2=192.168.11.16
PREFIX=24
#2.编辑httpd服务的主配置文件,追加写入3个基于IP地址的虚拟主机网站参数
vim /etc/httpd/conf/httpd.conf
...
113<virtualhost 192.168.11.14>
documentroot /home/wwwroot/10
servername www.zhuxing.com
<directory /home/wwwroot/10>
allowoverride none
require all granted
</directory>
</virtualhost>
<VirtualHost 192.168.11.15>
DocumentRoot /home/wwwroot/A
ServerName www.a.com
<Directory /home/wwwroot/A >
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.11.16>
DocumentRoot /home/wwwroot/C
ServerName www.c.com
<Directory /home/wwwroot/C >
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
#3.重启httpd服务,在浏览器分别输入相应的ip地址进行验证。
systemctl restart httpd

测试结果:在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.在1的基础之上,基于主机域名实现虚拟网站主机功能。

[root@lizhiqiang ~]# mkdir -p /home/wwwroot/A
[root@lizhiqiang wwwroot]# mkdir -p /home/wwwroot/B
[root@lizhiqiang wwwroot]# mkdir -p /home/wwwroot/C
[root@lizhiqiang wwwroot]# echo "This is A" > /home/wwwroot/A/index.html
[root@lizhiqiang wwwroot]# echo "This is BB" > /home/wwwroot/B/index.html
[root@lizhiqiang wwwroot]# echo "This is CCCCC" > /home/wwwroot/C/index.html
[root@lizhiqiang B]# ls -Zd /home/wwwroot/B
drwxr-xr-x. root root unconfined_u:object_r:httpd_sys_content_t:s0 /home/wwwroot/B
[root@lizhiqiang B]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot
[root@lizhiqiang B]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/A
[root@lizhiqiang B]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/B
[root@lizhiqiang B]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/C
[root@lizhiqiang B]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/A/*
[root@lizhiqiang B]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/C/*
[root@lizhiqiang B]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/B/*
[root@lizhiqiang B]# restorecon -Rv /home/wwwroot/vim /etc/httpd/conf/httpd.conf
113 <virtualhost 192.168.11.14>
documentroot /home/wwwroot/B
servername www.b.com
<directory /home/wwwroot/B>
allowoverride none
require all granted
</directory>
</virtualhost>
<VirtualHost 192.168.11.14>
DocumentRoot /home/wwwroot/A
ServerName www.a.com
<Directory /home/wwwroot/A >
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.11.14>
DocumentRoot /home/wwwroot/C
ServerName www.cc.com
<Directory /home/wwwroot/C>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
#1.编辑IP地址与域名之间对应关系的配置文件,保存退出后会立即生效
2 vim /etc/hosts
3 ...
4 192.168.11.14 www.a.com www.b.com www.cc.com

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.在1的基础上,基于端口号实现虚拟网站主机功能。

#1.修改httpd服务的主配置文件,添加几个用于监听端口的参数;修改虚拟主机网站参数为基于端口号的形式。
vim /etc/httpd/conf/httpd.conf
...
42 Listen 80
Listen 654
Listen 154
Listen 998113<virtualhost 192.168.11.14:154>
documentroot /home/wwwroot/B
servername www.b.com
<directory /home/wwwroot/B>
allowoverride none
require all granted
</directory>
</virtualhost>
<VirtualHost 192.168.11.14:654>
DocumentRoot /home/wwwroot/A
ServerName www.a.com
<Directory /home/wwwroot/A>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.11.14:998>
DocumentRoot /home/wwwroot/C
ServerName www.c.com
<Directory /home/wwwroot/C>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
[root@lizhiqiang ~]# semanage port -a -t http_port_t -p tcp [100-999]
[root@lizhiqiang ~]# vim /etc/httpd/conf/httpd.conf 
[root@lizhiqiang ~]# semanage port -l | grep http
http_cache_port_t              tcp      8080, 8118, 8123, 10001-10010
http_cache_port_t              udp      3130
http_port_t                    tcp      1020, 100-999, 80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t            tcp      5988
pegasus_https_port_t           tcp      5989
[root@lizhiqiang ~]# systemctl restart httpd#3.重启httpd服务
systemctl restart httpd

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Apache的访问控制

Apache可以基于源主机名、源IP地址或源主机上的浏览器特征等信息对网站上的资源进行访问控制。它通过Allow指令允许某个主机访问服务器上的网站资源,通过Deny指令实现禁止访问。在允许或禁止访问网站资源时,还会用到Order指令,这个指令用来定义Allow或Deny指令起作用的顺序,其匹配原则是按照顺序进行匹配,若匹配成功则执行后面的默认指令。比如“Order Allow, Deny”表示先将源主机与允许规则进行匹配,若匹配成功则允许访问请求,反之则拒绝访问请求。

设置Apache访问控制,使得只有ip地址为192.168.10.1或使用火狐浏览器的客户端才能访问指定的网页。

#1.在默认网站数据目录新建一个子目录,并在该子目录创建一个首页文件。
mkdir /var/www/html/server
echo "NB" > /var/www/html/server/index.html
#2.修改httpd服务的主配置文件,编辑规则限制源主机的访问。
vim /etc/httpd/conf/httpd.conf
...
129 <Directory "/var/www/html/server">    #针对该子目录的权限设置
130 SetEnvIf User-Agent "Firefox" ff=1    #设置环境变量,相当于ff="用户通过Firefox访问" 
131 Order allow,deny                      #先匹配允许规则再匹配拒绝规则
132 Deny from 192.168.10.55               #拒绝ip地址为192.168.10.55的主机访问
133 Allow from env=ff                     #允许使用火狐浏览器的人访问
134 Allow from 192.168.10.1               #允许ip地址192.168.10.1的主机访问
135 </Directory>
...
#3.重启httpd服务
systemctl restart httpd

在这里插入图片描述

[root@lizhiqiang ~]# vim /home/wwwroot/
[root@lizhiqiang ~]# cd /home/wwwroot/
[root@lizhiqiang wwwroot]# ls
A  B  C  index.html
[root@lizhiqiang wwwroot]# cd A
[root@lizhiqiang A]# ls
index.html
[root@lizhiqiang A]# mkdir baozi
[root@lizhiqiang A]# cd baozi/
[root@lizhiqiang baozi]# echo "包子爱你" > index.html
[root@lizhiqiang baozi]# ls
index.html

在这里插入图片描述

测试结果:

ip地址为192.168.10.1的主机使用非火狐浏览器也能访问;
ip地址为192.168.10.55的主机即使使用火狐浏览器也不能访问;
ip地址不是192.168.10.1的主机使用火狐浏览器可以访问。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_898137.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

综合架构网站备份服务上

文章目录 01.知识概述部分02.知识回顾说明03.备份服务概述介绍scp命令用法&#xff1a;https://man.linuxde.net/scp备份作用说明&#xff1a; 04.备份服务原理概念:1&#xff09;增量备份数据原理 05.备份服务搭建过程rsync命令&#xff1a;https://man.linuxde.net/rsync 服务…

综合架构网站存储服务上(NFS)

文章目录 01.知识概述部分02.知识回顾说明03.存储服务概述介绍存储服务器存在意义&#xff1a; 04.存储服务存储原理1&#xff09;存储数据原理 05.存储服务部署过程服务端部署过程&#xff1a;第一个里程&#xff1a;安装软件程序第二个里程&#xff1a;编辑配置文件第三个里程…

综合架构网站搭建初步介绍

文章目录 01.知识概述部分02.知识回顾说明ARP解析原理 &#xff08;动态ARP 静态ARP&#xff09; 03.综合架构组成说明综合架构组成服务介绍01&#xff09;防火墙服务器 iptables /扩展 firewalld02&#xff09;负载均衡服务器 nginx /扩展 lvs haproxy03&#xff09;网站web服…

综合架构网站存储服务下(NFS)

文章目录 01.课程知识概述部分02.知识回顾说明03.存储服务配置参数04.存储服务常用命令rpcinfo ----查看nfs服务注册信息服务端使用&#xff1a;rpcinfo -p localhost 查看本地客户端使用服务端使用 05.存储服务客户端操作a 客户端挂载操作永久挂载操作&#xff1a;方法一&…

综合架构网站实时同步

文章目录 01.知识概述部分02.知识回顾说明03.实时同步服务监控软件部署&#xff1a;存储服务器部署第一个里程&#xff1a;安装监控数据变化的软件第二个里程&#xff1a;监控命令使用 事件信息&#xff1a;inotify软件采用触发机制进行监控可监听的事件实现永久监控目录中数据…

web网站部署与优化--部署LAMP平台(手工编译安装优化apache、mysql、php脚本,在LAMP平台安装论坛服务)

文章目录 一、 手工编译安装apache服务二、手工编译安装MYSQL三、 手工编译安装php四、 在LAMP架构上安装一个论坛服务 一、 手工编译安装apache服务 首先将实现下载好的软件包拷贝到/opt目录下 [rootlocalhost ~]# cd /opt/ [rootlocalhost opt]# mkdir httpd [rootlocalhos…

web网站部署与优化--虚拟主机的构建实操(基于域名的构建、基于端口的构建、基于IP地址的构建)

文章目录 一、 虚拟主机概述二、 基于域名的虚拟主机2.1 构建虚拟主机步骤2.2 构建过程2.2.1 配置DNS服务器2.2.2 虚拟主机配置文件 三、 基于端口的虚拟主机四、 基于IP地址的虚拟主机 一、 虚拟主机概述 虚拟 Web 主机指的是在同一台服务器中运行多个 Web 站点&#xff0c;其…

web网站部署与优化--LNMP架构(手工编译安装优化nginx、mysql、php脚本,在LNMP平台安装论坛服务)

文章目录 一、 手工编译安装Nginx1.1 编译过程1.2 添加nginx系统服务 二、 手工编译安装mysql 5.7版本cmake过程中报错解决办法编译安装过程 三、手工编译安装phpphp配置文件让nginx支持php功能测试数据库是否正常工作 四、 在LNMP架构上搭建一个论坛服务 一、 手工编译安装Ngi…

Nginx网站服务( Nginx统计模块、Nginx访问控制、Nginx部署虚拟主机 )

文章目录 一、 统计模块验证二、 nginx虚拟主机的创建2.1 基于不同域名2.2 基于不同端口2.3 基于不同IP 三、 Nginx 访问控制3.1 基于授权的访问控制1.生成密码文件2.修改主配置文件对相应目录添加认证配置项 一、 统计模块验证 [rootlocalhost ~]# cd /opt 将软件包拷贝到当前…

网站架构部署与优化--NginxRewrite(Rewrite概述、Nginx 的正则表达式 、Rewrite 的语法 、 Rewrite应用实操)

文章目录 一、 NginxRewrite 概述1.1 Rewrite 跳转场景1.2 Rewrite 跳转实现1.3 Rewrite 实际应用场景 二、 Nginx 的正则表达式三、 Rewrite 语法3.1 flag 标记说明&#xff1a;3.2 Location 分类3.3 Location 优先级相同类型的表达式&#xff0c;字符串长的会优先匹配rewrite…

RHCE ---给openlab搭建web网站

首先先把防火墙关闭并且下载好ssl [rootlocalhost li]# systemctl stop firewalld[rootlocalhost li]# setenforce 0[rootlocalhost li]# yum install mod_ssl 1.基于域名www.openlab.com可以访问网站内容为welcome to openlab 先制作服务器证书 req -newkey rsa:4096 -node…

大型网站架构演进历程

大型网站架构演进历程 Web1.0 静态网站Web2.0应用服务和数据分离使用缓存改善网站性能使用应用服务器集群改善网站的并发处理能力数据库读写分离使用搜索引擎业务拆分分布式服务 Web1.0 静态网站 大型网站都是从小型网站发展起来的 网站架构也是一样 网站刚开始搭建处于雏形阶段…

18个优秀的在线图片编辑服务网站

18个优秀的在线图片编辑服务网站 作者:Jason Ng 说起编辑图片&#xff0c;可能大多数人都会马上想起强大的Photoshop。事实上&#xff0c;除了购买或下载盗版的PS之外&#xff0c;你还可以使用很多优秀在线图片编辑服务&#xff0c;这些网站大多数都是免费的。对于大部分的…

网站被微信浏览器拦截怎么办 微信屏蔽网址打开如何解决

先来认识一下微信屏蔽的原理。按原理逐个攻破&#xff0c;整理如下&#xff1a;微信屏蔽的原理 一、微信系统的两个检测手段&#xff1a;第一是系统的自动检测&#xff1b;第二是微信工作人员的人工检测。 二、 人工的检测很好理解&#xff0c;有用户投诉举报&#xff0c;在多…

安全参透之旅第2章 FOCA网站元数据侦查工具

什么是元数据&#xff1f;就是有关数据的数据。它是有关特定数据集、对象或资源的描述性信息&#xff0c;包括所采用的格式及其创建时间和创建者。 对于参透测试人员&#xff0c;元数据可能很有用&#xff0c;因为它含有跟创建文件的系统有关的信息&#xff0c;比如&#xff1…

kali攻防第6章 SQLMAP介绍及ASP网站渗透

SQLMAP介绍及ASP网站渗透 准备工具 1、kali_linux系统 IP 10.10.10.131 3、Sqlpmap 入注工具 步骤&#xff1a; 1、 -u “检测是否存在注入” 返回数据库的名字 2、 3、 4、 参数解释&#xff1a; 1、user 根据经验 确定这是用户表 2、--columns 猜列表名 根…

kali攻防第7章 SQLMAP介绍之PHP网站渗透

SQLMAP介绍之PHP网站渗透 准备工具 1、KALI攻击系统IP :10.10.10.131 2、受害网站&#xff1a; 3、Sqlmap 入注工具 步骤&#xff1a; 1、检测&#xff1a;Sqlmap -u “” 2、sqlmap -u "" --is-dba 3、sqlmap -u “” --dbs 4、sqlmap -u “” --current-db …

python爬取动态网站实例——以爬取豆瓣电影分类排行榜为例

最近在编写 python 爬虫的时候&#xff0c;发现有时候爬取的网页和实际看到的效果不一致&#xff0c;经过各种搜索之后发现这时因为网页在加载的时候动态加载的结果&#xff0c;所以&#xff0c;为了可以获得相应的结果&#xff0c;需要模拟相应的请求。本文以 豆瓣电影排行榜 …

python爬取有声小说网站实现自动下载实例

最近想下载一些有声小说&#xff0c;但是苦于没有找到批量下载&#xff0c;每次都是单集单集的下载的&#xff0c;觉得很麻烦&#xff0c;就考虑用python写一个爬虫来实现自动搜集小说&#xff0c;自动下载。下面就是开始展开漫漫的爬虫之路。 基础的就不多说了&#xff0c;重…