网站服务程序
Web网络服务(World Wide Web):让用户通过浏览器访问到互联网中文档等资源的服务;是被动程序,只有接受到互联网中其他计算机发出的请求后才会响应
Web服务程序对比
-
IIS - 提供Web网站服务,FTP,NMTP,SMTP等服务功能,只能在Windows中使用
-
nginx - 低系统资源,占用内存少,并发能力强
-
Apache - 开源,稳定,安全
-
Tomcat - 轻量级,一般用于开发和调试JSP,是Apache的扩展程序
选购服务器主机
1.网站由域名,网页源程序,主机空间组成
-
主机空间 - 用于存放网页源代码并能够将网页内容展示给用户
-
常用主机空间 - 虚拟主机,VPS,云服务器,独立服务器
-
虚拟主机 - 一台服务器中分出一定磁盘空间供用户放置网站,数据;适用于小型网站,不需要管理员维护
-
VPS - 个人觉得是在服务器里装双系统,模拟多个主机,每个主机有独立IP,操作系统,不同系统之间完全隔离,需要一定系统维护,时和小型网站
-
云服务器 - 云服务器建立在一组集群服务器中,每个服务器都保存一个主机的镜像,安全稳定,按量付费,适合大中小型网站
-
独立服务器 - 服务器仅供个人使用
租用方式:服务器硬件设备由及方负责维护,需要自行安装响应软件并部署网站
安装Apache服务程序
- yum install httpd
- systemctl start httpd - 启动Apache服务程序
- systemctl enable httpd - 设置为开机自启动
配置服务文件参数
-
httpd服务目录
服务目录 | /etc/httpd |
---|
配置文件 | /etc/httpd/conf/httpd.conf |
网站数据目录 | /var/www/html |
访问日志 | /var/log/httpd/access_log |
错误日志 | /var/log/httpd/error_log |
-
配置文件参数
参数 | 含义 |
---|
ServerRoot | 服务目录 |
ServerAdmin | 管理员邮箱 |
User | 运行服务的用户 |
Group | 运行服务的用户组 |
ServerName | 网站服务器的域名 |
DocumentRoot | 网站数据目录 |
Listen | 监听的IP地址与端口号 |
DirectoryIndex | 默认的索引页页面 |
ErrorLog | 错误日志文件 |
CustomLog | 访问日志文件 |
Timeout | 网页超时时间,默认为300秒 |
Include | 需要加载的其他文件 |
强制访问控制安全子系统
SELinux : Security-Enhanced Linux 是美国国家安全局在Linux社区帮助下开发的一个强制访问控制的安全子系统;让系统中的各个服务进程都受到约束,仅能访问所需要的文件
-
模式1 enforcing - 安全策略强制启用模式,将会拦截服务的不合法请求
-
模式2 permissive - 遇到服务越权访问只会发出警告而不强制拦截
-
模式3 disabled - 对于越权的行为不警告,也不拦截
SELinux安全策略分为域和安全上下文
-
SELinux域:对进程资源进行限制(查看方式 ps -Z)
-
SELinux安全上下文:对系统资源进行限制(查看方式 ls -Z)
ls -Zd /home/wwwroot
drwxr-xr-x. root root[账户身份] unconfined_u[用户身份]:object_r[文件目录角色]:home_root_t:s0[类型段] /home/wwwroot
- semanage:命令用于查询与修改SELinux的安全上下文,semanage [ 选项 ] [ 文件 ]
4. restorecon : 命令用于恢复SELinux文件安全上下文,restorecon [ 选项 ] [ 文件 ]
参数 | 作用 |
---|
-i | 忽略不存在的文件 |
-e | 排除目录 |
-R | 递归处理 |
-v | 显示详细的过程 |
-F | 强制恢复 |
semanage fcontext -a t httpd_sys_content_t /home/wwwroot
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot
个人用户主页功能
- 开启个人主页功能
vim /etc/httpd/conf.d/userdirconf
将17行注释掉
将23行注释解除
UserDir 参数表示需要在用户家目录中创建爱你的网站数据目录的名称
创建个人用户网站数据
进入非root用户角色
创建public_html文件夹
设置SELinux允许策略
-
getsebool 命令用于查询所有SELinux规则的布尔值,getsebool a
; SELinuv策略布尔值 0/off 为禁止 ; 1/on 为允许
-
setsebool 命令用于修改SELinux策略内各项规则的布尔值,setsebool [ 选项 ] 布尔值=[ 0|1 ]
4. 增加密码安全验证
htpasswd -c[-c参数用于第一次生成] /etc/httpd/passwd 用户
虚拟网站主机功能
Virtual Host : 让一台服务器基于IP,主机名或端口号实现提供多个网站服务的技术
方式1:基于IP地址
-
使用nmtui 命令为网卡添加多个IP地址
-
分别创建网站数据目录
-
在配置文件中描述基于IP地址的虚拟主机
-
修改网站数据目录的SELinux安全上下文
3. 基于主机名
-
配置网卡IP地址与hosts文件(定义IP地址与主机名的影射关系,强制将某个主机名地址解析到指定IP地址)
-
分别创建网站数据目录
-
在配置文件中描述基于主机名称的虚拟主机
-
修改网站数据目录的SELinux安全上下文
-
分别访问网站验证结果
4. 基于端口号
-
配置服务器的IP地址
-
分别创建网站数据目录
-
在配置文件中描述基于端口号的虚拟主机
-
修改网站数据目录的SELinux安全上下文
-
分别访问网站验证结果
Apache的访问控制
- 常用指令 : Order排序 Allow允许 Deny拒绝 Satisfy满足
- 可实现只允许IE浏览器访问本网站,仅限某ip的主机访问本网站