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

[经验分享] CentOS 5.6 下apache2.2.19 安装及配置

[复制链接]

尚未签到

发表于 2018-11-25 15:34:42 | 显示全部楼层 |阅读模式
1.     系统环境

① centos版本:5.5

命令:cat /etc/redhat-release

② linux内核版本: 2.6.18-238.el5

命令:uname -a



2.     适应范围:源码编译,手工安装。



3.     安装apache版本:2.2.19

① 下载apache(http://httpd.apache.org/download.cgi#apache22)

http://labs.renren.com/apache-mirror//httpd/httpd-2.2.19.tar.gz

② 上传到指定目录(例如:/Uploadfile)

③ 切换到指定目录cd /Uploadfile

④ 解压文件 tar –zxvf httpd-2.2.19.tar.gz

⑤ 进入解压包目录 cd httpd-2.2.19

⑥配置./configure --prefix=/usr/local/webservers/apache  

--enable-cgi --enable-rewrite --enable-so --enable-ssl --enable-mods-shared=most

参数说明:

--enable-mods-shared=most

动态加载模块(文章最后有说明),告诉编译器将所有标准模块都动态编译为DSO模块。

(--enable-mods-shared=all意思是动态加载所有模块,如果去掉-shared话,是静态加载所有模块。)

--prefix 指定程序安装的路径

--enable-cgi  启用CGI scripts支持

--enable-rewrite 支持地址重写功能

--enable-so  用来提供DSO支持的apache核心模块

--enable-ssl 启用SSL/TLS support (mod_ssl)支持

⑦ 编译 make

⑧ 安装 make install

⑨ 配置apache(httpd.conf)

1)     文档根目录 DocumentRoot "/usr/local/webservers/htdocs"

2)     去掉目录浏览权限

       Options FollowSymLinks

3)     日志配置

#每24个小时(86400)生成一个错误日志

ErrorLog "|/usr/sbin/rotatelogs   /usr/local/webservers/apache/logs/error-%Y-%m-%d.log 86400 480"

#每24个小时(86400)生成一个访问日志

CustomLog "|/usr/sbin/rotatelogs /usr/local/webservers/apache/logs/access-%Y-%m-%d.log 86400 480" common

⑩ 启动apache /usr/local/webservers/apache/bin/apachectl -k start

(这里为什么不是service httpd start,因为我们是手动安装apache,而service 是机器服务控制命令
,如果是用rpm包安装,应该需要使用service httpd start,这个本人没有求证过,大家可以试试)



【安全问题】


     Options Indexes FollowSymLinks
     AllowOverride None
     Order allow,deny
     Allow from all

当目录里面没有index.html文件时  默认会将/downloadfile/MexFile目录列出来
修改 Options Indexes FollowSymLinks ,将 Indexes 参数去掉



【指定目录日志记录】

使用模块 SetEnvIf
vi httpd.conf

找到 LoadModule 的地方 在下面添加
LoadModule setenvif_module modules/mod_setenvif.so
然后找到日志格式设置的地方

LogFormat下面添加

SetEnvIf Request_URI "^/MexFile/.*$" ok

这句说明:只记录对MexFile目录下面的访问日志,其他路径下面的访问不会被记录日志

然后在CustomLog 最后加上  env=ok

CustomLog "logs/access_log" common  env=ok



【按天生成日志】

编辑配置文件

vi httpd.conf

找到

CustomLog "logs/access_log" common env=log

添加

CustomLog "|/usr/local/apache/bin/rotatelogs /日志路径/日志名.%Y%m%d 28800 480"

重启apache即可



【说明】:

--enable-mods-shared=most

这句是表示动态加载的,模块加载分为动态和静态



静态

在使用./configure编译的时候,如果不指定某个模块为动态,即没有使用:

enable-mods-shared=module或者enable-module=shared这个2个中的一个,那么所有的默认模块为静态。那么何谓静态?其实就是编译的时候所有的模块自己编译进httpd这个文件中(我们启动可以使用这个执行文件,如:./httpd &),启动的时候这些模块就已经加载进来了,也就是可以使用了,通常为: 来配置。所以大家看到的配置都是 ,很显然,module.c这个东西已经存在httpd这个文件中了。

动态:

就是编译的时候,使用enable-module=shared或者enable-modules-shared=module来动态编译。那么什么是动态?静态是直接编译进httpd中,那么动态显然就不编译进去了,也就是你启动的时候根本不会加载这个模块,而是给你一个module.so文件,你一定要使用loadmodule这个语法来加载,这个模块才有效。



那么区别就出来了:静态的模块通常是来配置,动态使用loadmoule来加载,然后再配置。



运维网声明 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-639525-1-1.html 上篇帖子: ubuntu完全删除apache2 下篇帖子: Linux——apache http server 访问不区分大小写
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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