Apache Server学习笔记

来源:互联网 发布:东北农业大学网络管理 编辑:程序博客网 时间:2024/06/03 14:37

缘起

Web应用程序总是离不开web服务器的,恰好自己安装并配置过Apache,从图书馆借了本加强一下相关的知识。

正文

Apache服务器,模块化结构,核心组件内核小,具体功能由模块提供。

NCSAhttpdwww.apache.org.

服务器系统:LinuxBSDSolaris

1. 配置

1./etc/rcx.d/ (x代表的是运行级别runlevel)

2./etc/inetd.conf 文件处理网络上的数据流

3./etc/services定义了操作系统中运行的所有服务

4.Apache配置文件:/etc/apache2/apache2

2. 安装

二进制安装包中进行了通用的配置,源代码安装可以获得巨大的灵活性和完全的配置能力。

二进制安装:sudo apt-get install apache2

源代码安装: ./configure--make--make install

源代码安装的configure中涉及三类命令:生成的文件(file),规则(rule),模块(mod)

3. 异构网络

windows&Unix (Samba,www.samba.org), Mac OS & Unix (netatalk,www.umich.edu/~rsug/netatalk), Unix系统之间(NFS)

4. Apache模块

Apache模块:http://modules.apache.org

Apache默认安装的模块足以应付大多数的请求,但依然存在一些特例。

4.1. Apache 模块的工作方式

Apache中除了以标准方式执行HTTPApache处理错误的方式以外,其他的功能都是嵌入到独立模块中,可拆卸的。

Core模块:Corempm_thread_module,mpm_winnt,perchild,prefork

其他模块详细参考http://modules.apache.org,值得注意的是:mod_perl这种嵌入web服务器的解释器。

5. Apache管理

控制方式:1.直接命令控制 2.apachectl(start,stop, option) 3.系统引导时:System V UnitLinuxSun Unix,运行级别概念,init进程)和BSD方式。

Red Hat Linux UPS管理工具。

Web站点的文件和文档组织和结构的文件系统设置。

Apache 日志:mod_log_config模块,access_logerror_log和状态报告,Common Log FormatCLF,日志文件Apachelogs目录。日志文件是有apache2.confhttpd.conf配置。

access_log的语法规则:host(请求浏览器的IP地址) ident(启动身份核查时表示IdentityCheck) authuser(请求的有效用户名) date(请求日志和时间) request(实际请求) statusHTTP状态码) bytes(返回给客户浏览器的文件大小)

5.1. 磁盘管理

Unix中创建分区分离管理文件,系统文件和用户文件。好习惯:将服务器放在单独的分区上。Linux中的分区程序: cfdisk。文件系统管理命令:cd,mv,cp,rm,mkdir,

文件权限的问题:Unix权限管理:chmod,chown

5.2. 性能调节

精简配置文件:highperformance.conf将不需要的配置删除(减少解析负载)

去掉不必要的模块,负载均衡,利用cookie跟踪站点使用情况

6. 高级主题

6.1. MIME

集成多种类型数据的软件(字处理软件),将不同类型的数据(type)关联不同类型的处理器(handler)。Multimedia E-Mail Extensions(MIME)

常见的MIME类型有text,multipart,message,application,image,audio,video,这些类型又存在各种子类型,大多数MIME类型根据文件扩展名来识别,Apache中相关的模块;mod_minemod_mine_magic

6.2. CGI

动态web页面推动web的急速发展。CGI是;浏览器和web服务器之间的接口。ApacheCGI相关的模块(mod_actions,mod_cgi,mod_cgid,mod_env),编译器或解释器的选择。一些CGI脚本站点:

http://www.worldwidemart.com/scripts Matt脚本存档

www.cgi-resources.com 

www.scriptsearch.com 最大的脚本存档,CGIshell和其他类型的。

HTML页面,表单form的属性:actionmethodenctypetargetinput。请求方法:GETPOST

数据库;平面数据库,关系数据库和文档数据库。

6.3. 图像映射

视觉效果越来越重要,图像导航。mod_imap模块

6.4. CSSSSI

SSI:普通HTML和成熟CGI的中间站

CSS:设计者使用的技巧,用来组织一组网页的视觉外观。

6.5. 安全性

安全性,可访问性,可用性,资源(连接盗窃,数据盗窃,破坏行为)

安全管理软件:入侵检测(Advanced Intrusion Detection EnvironmentAIDEwtop命令,以及查看日志文件),端口扫描(专有程序向特定IP地址发送数据包,搜索portscan寻找相关软件,PortSentry)

类似保险,网络安全既是赌博又是保护。CrsfDosSQL注入。最容易出现问题的地方:开放的端口,知名用途的软件,不常使用的服务器,恶意用户。

受到攻击后的处理:1.离线 2.备份 3.通知他人 4.阅读日志log 5.查找后门(探测器,修改的二进制文件[login,su,telent,ls,find,ftp,df,libc]ID程序[setuidsetgid]

安全套接层(SSL)是一种可以网络上建立安全连接的协议,处于HTTPTCP协议之间,可以对所有类型的HTTP数据进行加密。OpenSSLmod_sslApacheSSL

加密算法:RC2RC4RSADES3DESDSS

SSL完全符合TCP协议要求,TCP 具有自己的TCP APIhttps://

防火墙和代理

7. 网络资源

Web站点:

Apache相关:www.apache.org www.w3c.org www.apacheweek.com

特殊项目www.apache-ssl.org perl.apache.org jakarta.apache.org gui.apache.org

技术情报www.slashdot.org 

安全信息www.cert.org

新闻组:comp.infosystem.www.servers.*

Apache项目的网站的URL模式:projectname.apache.org

后记

上面,大体浏览并记录了参考1中的部分内容。还有其他的书要看完,然后归还给图书馆。

昨天,去一家公司面试,了解到他们使用Nginx作为web服务器,有空学习一下Nginx

参考文献

1. Apache Server 2.0 实用指南,Kate Wrightson 著,常晓波等译

0 0