Apache相关配置
上一篇文章 我们记录了 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扩展相关配置 把前面的 # 去掉
2.编辑/application/apache/conf/extra/httpd-vhosts.conf
# pwd
/application/apache/conf/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模拟请求一下
# 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地址
以下只是在命令行临时生效 重起网卡就失效了....
# ifconfig eth0:1 172.16.30.11/16
# ifconfig eth0:2 172.16.30.12/16
# ifconfig
eth0 Link encap:EthernetHWaddr 00:0C:29:3E:D0:64
inet addr:172.16.30.10Bcast:172.16.255.255Mask:255.255.0.0
inet6 addr: fe80::20c:29ff:fe3e:d064/64 Scope:Link
UP BROADCAST RUNNING MULTICASTMTU:1500Metric: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:EthernetHWaddr 00:0C:29:3E:D0:64
inet addr:172.16.30.11Bcast:172.16.255.255Mask:255.255.0.0
UP BROADCAST RUNNING MULTICASTMTU:1500Metric:1
eth0:2 Link encap:EthernetHWaddr 00:0C:29:3E:D0:64
inet addr:172.16.30.12Bcast:172.16.255.255Mask:255.255.0.0
UP BROADCAST RUNNING MULTICASTMTU:1500Metric:1
lo Link encap:Local Loopback
inet addr:127.0.0.1Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNINGMTU:16436Metric: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) 删除多余网卡命令
# 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服务
# /application/apache2.2.27/bin/apachectl graceful 4.利用curl请求 172.16.30.11 172.16.30.12
# curl 172.16.30.11
172.16.30.11
# curl 172.16.30.12
172.16.30.12
C.基于不同访问端口进行访问
1.编辑主配置文件 vim httpd.conf 在主配置文件里面添加 两个监听端口
# pwd
/application/apache/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服务
# /application/apache2.2.27/bin/apachectl graceful 4.利用curl模拟请求 127.0.0.1127.0.0.1:8080127.0.0.1:8090
# curl 127.0.0.1
www.zsphp.com
# curl 127.0.0.1:8080
172.16.30.11
# curl 127.0.0.1:8090
172.16.30.12
D.禁止服务器列表网站的目录结构 注意此行为比较危险 务必要关闭
如果网站没有默认文件的话 apache会帮你列表出所有目录结构和文件
此时网站有很大危险 全部暴露给***查看.....
解决它吧!!!!!!!!!!!骚年
编辑主配置文件
# vim /application/apache2.2.27/conf/httpd.conf
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
# 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软件
# tar xf cronolog-1.6.2.tar.gz# cd cronolog-1.6.2
# ./configure# pwd
/root/tools/cronolog-1.6.2
# make && make install# whereis -b cronolog
cronolog: /usr/local/sbin/cronolog
# which cronolog
/usr/local/sbin/cronolog 3.创建每一个虚拟主机日志存放目录
以zsphp这个网站为例
我们就到这里来创建一个目录专门用来存放 zsphp 这个网站的访问日志
/application/logs/zsphp
# 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.检查 监控
# pwd
/application/logs/zsphp
# ll
total 4
-rw-r--r--. 1 root root 185 May8 14:50 access_2016_05_08.log
# tail -f access_2016_05_08.log
172.16.10.117 - - "GET / HTTP/1.1" 304.... F.httpd.conf扩展配置
如果我们要启用扩展配置文件
我们就要在主配置文件里面打开相对应的设置
假如现在 我要自定义配置网站 httpd-vhosts.conf
假如现在 我要引入 httpd-default.conf 配置
假如现在 我要引入 httpd-mpm.conf 配置
解决方案是:修改主配置文件 httpd.conf 就可以了
把前面 # 去掉就可以成功引入扩展配置
G.启动FQDN问题 (开启 重新启动 停止运行) 都是遇见它
# apachectl restart
..the server's fully qualified domain name, using ::1 for ServerName
# apachectl stop
..the server's fully qualified domain name, using ::1 for ServerName
# apachectl start
..the server's fully qualified domain name, using ::1 for ServerName
解决方案 vi httpd.conf保存 重新启动就不会有了.....
H.隐藏apache版本 运行操作系统等信息
# 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 这个软件的时候修改里面的源代码
# pwd
/root/tools/httpd-2.2.31/include
# vim ap_release.h
编辑另一个文件 os.h
# pwd
/root/tools/httpd-2.2.31/os/unix
# vim os.h
# 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
将 httpd-default.conf 加入主配置文件里面
页:
[1]