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

[经验分享] Apache服务器之----几种常用配置

[复制链接]

尚未签到

发表于 2018-11-25 12:33:22 | 显示全部楼层 |阅读模式
  Apache虚拟主机的几种基本配置
  

  
虚拟主机是服务器采用的节省服务器硬件成本的技术,虚拟主机技术主要应用于HTTP、FTP、邮件等多种服务。将一台服务器的某项或者全部服务内容逻辑划分为多个服务单位,对外展现为一个服务器,从而充分利用服务器硬件资源。如果划分是系统级别,则成为虚拟服务器。
  一、虚拟主机具有三种建立模式
  二、别名的配置
  
三、客户端的访问控制
  
四、基于用户认证的方式进行访问
  一、虚拟主机具有三种建立模式:
  
1、基于IP地址
  
2、基于端口
  
3、基于FQDN
  多端口  多域名
  下面应该加上
  这些  在第二段
  servername ip:port
  servername  12.123.1.1:80
  servername  12.123.1.1:88
  然后第三段 应该  加上
  

  

  

  这样就可以区分了  也不会错误提示了
  
好,废话不多说,直接上例子:
  
1、基于IP
  
如果希望使用172.16.4.1可以访问到/www/htdocs目录的内容,使用172.16.4.2可以访问到/www/web2目录中的内容,就需要配置/etc/httpd/conf/httpd.conf文件中的虚拟主机区域:
  



  •     ServerAdmin agony@example.com           ##这里指网站的管理员的邮箱地址
  •     DocumentRoot /www/htdocs            ##这里指的网页存放的目录
  •     ServerName 172.16.4.1               ##这里指的是网站的访问的IP地址
  •     Errorlog /var/log/htdocs_erro.log       ##这里是定义访问网站错误日志的存放地点
  •     CustomLog /var/log/htdocs_access.log        ##这里是定义访问网站的日志存放地点



  •     ServerAdmin agony@example.com           ##这里指网站的管理员的邮箱地址
  •     DocumentRoot /www/web2              ##这里指的网页存放的目录
  •     ServerName 172.16.4.2               ##这里指的是网站的访问的IP地址
  •     Errorlog /var/log/web2_erro.log         ##这里是定义访问网站错误日志的存放地点
  •     CustomLog /var/log/web2_access.log      ##这里是定义访问网站的日志存放地点

  

  注:这里默认监听的端口是80,如果需要重新设置,只需要在IP地址后面跟上端口号即可。
  2、基于端口
  
如果希望使用172.16.4.1的80端口访问/www/htdocs目录的内容,使用172.16.4.1的8080端口访问/www/web2目录的内容,就需要在/etc/httpd/conf/httpd.conf里做如下的配置:
  



  •     ServerAdmin agony@example.com           ##这里指网站的管理员的邮箱地址
  •     DocumentRoot /www/htdocs            ##这里指的网页存放的目录
  •     ServerName 172.16.4.1:80            ##这里指的是网站的访问的IP地址以及端口号
  •     Errorlog /var/log/htdocs_erro.log       ##这里是定义访问网站错误日志的存放地点
  •     CustomLog /var/log/htdocs_access.log        ##这里是定义访问网站的日志存放地点



  •     ServerAdmin agony@example.com           ##这里指网站的管理员的邮箱地址
  •     DocumentRoot /www/web2              ##这里指的网页存放的目录
  •     ServerName 172.16.4.2:8080          ##这里指的是网站的访问的IP地址已经端口号
  •     Errorlog /var/log/web2_erro.log         ##这里是定义访问网站错误日志的存放地点
  •     CustomLog /var/log/web2_access.log      ##这里是定义访问网站的日志存放地点

  

  3、基于FQDN,这也是最常用的方法
  
如果需要使用www.coolinuz.com访问/www/htdocs目录下的内容,使用www.magedu.com目录下的内容时,就需要将虚拟主机按照下面的配置方式进行配置:
  



  •     ServerAdmin agony@example.com           ##这里指网站的管理员的邮箱地址
  •     DocumentRoot /www/htdocs            ##这里指的网页存放的目录
  •     ServerName www.coolinuz.com         ##这里指的是访问网站时用的域名即FQDN
  •     Errorlog /var/log/htdocs_erro.log       ##这里是定义访问网站错误日志的存放地点
  •     CustomLog /var/log/htdocs_access.log        ##这里是定义访问网站的日志存放地点



  •     ServerAdmin agony@example.com           ##这里指网站的管理员的邮箱地址
  •     DocumentRoot /www/web2              ##这里指的网页存放的目录
  •     ServerName www.magedu.com           ##这里指的是网站的访问的IP地址已经端口号
  •     Errorlog /var/log/web2_erro.log         ##这里是定义访问网站错误日志的存放地点
  •     CustomLog /var/log/web2_access.log      ##这里是定义访问网站的日志存放地点

  

  注:当使用基于FQDN建立虚拟主机时还需要开启这项,该项在httpd-2.2.3的配置文件中是存在的,在httpd-2.4.1中没有该项。
  

  
二、别名的配置
  
当需要用户请求的URL过长时,在Apache中可以通过别名的配置减少客户端URL的输入量,并且通过别名可以跳转网页存放的目录,
  例如:
  
apache的默认存放网页目录为/www/htdocs中,其访问FQDN为www.coolinuz.com,现需要访问/www/phpmyadmin目录中的网页,那么就可以使用别名来定义,具体配置如下:
  


  • NameVirtualHost 172.16.4.1:80

  •     Alias /php "/www/phpmyadmin"
  •     ServerAdmin agony@example.com
  •     DocumentRoot /www/htdocs
  •     ServerName www.coolinuz.com
  •     Errorlog /var/log/htdocs_erro.log
  •     CustomLog /var/log/htdocs_access.log

  

  这时用户只需要在将URL置于www.coolinuz.com/php即可正常访问/www/phpmyadmin目录中的内容。
  

  
Alias string FilePath
  
string:指访问原网页的URL后面追加的那段字符串
  
FilePath:指需要跳转到哪个目录。
  三、客户端的访问控制
  
Apache默认情况下,允许所有客户端对已配置好的网站进行访问,通过Order、Allow、From、Deny这些参数来允许和阻止指定客户端对网站中的目录或内容的访问控制的。
  

  
客户端的制定方法:
  
1、具体的IP地址
  
2、指定的网络
  
3、FQDN
  
4、域
  
5、所有的客户端,使用关键字"All"
  

  
例如:www.coolinuz.com这个网站只允许172.16.0.0/16网络中的主机访问。
  



  •     ServerAdmin agony@example.com
  •     DocumentRoot /www/htdocs
  •     ServerName www.coolinuz.com
  •     Errorlog /var/log/htdocs_erro.log
  •     CustomLog /var/log/htdocs_access.log
  •    
  •         Order Allow,Deny
  •         Allow From 172.16.0.0/16
  •    

  

  注:Order Allow,Deny,如果没有其他的Allow或Deny定义,则其默认动作为Order最后一个动作,在这里是Deny,如果是"Order Deny,Allow",则其默认动作为Allow。
  四、基于用户认证的方式进行访问
  
在Apache的默认情况下,允许客户端进行匿名访问,Apache可以实现基于身份认证和摘要式身份验证。这里只做基本身份验证的实现详解。
  
在做基本身份验证时,认证用户来源可以是htpasswd工具生成的密码文件。
  
具体实现步骤:
  
1、使用apache自带的htpasswd工具生成密码文件来作为用户访问认证的来源
  
格式htpasswd options FilePath user
  
    -c :第一次创建时使用该选项
  
    -m :将密码使用MD5加密存放
  
    -D :从密码文件中删除用户
  
如:创建一个用户redhat,将密码文件存放在/etc/httpd/.htpasswd
  
#htpasswd -cm /etc/httpd/.htpasswd redhat
  
删除用户
  
#htpasswd -D /etc/httpd/.htpasswd redhat
  

  
2、对指定的网页目录使用基本身份认证
  
如对www.coolinuz.com网站的访问需要基于用户认证
  
配置apache的主配置文件:/etc/httpd/conf/httpd.conf
  


  • NameVirtualHost 172.16.4.1:80

  •     ServerAdmin agony@example.com
  •     DocumentRoot /www/htdocs
  •     ServerName www.coolinuz.com
  •     Errorlog /var/log/htdocs_erro.log
  •     CustomLog /var/log/htdocs_access.log
  •    
  •         AuthName PRIVATE            ##这里指在需要用户认证时的提示信息
  •         AuthType Basic              ##这里指认证的类型为基本认证
  •         AuthUserFile /etc/httpd/.htpasswd   ##这里指存放密码文件的路径
  •         Require valid-user          ##这里指密码文件中允许访问的用户,这里指的是全部,如果要具体允许某些用户则可写为"Require User redhat centos"
  •    

  

  好了,到此apache的几种常用的配置到此就完成了,只需要重新载入配置文件或者重启服务即可生效了,下篇将讲述apache启用https功能。
  本文出自 “向阳草” 博客,出处http://grass51.blog.51cto.com/4356355/812523



运维网声明 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-639401-1-1.html 上篇帖子: LimitRequestLine apache 下篇帖子: Apache编译与安装 RedHat enterprises 6.2_SONY619
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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