一、实现一个web服务器
1、安装web服务
yum -y install httpd
2、配置对应域名
我们可以在/etc/http/conf/ /etc/http/conf.d/ /etc/http/conf.modules.d/ 这三个目录下创建以.conf为结尾的文件,在重启web服务时就会自动读取配置文件。
<VirtualHost *:80> DocumentRoot "/var/www/html" ServerName system1.group8.example.com <Directory "/var/www/html">(下列权限对应的目录) <RequireAll> Require all granted (允许所有) Require not host .my133t.org (禁止某一个域) </RequireAll> </Directory> <Directory "/var/www/html/private">(不同的权限对应不同的目录) Require all denied (禁止所有) Require local(只允许本地) </Directory> </VirtualHost>
然后测试的时候要关闭防火墙以及selinux,或者通过设置防火墙和期望值来允许,这里就直接全部关闭了
3、客户端测试
curl system1.group8.example.com
curl system1.group8.example.com/private/
让我们试一下本机连接
curl system1.group8.example.com/private/(后面‘/’一定要加)
不带‘/’的后果(大家请注意)
二、配置安全web服务器
1、首先安装安全协议包mod_ssl
yum -y install mod_ssl
安装完成包之后可以在/etc/httpd/conf.d/目录下发现一个为ssl.conf文件
vim /etc/httpd/conf.d/ssl.conf
从里面取出这五行代码
2、配置配置文件
<VirtualHost *:443>(安全协议的端口为443端口) DocumentRoot "/var/www/html" ServerName system1.group8.example.com <Directory "/var/www/html"> <RequireAll> Require all granted Require not host .my133t.org </RequireAll> </Directory> SSLEngine on SSLProtocol all -SSLv2 -SSLv3 SSLCertificateFile /etc/pki/tls/certs/system1.crt (已经签名的证书) SSLCertificateKeyFile /etc/pki/tls/private/system1.key (证书的密钥) SSLCACertificateFile /etc/pki/tls/certs/ssl-ca.crt(此证书的CA认证中心) </VirtualHost>
重新启动httpd服务
systemctl restart httpd
3、客户端测试
curl -k +测试地址 (curl 中的 -k 为忽视证书的合法性测试)
三、配置虚拟主机
1、配置配置文件,添加一个新的以端口,地址,或者域名不同的虚拟主机,这里以域名为列子
vim /etc/httpd/conf.d/httpd-vhosts.conf <VirtualHost *:80> DocumentRoot "/var/www/virtual" (新的DocumentRoot目录) ServerName ceshi.com (不同的域名) <Directory "/var/www/virtual"> (对该目录做的权限) <RequireAll> Require all granted </RequireAll> </Directory> <Directory "/var/www/virtual/private"> (目录下的子目录不同权限) Require all denied Require local </Directory></VirtualHost>
重新启动httpd服务
systemctl restart httpd
2、客户端测试
curl ceshi.com
四、基于AllowOverride实现认证
1、配置配置文件
<VirtualHost> DocumentRoot "/var/www/html/admin" ServerName haha.com <Directory "/var/www/html/admin"> AllowOverride none AuthType Basic AuthName "Please login" AuthUserfile "/etc/httpd/conf/.htpasswd" Require user xixi </Directory> </VirtualHost>
2、添加用户xixi
vim /etc/httpd/conf/.htpasswd
htpasswd -b -c -m /etc/httpd/conf/.htpasswd xixi centos
htpasswd -b -m /etc/httpd/conf/.htpasswd haha redhat
3、客户端测试
转载于:https://blog.51cto.com/13866901/2306880