设为首页 收藏本站
查看: 875|回复: 0

[经验分享] web服务httpd-2.2基于域名虚拟主机

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-7-19 09:57:30 | 显示全部楼层 |阅读模式
web网站服务:
Apache著名的开源Web服务软件,由ASF自由软件基金负责维护操作
官方站点:http://httpd.apache.org/
http://www.netcraft.com/ 对各种Web软件的市场份额做了详细的统计

实验需求:
1、建立httpd服务,要求:
   (1) 提供两个基于名称的虚拟主机www1, www2;有单独的错误日志和访问日志
   (2) 通过www1的/server-status提供状态信息,且仅允许tom用户访问
   (3) www2不允许192.168.0.0/24网络中任意主机访问
2、为上面的第2个虚拟主机提供https服务

实验环境:
Web Server: CentOS 6.7x86_64          IP:172.16.251.164
         httpd-2.2.15-45.el6.centos.x86_64
客户端:CentOS 7.2x86_64                     IP:172.16.251.138

实验准备:
[iyunv@www ~]# iptables –F                     //关闭防火墙
[iyunv@www ~]# setenforce 0                   //关闭SeLinux

安装httpd:
[iyunv@www ~]# yum -y install httpd
[iyunv@www ~]# rpm -qc httpd                //查看安装httpd生成的配置文件
/etc/httpd/conf.d/welcome.conf
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/magic
/etc/logrotate.d/httpd
/etc/sysconfig/htcacheclean
/etc/sysconfig/httpd
[iyunv@www ~]# service httpd start
[iyunv@www ~]# ss –tnl
LISTEN    0      128                          :::80

主配置文件:
[iyunv@www conf]# cp -p httpd.confhttpd.conf.bak
[iyunv@www httpd]# vim/etc/httpd/conf/httpd.conf
NameVirtualHost 172.16.251.164:80                 //启用虚拟主机

创建虚拟主机www1配置文件:
[iyunv@www ~]# vim /etc/httpd/conf.d/v1.conf
<VirtualHost 172.16.251.164:80>
        DocumentRoot /var/www/virt1
ServerNamewww1.a.com
ErrorLog logs/www1-error_log
       CustomLog logs/www1-access_log combined
<Location /server-status>
    SetHandler server-status
    AuthType basic
    AuthName "Fortom"
    AuthUserFile"/etc/httpd/conf/.htpasswd"
    Require user tom
</Location>
</VirtualHost>

创建虚拟主机www2配置文件:
[iyunv@www ~]# vim /etc/httpd/conf.d/v2.conf
<VirtualHost 172.16.251.164:80>
       DocumentRoot /var/www/virt2
ServerNamewww2.a.com
ErrorLog logs/www2-error_log
       CustomLog logs/www2-access_log combined
<Directory"/var/www/virt2">
        Options None
        AllowOverride None
        Order deny,allow
        Deny from 192.168.0.0/24
</Directory>
</VirtualHost>

创建测试站点资源:
[iyunv@www conf]# mkdir -pv/var/www/virt{1,2}
[iyunv@www www]# echo "www1">> /var/www/virt1/index.html
[iyunv@www www]# echo "www2" >>/var/www/virt2/index.html

创建tom用户文件:
[iyunv@www conf]# htpasswd -cm/etc/httpd/conf/.htpasswd tom
[iyunv@www conf]# httpd -t
Syntax OK
[iyunv@www conf]# service httpd restart

客户端测试:
[iyunv@localhost ~]# cat /etc/hosts
172.16.251.164        www1.a.com   www2.a.com
[iyunv@localhost ~]# curl http://www1.a.com
www1
[iyunv@localhost ~]# curl http://www2.a.com
www2
[iyunv@www conf.d]# ll /var/log/httpd/
-rw-r--r--. 1 root root 11465 7月  17 12:33 www1-access_log
-rw-r--r--. 1 root root  3517 7月  17 12:33 www1-error_log
-rw-r--r--. 1 root root  2306 7月  17 10:25 www2-access_log
-rw-r--r--. 1 root root  1142 7月  17 10:17 www2-error_log
[iyunv@localhost ~]# links http://www1.a.com/server-status
QQ截图20160719095714.jpg



提供https服务:
1.建立私有CA
[iyunv@www CA]# (umask 077; openssl genrsa-out private/cakey.pem 2048)
[iyunv@www CA]# openssl req -new -x509 -keyprivate/cakey.pem -out cacert.pem
Country Name (2 letter code) [XX]:CN  
State or Province Name (full name) []:bj
Locality Name (eg, city) [Default City]:bj
Organization Name (eg, company) [Default Company Ltd]:ym
Organizational Unit Name (eg, section) []:Ops      
Common Name (eg, your name or your server's hostname) []:www2.a.com
Email Address []:admin@a.com
[iyunv@www CA]# touch index.txt
[iyunv@www CA]# echo 01 > serial
2.申请证书:
[iyunv@www CA]# mkdir -pv /etc/httpd/ssl
[iyunv@www ssl]# (umask 077; openssl genrsa-out httpd.key 1024)
[iyunv@www ssl]#  openssl req -new -key httpd.key -outhttpd.csr
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:bj
Locality Name (eg, city) [Default City]:bj
Organization Name (eg, company) [Default Company Ltd]:ym
Organizational Unit Name (eg, section) []:Ops
Common Name (eg, your name or your server's hostname) []:www2.a.com
Email Address []:admin@acom
[iyunv@www ssl]# cp httpd.csr /testdir/

3.CA签发证书,并将证书发送请求者
[iyunv@www ssl]# openssl ca -in/tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt
[iyunv@www ssl]# cp/etc/pki/CA/certs/httpd.crt /etc/httpd/ssl/

4.安装mod_ssl模块
[iyunv@www conf.d]# httpd -M | grep ssl
[iyunv@www conf.d]# yum -y install mod_ssl
[iyunv@www conf.d]# rpm -ql mod_ssl
[iyunv@www conf.d]# vim/etc/httpd/conf.d/ssl.conf
<VirtualHost 192.168.1.200:443>
DocumentRoot "/var/www/virt2"
ServerName www2.a.com:443
SSLCertificateFile /etc/httpd/ssl/httpd.crt
SSLCertificateKeyFile /etc/httpd/ssl/httpd.key
[iyunv@www conf.d]# service httpd restart
[iyunv@www conf.d]# ss -tnl
LISTEN    0      128                          :::443

客户端测试:https://172.16.251.164:443

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-246161-1-1.html 上篇帖子: apache-kylin完整安装流程 下篇帖子: 关于apache2.4 模块 mod_php mod_fastcgi mod_fcgi 虚拟主机
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表