[菜鸟学Linux]11-部署网站

几种中间件:
IIS、Apache、Nginx

几种架构:
LAMP、LNMP、LNMPA

yum仓库的格式

[ ]
name=
baseurl=
enable=
gpgcheck=

多个源的情况下,网络源以速度优先,本地源以字母优先,混合的情况下,最新版本优先,都是最新的情况下,本地为主

下载软件包:httpd

下载完成后,需要启动该服务,并加入开机启动项

出现默认页面的可能性:

  • 网站目录内无文件
  • 无权限

网络默认路径:/var/www/html

编辑index.html

更换网站默认路径,如/home/wwwroot(home目录下是用户的私有文件,正常来说一般服务不能访问到)

  • 找到主配置文件:/etc/httpd/conf/httpd.conf
  • DocumentRoot
  • <Directory>
  • 新建文件夹
  • 重启服务(此时还是出席默认页面)
  • 编辑index.html
  • 刷新(此时出现报错,因为SELinux)

SELinux功能:

  • 管理SELinux域:对服务功能进行限制
  • 管理SELinux安全上下文:限制文件权限

查看SELinux上下文:ls -ldZ /var/www/html
SELinux主配置文件:/etc/selinux/config

  • 状态:enforce/permissive/disable(强制开启/警告/禁用)

SELinux命令:

  • setenforce:0/1—临时关闭/开启SELinux
  • setsebool:设置SE布尔值
  • getsebool:获取SE布尔值(需要加-a参数)
  • semanage:管理SELinux上下文(semanage fcontext -a -t XXXXX /dir)(后面没有斜杠)
  • restorecon:让SELinux值立即生效(restorecon -Rv /dir)

批量新建网站:

  • 用户目录:/etc/httpd/conf.d/userdir.conf
  • UserDir XXXXX(每个用户在自己的家目录中新建XXX目录,然后就有自己的网站功能了)
  • 更改目录读写权限:chmod -Rf 777 XXXX
  • 重启httpd
  • 访问:http://XX.XX.XX.XX/~(用户名)—SELinux阻断访问
  • 修改SELinux域:setsebool -P httpd_enable_homedirs=on

需要密码访问:

  • htpasswd -c /etc/httpd/passwd xiaoqi
  • xiaoqi是专门用来做网站验证的
  • 开启密码访问:/etc/httpd/conf.d/userdir.conf
  • 最末行添加
  • 重启服务
<Directory "/home/*/public_html">
allowoverride all  #是否允许伪静态(默认允许)
authuserfile /etc/httpd/passwd  #密码存放位置
authname xxxxxxxxx   #描述信息
authtype basic   #验证类型
require user xiaoqi   #用户名称

虚拟网站主机(在一个主机内部署多个网站)

  • 主机上配置多个IP
  • 网站主目录下新建多个目录
  • 目录中新建index.html
  • 在httpd主配置文件中启用虚拟主机功能(A)
  • 重启服务
  • 设置SELinux(semanger,没有-R递归参数)
  • 生效(restorecon -Rv /XXXXX)
(A)
<Virtualhost 192.168.10.10 #虚拟网站主机IP>
Documentroot /XXXXX  #虚拟网站主机主目录
servername www.xxxx.com #虚拟网站主机域名
<directory /XXXXX>  #设置虚拟网站主机目录权限
allowoverride none   #是否允许伪静态
require all granted   #允许所有人的请求
</directory>
</Virtualhost>

hosts文件

  • 存在路径/etc/hosts
  • 强制解析
  • 192.168.10.10 www.xxxxx.com

开启端口访问

  • 配置httpd主配置文件:listen XXX
  • 在虚拟网站主机配置中,添加IP的时候后面接上端口
  • semanage port -l | grep http(查看httpd服务监听端口)
  • semanage port -a -t http_port_t -p -tcp XXXX(以上属于SELinux域的范畴)

设置访问条件

  • 编辑httpd主配置文件:在网站directory参数里面,加上setenvif
  • 如setenvif User -Agent “Firefox” ff=1 #ff的意思是前面的env定义为ff,=1的意思是启用该策略
  • 写上策略:Order
Order allow,deny   #先allow,后deny
allow from env=ff   #如果env是ff的话,放行

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章