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

[经验分享] Apache相关配置

[复制链接]

尚未签到

发表于 2018-11-20 08:13:30 | 显示全部楼层 |阅读模式
  上一篇文章 我们记录了 Apache的整个安装过程
  http://771541213.blog.51cto.com/10810853/1773329
  

  现在我们讲解一下 Apache的一些基本配置
  a > 基于域名配置虚拟网站
  b > 基于IP地址配置
  c > 基于不同端口配置
  d > 禁止列表网站的目录结构(危险)
  e > 日志轮询配置 基于cronlog插件
  f > httpd.conf扩展配置
  g > 启动FQDN问题
  h > 隐藏apache版本 运行操作系统等信息
  

  A.基于域名配置虚拟网站
  1.先要打开apache扩展相关配置 把前面的 # 去掉
DSC0000.png

  2.编辑/application/apache/conf/extra/httpd-vhosts.conf
[root@oldboyLinux extra]# pwd
/application/apache/conf/extra
[root@oldboyLinux extra]# vim httpd-vhosts.conf  3.在httpd-vhosts.conf把内容修改成以下这样
NameVirtualHost *:80

    ServerAdmin 771541213@qq.com
    DocumentRoot "/var/html/zsphp"
    ServerName www.zsphp.com
    ServerAlias zsphp.com
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common
  4.在主配置文件httpd-conf里面新增一个节点权限配置 针对 /var/html/
  如果不对目录进行配置访问相应权限 可能会报403错误信息


        Options FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
  5.配置本地hosts解析 进入测试连接....
127.0.0.1    oldboyLinux
::1          oldboyLinux
172.16.30.10 www.zsphp.com  6.利用curl模拟请求一下
[root@oldboyLinux conf]# curl -I www.zsphp.com
HTTP/1.1 200 OK
Date: Sun, 08 May 2016 01:51:13 GMT
Server: Apache/2.2.31 (Unix) DAV/2
Last-Modified: Sun, 08 May 2016 01:05:01 GMT
ETag: "bf574-e-5324a4809509e"
Accept-Ranges: bytes
Content-Length: 14
Content-Type: text/html  现在你可以利用浏览器进行访问 不过也要配置一下本地 hosts解析到这台服务器
  如果不能访问  请关闭防火墙和SELinux
  

  

  

  B.基于IP地址进行配置相关不同主机
  1.给服务器新增不同的IP地址
  以下只是在命令行临时生效 重起网卡就失效了....
[root@oldboyLinux ~]# ifconfig eth0:1 172.16.30.11/16
[root@oldboyLinux ~]# ifconfig eth0:2 172.16.30.12/16
[root@oldboyLinux ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:3E:D0:64  
          inet addr:172.16.30.10  Bcast:172.16.255.255  Mask:255.255.0.0
          inet6 addr: fe80::20c:29ff:fe3e:d064/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:17823 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12887 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:14481492 (13.8 MiB)  TX bytes:1799771 (1.7 MiB)
eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:3E:D0:64  
          inet addr:172.16.30.11  Bcast:172.16.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
eth0:2    Link encap:Ethernet  HWaddr 00:0C:29:3E:D0:64  
          inet addr:172.16.30.12  Bcast:172.16.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:103 errors:0 dropped:0 overruns:0 frame:0
          TX packets:103 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:8780 (8.5 KiB)  TX bytes:8780 (8.5 KiB)  删除多余网卡命令
[root@oldboyLinux ~]# ip addr del 172.16.30.11 dev eth0  2.编辑 httpd-vhosts.conf
  NameVirtualHost 名称虚拟主机
  基于IP地址配置 要把 #NameVirtualHost *:80 注释或者删除掉

    ServerAdmin 771541213@qq.com
    DocumentRoot "/var/html/web11"
    ServerName 172.16.30.11
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common


    ServerAdmin 771541213@qq.com
    DocumentRoot "/var/html/web12"
    ServerName 172.16.30.12
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common
  

  3.重起apache服务
[root@oldboyLinux extra]# /application/apache2.2.27/bin/apachectl graceful  4.利用curl请求 172.16.30.11 172.16.30.12
[root@oldboyLinux extra]# curl 172.16.30.11
172.16.30.11
[root@oldboyLinux extra]# curl 172.16.30.12
172.16.30.12  

  C.基于不同访问端口进行访问
  1.编辑主配置文件 vim httpd.conf 在主配置文件里面添加 两个监听端口
[root@oldboyLinux conf]# pwd
/application/apache/conf
[root@oldboyLinux conf]# vim httpd.conf#Listen 12.34.56.78:80
Listen 80
Listen 8080
Listen 8090  2.编辑扩展配置文件 httpd-vhosts.conf
NameVirtualHost *:80
NameVirtualHost *:8080
NameVirtualHost *:8090

    ServerAdmin 771541213@qq.com
    DocumentRoot "/var/html/zsphp"
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common


    ServerAdmin 771541213@qq.com
    DocumentRoot "/var/html/web12"
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common


    ServerAdmin 771541213@qq.com
    DocumentRoot "/var/html/web12"
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common
  3.保存 重起 apache服务
[root@oldboyLinux extra]# /application/apache2.2.27/bin/apachectl graceful  4.利用curl模拟请求 127.0.0.1  127.0.0.1:8080  127.0.0.1:8090
[root@oldboyLinux extra]# curl 127.0.0.1
www.zsphp.com
[root@oldboyLinux extra]# curl 127.0.0.1:8080
172.16.30.11
[root@oldboyLinux extra]# curl 127.0.0.1:8090
172.16.30.12  

  

  D.禁止服务器列表网站的目录结构 注意此行为比较危险 务必要关闭
  如果网站没有默认文件的话 apache会帮你列表出所有目录结构和文件
  此时网站有很大危险 全部暴露给***查看.....
DSC0001.png

  解决它吧!!!!!!!!!!!  骚年
  编辑主配置文件
[root@oldboyLinux ~]# vim /application/apache2.2.27/conf/httpd.conf
DSC0002.png

  


    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
  

  

  E.切割apache日志,软询日志
  apache的配置在默认情况下 都是把所有的请求日志存放到 logs/access_log里面
  极大不方便运维人员查看 分析网站的运行情况
  现在我们按每一天来存放日志 一天一个日志文件
  借助于插件 cronolog
  

  1.下载cronolog日志插件
  官方地址:http://cronolog.org/download/cronolog-1.6.2.tar.gz 有时候不能下载
  其它地址:http://down1.chinaunix.net/distfiles/cronolog-1.6.2.tar.gz
[root@oldboyLinux tools]# wget http://down1.chinaunix.net/distfiles/cronolog-1.6.2.tar.gz
--2016-05-08 14:38:55--  http://down1.chinaunix.net/distfiles/cronolog-1.6.2.tar.gz
Resolving down1.chinaunix.net... 61.55.167.132  2.解压 编译 安装 cronolog软件
[root@oldboyLinux tools]# tar xf cronolog-1.6.2.tar.gz[root@oldboyLinux tools]# cd cronolog-1.6.2
[root@oldboyLinux cronolog-1.6.2]# ./configure[root@oldboyLinux cronolog-1.6.2]# pwd
/root/tools/cronolog-1.6.2
[root@oldboyLinux cronolog-1.6.2]# make && make install[root@oldboyLinux ~]# whereis -b cronolog
cronolog: /usr/local/sbin/cronolog
[root@oldboyLinux ~]# which cronolog
/usr/local/sbin/cronolog  3.创建每一个虚拟主机日志存放目录
  以zsphp这个网站为例
  我们就到这里来创建一个目录专门用来存放 zsphp 这个网站的访问日志
  /application/logs/zsphp
[root@oldboyLinux ~]# mkdir -p /application/logs/zsphp  4.自定义配置日志 编辑扩展配置文件 httpd-vhosts.conf

    ServerAdmin 771541213@qq.com
    DocumentRoot "/var/html/www"
    ServerName www.zsphp.com
    ErrorLog "logs/dummy-host.example.com-error_log"
    #CustomLog "logs/dummy-host.example.com-access_log" common
    CustomLog "|/usr/local/sbin/cronolog /application/logs/zsphp/access_%Y_%m_%d.log" combined
  5.检查 监控
[root@oldboyLinux zsphp]# pwd
/application/logs/zsphp
[root@oldboyLinux zsphp]# ll
total 4
-rw-r--r--. 1 root root 185 May  8 14:50 access_2016_05_08.log
[root@oldboyLinux zsphp]# tail -f access_2016_05_08.log
172.16.10.117 - - [08/May/2016:14:50:58 +0800] "GET / HTTP/1.1" 304....  F.httpd.conf扩展配置
  如果我们要启用扩展配置文件
  我们就要在主配置文件里面打开相对应的设置
  假如现在 我要自定义配置网站 httpd-vhosts.conf
  假如现在 我要引入 httpd-default.conf 配置
  假如现在 我要引入 httpd-mpm.conf 配置
  解决方案是:修改主配置文件 httpd.conf 就可以了
  把前面 # 去掉就可以成功引入扩展配置
DSC0003.png

  

  

  G.启动FQDN问题 (开启 重新启动 停止运行) 都是遇见它
[root@oldboyLinux apache2.2.27]# apachectl restart
..the server's fully qualified domain name, using ::1 for ServerName
[root@oldboyLinux apache2.2.27]# apachectl stop
..the server's fully qualified domain name, using ::1 for ServerName
[root@oldboyLinux apache2.2.27]# apachectl start
..the server's fully qualified domain name, using ::1 for ServerName  

  解决方案 vi httpd.conf  保存 重新启动就不会有了.....
DSC0004.png

  

  

  

  H.隐藏apache版本 运行操作系统等信息
[root@oldboyLinux conf]# curl -I 127.0.0.1
HTTP/1.1 200 OK
Date: Sun, 08 May 2016 07:08:54 GMT
Server: Apache/2.2.31 (Unix) DAV/2   
Last-Modified: Sun, 08 May 2016 06:17:10 GMT
ETag: "bf57a-6-5324ea45e177d"
Accept-Ranges: bytes
Content-Length: 6
Content-Type: text/html  从上面服务器作出响应的结果中 我们可以看服务器是使用 apache做来服务器软件
  版本是:2.2.31 操作系统是 Unix
  这个时候 我们要优化 让别人看到你们的是其它的信息 如 tomcat IIS 等信息
  如何来做........

  

  第一种方法:在下载 httpd-2.2.31.tar.gz 这个软件的时候  修改里面的源代码
[root@oldboyLinux include]# pwd
/root/tools/httpd-2.2.31/include
[root@oldboyLinux include]# vim ap_release.h
DSC0005.png

  

  编辑另一个文件 os.h
[root@oldboyLinux unix]# pwd
/root/tools/httpd-2.2.31/os/unix
[root@oldboyLinux unix]# vim os.h
DSC0006.png

[root@oldboyLinux ~]# curl -I 127.0.0.1
HTTP/1.1 200 OK
Date: Sun, 08 May 2016 07:56:51 GMT
Server: IIS/8.0.0 (Microsoft) DAV/2
Last-Modified: Sat, 20 Nov 2004 20:16:24 GMT
ETag: "1ff10-2c-3e9564c23b600"
Accept-Ranges: bytes
Content-Length: 44
Content-Type: text/html  第二种方法:是成功安装了 但是想隐藏相关信息
  编辑扩展:vim httpd-default.conf
DSC0007.png

  

  将 httpd-default.conf 加入主配置文件里面
  





运维网声明 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-637146-1-1.html 上篇帖子: PHP7 + Apache2.4 + MySQL 5.7 + Windows7 下篇帖子: Linux下apache安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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