linux下apache访问控制

apache编译安装

tar jxvf httpd-2.4.29.tar.bz2 -C /opt
yum -y install gcc gcc-c++ make pcre-devel expat-devel perl apr-util-devel apr-util-devel apr-devle 
cd /opt/httpd-2.4.29/
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
make -j2
make install
systemctl start httpd
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
vi /etc/init.d/httpd
\# chkconfig: 35 85 21				#35级别自动运行  第85个启动 第21个关闭
chkconfig --add httpd
chkconfig --list httpd
systemctl stop firewalld
systemctl start httpd

apache访问控制

vi /usr/local/httpd/conf/httpd.conf	
ServerName www.kgc.top:80				#修改server名,并将#去掉
<Directory "/usr/local/httpd/htdocs">		#指定目录区域
        AuthName "welcome to dsb"			#界面提示词
        AuthType Basic								#基本认证类型
        AuthUserFile /usr/local/httpd/conf/.awspwd	#用户数据文件
        Require valid-user	#设置授权用户登陆
</Directory>	
cd /usr/local/httpd/	
bin/htpasswd -c /usr/local/httpd/conf/.awspwd webadmin	#创建授权账户并设置密码,c是创建新文件.awspwd时用
systemctl restart httpd	

可以用浏览器测试下httpd服务了,此时需要输入账户密码才能访问了

基于域名的虚拟主机

mkdir -p /var/www/html/web1	
mkdir -p /var/www/html/web2	
echo "<h1>web1</h1>" > /var/www/html/web1/index.html	
echo "<h1>web2</h1>" > /var/www/html/web2/index.html	
vim /etc/httpd.conf	
Include conf/extra/httpd-vhosts.conf	前面的#去掉
vim /usr/local/httpd/conf/extra/httpd-vhosts.conf	
<VirtualHost *:80>	
    ServerAdmin admin@web1.com	
    DocumentRoot "/var/www/html/web1"		#指定apache服务器网页(文档)根目录
    ServerName www.web1.com						#服务器域名
    ErrorLog "logs/www.web1.com.error_log"	
    CustomLog "logs/www.web1.com.access_log" common	
        <Directory "/var/www/html/web1">			#受限制区域目录
        Require all granted									#允许所有访问
        </Directory>	
</VirtualHost>	
	
<VirtualHost *:80>	
    ServerAdmin admin@web2.com	
    DocumentRoot "/var/www/html/web2"	
    ServerName www.web2.com	
    ErrorLog "logs/www.web2.com.error_log"	
    CustomLog "logs/www.web2.com.access_log" common	
        <Directory "/var/www/html/web2">	
        Require all granted	
        </Directory>	
</VirtualHost>	
systemctl restart httpd	

在客户机上做域名映射,将域名www.web1.com和www.web2.com映射到web服务器ip
在用浏览器访问www.web1.com 显示web1的页面
在用浏览器访问www.web2.com 显示web2的页面

基于端口的虚拟主机

修改

<VirtualHost 20.0.0.11:80>	
    ServerAdmin admin@web1.com	
    DocumentRoot "/var/www/html/web1"	
    ServerName www.web1.com	
    ErrorLog "logs/www.web.com.error_log"	
    CustomLog "logs/www.web1.com.access_log" common	
        <Directory "/var/www/html/web1">	
        Require all granted	
        </Directory>	
</VirtualHost>	
	
<VirtualHost 20.0.0.11:8080>	
    ServerAdmin admin@web2.com	
    DocumentRoot "/var/www/html/web2"	
    ServerName www.web2.com	
    ErrorLog "logs/www.web2.com.error_log"	
    CustomLog "logs/www.web2.com.access_log" common	
        <Directory "/var/www/html/web2">	
        Require all granted	
        </Directory>	
</VirtualHost>	
vim /usr/local/httpd/conf/httpd.conf	
Listen 20.0.0.11:80
Listen 20.0.0.11:8080	
systemctl restart httpd	

在用浏览器访问20.0.0.11:80 显示web1的页面
在用浏览器访问20.0.0.11:8080 显示web2的页面

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值