apache包含<virtualhost> <directory>等主配置模块。
<VirtualHost *:80>
ServerName xxx;
DocumentRoot /var/www/html;
access-log /xxxx/xxx/xxx-log;
error-log /xxx/xxx/xxx-log;
#以上配置参数后面的内容可以任意,只要存在
https的访问方式:安装 mod_ssl 防火墙开通443端口。
7版本开通防火墙:firewall-config --permanent --add-service=https
firewall-config --permanent --add-port=443
firewall-config --reload
<VirtualHost *:443>
SSLEngine on #开启ssl
<Directory "/var/www/html/xcxx/">#该目录是非DocumentRoot,如果web的根目录下有多个子目录,也可以设置这些目录的权限,当然也可以不是根目录下的
<Directory "/var/www/xxxx/xxxx">
Require ip 1.1.1.1 允许该ip访问 也可以设置为域名 1.1.0.0/16
Require not ip 1.1.1.1拒绝该ip访问 可以设置为域名 1.1.0.0/16
allow all denied 拒绝所有访问
allow all granted 允许所有访问
当网站的目录数据空间不够可以选择挂载的方式,挂载到扩展分区:
- 创建分区:
fdisk /dev/xvdx
pvcreate /dev/xvdx
vgcreate vgname /dev/xvdx
lvcreate -L sizeM -n lvname vgname
mkfs.xfs /dev/vgname/lvname
mkdir /lvm
mount /lvm /dev/vgname/lvname
- 其中DocumentRoot 目录指定为lvm
- yum install -y selinux-policy-devel(访问控制的)
- semanage fcontext -a -t httpd_sys_content -t ‘/lvm‘
restorecon -FRv ‘/lvm‘
- vim /etc/hosts (aaa.xxx.xom ip)
指定用户访问某个目录,但是需要密码验证的方式:
- httpasswd -cm /etc/httpd/.htpasswd
之后输入用户名和密码 尽量修改.htpasswd 的权限为400
2.<Directory "/var/www/html/xxx.com/doc">
AllowOverride AuthConfig
AuthName "info"
AuthType basic
AuthUserFile "/etc/httpd/.htpasswd"
Require vaild-user
</Directory>
当访问到doc目录时,会弹出一个登陆页面。需要输入用户进行验证。
访问网站目录下不存在的子页:通过alias实现
在<VirtualHost>下
Alias /xxx/xxx/xxx ‘/var/www/html/xxx/ #只要是输入ip/xxx这个目录就会访问到
Options Indexes Multiviews FollowSymLinks #没有index,会把该目录下所有文件罗列出来