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

[经验分享] apache服务与虚拟主机

[复制链接]

尚未签到

发表于 2018-11-21 13:52:13 | 显示全部楼层 |阅读模式
      apache是典型优秀的Web服务器,可以运行在linux,unix,windows等环境。其具有开源,跨平台,支持各种语言,模块化设置,稳定与安全等特点。
      以红冒企业版RHEL5为例,搭建与配置apache服务。
      配置好IP,网关,掩码等基本信息。
      为了避免端口和程序发生冲突,删除以RPM包安装的相关软件。可根据实际情况删除。
  rpm -e httpd httpd-manual webalizer subversion mod_python mod_ssl mod_perl system-config-httpd php php-cli php-ldap php-common mysql dovecot --nodeps
      在删除过程中,如果出现error: package mysql is not installed报错,则在命令上将这个选项去掉再删即可。
      将httpd解压到/usr/src目录下,并进入其目录。
  tar zxf httpd-2.2.17.tar.gz -C /usr/src/
  cd /usr/src/httpd-2.2.17/
      开始编译安装。指定安装在/usr/local/httpd目录下,启用动态加载模块,启用网页地址重写,启用字符集支持,启用CGI脚本程序支持。
  ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi && make && make install
  安装完成后,可以通过ls /usr/local/httpd查看结果。
DSC0000.jpg

  优化执行路径
  ln -s /usr/local/httpd/bin/* /usr/local/bin/
  启动服务
  /usr/local/httpd/bin/apachectl start
  netstat -anpt | grep httpd
DSC0001.jpg

  配置并启动httpd服务。
  网站根目录位于/usr/local/httpd/htdocs中,需要将Web的网页复制到该目录中。例如打开默认的测试页面:
DSC0002.jpg

      日志文件位于/usr/local/httpd/log目录下,有access_log和error_log。
      httpd.conf配置文件,位于/usr/local/httpd/conf/httpd.conf。
  vim /usr/local/httpd/conf/httpd.conf
  
      一些常用到的配置项:
  ServerRoot "/usr/local/httpd"     //服务器的根目录
  Listen 80//监听端口
  DocumentRoot "/usr/local/httpd/htdocs"    //网页存放位置
  DirectoryIndex index.html            //默认索引页,可以多个,以空格分开。
  //区域配置项:仅针对该区域有效,不干涉全局。
  //可以是
      Options FollowSymLinks        //控制选项,允许使用符号链接
      AllowOverride None                //不允许隐含控制文件中的覆盖配置
      Order deny,allow                    //访问控制策略的应用顺序
      Deny from all                        //禁止任何人访问该区域
                              //该区域结束
      通常情况下Web对所有的客户端都开放,所以应该使用Allow from all 允许所有人访问策略。但有时某些区域只拒绝/允许一部分主机访问,例如后台或者AWStats系统等。例如修改为:
  
      ......
      Order deny,allow
      Deny from all              //拒绝访问的主机,例如所有all,可以使网段和一个ip
     #Order allow,deny
     #Allow from all              //允许访问的主机,例如所有all
  
  保存退出,编辑/usr/local/httpd/htdocs/test/test.html
  cat >>/usr/local/httpd/htdocs/test/test.html /var/www/html/testcom/index.html
  echo "www.web.com" > /var/www/html/webcom/index.html
  方法一:三种虚拟主机都可以直接在httpd配置文件上修改,
  修改监听地址,例如211.1.1.1:80
  虚拟主机区域,例如......
  目录权限等,例如......
  方法二:直接修改比较少,这样会改动太多主配置文件,通常是用独立配置文件来配置虚拟主机,,然后在httpd.conf文件通过lnclude加载这些配置。这有利于减少httpd.conf文件的改动。
  1,基于域名虚拟主机:
  vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
  NameVirtualHost 192.168.78.129:80
          //区域配置文件目录
      Order allow,deny//允许所有人访问
      Allow from all
  
          //虚拟主机的IP地址
      DocumentRoot "/var/www/html/testcom"    //网站地址
      ServerName www.test.com            //服务名称
      ErrorLog "logs/dummy-host.example.com-error_log"
      CustomLog "logs/dummy-host.example.com-access_log" common
  
  
  
      DocumentRoot "/var/www/html/webcom"
      ServerName www.web.com
      ErrorLog "logs/dummy-host2.example.com-error_log"
      CustomLog "logs/dummy-host2.example.com-access_log" common
  
  保存退出。
  修改主配置文件,添加独立配置文件。
  vim /usr/local/httpd/conf/httpd.conf
  ....//略
  Include conf/extra/httpd-vhosts.conf
  保存退出,并重启httpd服务。
  /usr/local/httpd/bin/apachectl restart
DSC0003.jpg

  2,基于IP地址的虚拟主机
  (PS:实验可以使用同一网段,减少DNS配置和网段调整等工作。添加多一张虚拟网卡或编辑虚拟网卡di地址:ifconfig eth0:0 192.168.78.130/24)
  同样使用独立配置文件的方法。
  vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
              //区域配置文件目录
      Order allow,deny                         //允许所有人访问
      Allow from all
  
                      //虚拟主机的IP地址
      DocumentRoot "/var/www/html/testcom"    //网站目录
      ServerName www.test.com                       //服务名称
      ErrorLog "logs/dummy-host.example.com-error_log"
      CustomLog "logs/dummy-host.example.com-access_log" common
  
  
  
      DocumentRoot "/var/www/html/webcom"
      ServerName www.web.com
      ErrorLog "logs/dummy-host2.example.com-error_log"
      CustomLog "logs/dummy-host2.example.com-access_log" common
  
  保存退出,同样需要在主配置文件加载配置文件。
  
  3,基于端口的虚拟主机
      这种虚拟主机,一般需要指定端口才可以访问。一般访问网页默认都是80(http)或443(https)。因此在配置虚拟主机时需要指定端口。
  vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
          //区域配置文件目录
      Order allow,deny                      //允许所有人访问
      Allow from all
  
                      //虚拟主机的IP地址
      DocumentRoot "/var/www/html/testcom"    //网站目录
      ServerName www.test.com                       //服务名称
      ErrorLog "logs/dummy-host.example.com-error_log"
      CustomLog "logs/dummy-host.example.com-access_log" common
  
  
                  //虚拟主机的IP地址加端口!!
      DocumentRoot "/var/www/html/webcom"
      ServerName www.web.com
      ErrorLog "logs/dummy-host2.example.com-error_log"
      CustomLog "logs/dummy-host2.example.com-access_log" common
  
  保存退出,同样需要在主配置文件上加载独立配置文件。
  在主配置文件需要添加监听端口!!
  vim /usr/local/httpd/conf/httpd.conf
  Listen 1234
  重启服务
  则可以看到结果。
DSC0004.jpg

  





运维网声明 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-637860-1-1.html 上篇帖子: Linux之apache安装(httpd) 下篇帖子: Apache2.2 服务无法启动等相关问题 解决方案汇总
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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