linux系统下Web服务配置管理PPT课件_第1页
linux系统下Web服务配置管理PPT课件_第2页
linux系统下Web服务配置管理PPT课件_第3页
linux系统下Web服务配置管理PPT课件_第4页
linux系统下Web服务配置管理PPT课件_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,第14章 Web服务配置管理,1,主要内容,1,Apache服务器安装,Apache服务器的配置,3,配置虚拟主机及实现代理,4,实现动态站点,5,访问控制与安全,2,1,14.1Apache服务器简介,1.全球50%以上的Web服务器都使用Apache,Apache仍然是全球使用最多的Web服务器 2. Apache目前已经到了2.0版,它的功能是非常强大的,它的主要特征包括: 1)可以运行在几乎所有的平台 2)支持最新的HTTP 1.1协议 3)支持通用网关接口CGI . 10)支持个人网站的快速建立,1,14.2安装Apache服务器,1.利用安装盘提供的软件包安装 #rpm -qa

2、 |grep httpd /检查是否安装了httpd软件包 #mount /dev/cdrom /mnt/cdrom #cd /mnt/cdrom/Red Hat/RPMS #rpm -ivh http* /安 装http所有相关的软件包,1,2.使用下载软件包安装 1)登陆http:/www.A下载相应包 2)安装下载的软件包 #rpm -ivh Apache-2.0.53.rpm,1,3.编译安装Apache 1)可以在www.A上下载Apache的最新 源代码软件包 2)解压并编译 #tar zxvf httpd-2.0.53.tar.gz /解压源码

3、包 #cd httpd-2.0.53 /进入源码路径 #./configure /配置源码包,这里是默认配置 #make /编译源码 #make install /安装httpd,默认位置为 /usr/local/Apache2,1,14.3Apache配置文件,1.配置文件简介 1)获取默认配置文件并输出到http.txt中 grep -v“#” /etc/httpd/conf/httpd.conf| grep -v “#” httpd.txt 2)主要参数 (1)当服务器响应主机时,显示Apache的版本和操作系统名称 ServerTokens OS (2)设置服务器的根目录 Server

4、Root /etc/httpd,1,(3)设置运行服务器的进程文件的路径 PidFile run/httpd.pid (4)设置连接超时 Timeout 300 (5)开启保持连接功能,http1.1支持 KeepAlive Off (6)相邻连接之间的间隔 KeepAliveTimeout 15,1,3)使用perfork MPM运行方式的配置参数,是RHEL默认的运行方式 StartServers 8 #服务器启动时的进程数 MinSpareServers 5 #最少空进程 MaxSpareServers 20 #最多空进程,提高性能 MaxClients 150 #限制同一时刻的连接数

5、MaxRequestsPerChild 1000 #子进程结束前能处理的连接数 ,1,4)设置使用worker MPM运行方式的参数,含义同上 StartServers 2 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 ,1,5)设置服务器的所有监听端口,当有多个时要分别写出,每个一行 例如: Listen :80,1,6)设置需要动态加载的模块(DSO) LoadModule access_module modules/mod_acces

6、s.so LoadModule auth_module modules/mod_auth.so LoadModule auth_anon_module modules/mod_auth_anon.so LoadModule auth_dbm_module modules/mod_auth_dbm.so .,1,7)包含/etc/httpd/conf.d/中的所有文件 例如: Include conf.d/*.conf 8)设置运行服务器的用户和组 例如: User Apache Group Apache 9)设置服务器管理员的邮件地址 ServerAdmin rootlocalhost,1,1

7、0)设置服务器的主机名及端口 ServerName :80 UseCanonicalName Off 11)设置根文档路径 DocumentRoot /var/www/html,1,12)设置服务器根的访问权限 Directory / Options FollowSymLinks #允许符号连接,访问不在本目录下的文件 AllowOverride None #禁止读取.htaccess文件的内容 ,1,13)设置根文档目录的权限 Options Indexes FollowSymLinks #允许符号连接 AllowOverride None #禁止读取.htaccess文件 Order al

8、low , deny #先执行allow,再执行deny Allow from all #允许来自外部的所有访问 ,1,14)是否允许每用户站点的服务器配置 UserDir disable #注释(左侧添加#)该行启用用户站点 UserDir public_html #用户站点目录为用户主目录下的public_html ,1,15)设置默认主页,按顺序查找 DirectoryIndex index.html default.htm default.php index.html.var 16)指定保护目录配置的文件名 AccessFileName .htaccess 17)拒绝访问以.ht开头的

9、所有文件 Order allow , deny Denyfromall ,1,19)指定负责处理MIMI文件类型的配置文件 TypesConfig /etc/mime.types 20)指定默认的MIMI类型为纯文本或HTML DefaultType text/plain 21)当模块mod_mime_magic.c加载时,指定Magic配置文件位置 MIMEMagicFile conf/magic ,1,22)设置只记录连接服务器的IP地址,而不记录主机名 HostnameLookups Off 23)指定错误日志存放位置 ErrorLog logs/error_log 24)指定错误日志的

10、登记为warn LogLevel warn,1,25)定义四种日志格式 LogFormat %h %l %u %t %r %s %b %Refereri %User-Agenti combined LogFormat %h %l %u %t %r %s %b common LogFormat %RefererI - %U referer LogFormat %User-agenti agent,1,26)指定访问日志格式为混合格式,并指定日志存放位置 CustomLog logs/access_log combined 27)服务器签名,Apache自己使用 ServerSignature O

11、n 28)设置内容目录的访问别名,相当于IIS的虚拟目录 Alias /icons/ /var/www/icons/“,1,29)设置/var/www/icons的访问权限 Options Indexes MultiViews AllowOverride None Order allow , deny Allow from all ,1,30)设置Apache手册的访问别名和目录权限 Alias /manual /var/www/manual Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,den

12、y Allow from all ,1,31)指定枷锁数据库文件的存放位置 DAVLockDB /var/lib/dav/lockdb 32)设置CGI目录的访问别名,这个对支持CGI的站点很重要 ScriptAlias /cgi-bin/ /var/www/cgi-bin/,1,33)设置CGI目录的访问权限 AllowOverride None Options None Order allow,deny Allow from all ,1,34)配置识别不同类型的文件,并设置相应的图标 AddIconByEncoding (CMP,/icons/compressed.gif) x-comp

13、ress x-gzip AddIconByType (TXT,/icons/text.gif) text/* AddIconByType (IMG,/icons/image2.gif) image/* AddIconByType (SND,/icons/sound2.gif) audio/* AddIconByType (VID,/icons/movie.gif) video/* .,1,35)无法识别的文件的默认图标 DefaultIcon /icons/unknown.gif 36)服务器自动列出目录时,在生成的页面后显示README.HTM, HEAD.HTM文件的内容 ReadmeNa

14、me README.html HeaderName HEADER.html 37显示在线浏览时,可以实时解压的文件类型 AddEncoding x-compress Z AddEncoding x-gzip gz tgz,1,38)设置网页支持的语言种类,中文网页这些无效 AddLanguage da .dk AddLanguage nl .nl AddLanguage en .en AddLanguage et .et 39)当没有语言匹配时候使用的默认项 ForceLanguagePriority Prefer Fallback,1,40)设置默认字符集,为了支持中文,可以设置为ISO-2

15、022-CN或GB2312 AddDefaultCharset UTF-8 41)添加新的MIME类型,避免用户编辑/etc/mime.types AddType application/x-tar .tgz 42)设置Apache对某些扩展名的处理方式 AddHandler imap-file map AddHandler type-map var,1,43)使用过滤器执行SSI AddOutputFilter INCLUDES .shtml 44)设置错误页面的目录位置 Alias /error/ /var/www/error/ 45)添加mod_negotation.c模块 46)设置浏

16、览器匹配项目 BrowserMatch WebDrive redirect-carefully BrowserMatch WebDAVFS/1.012 redirect-carefully BrowserMatch gnome-vfs redirect-carefully ,1,47)设置基于主机名的虚拟站点IP NameVirtualHost *:80 48)一个基本的站点配置 ServerAdmin Webmaster #管理员邮件 DocumentRoot /var/www/html/ #站点的根 ServerName #站点主机名 ErrorLog logs/.log #错误日志名 ,

17、1,49)重要的配置信息 Apache的配置文件为/etc/httpd/conf/httpd.conf 服务器工作的根目录为/etc/httpd 默认网站的根目录为/var/www/html 用户的访问日志为/var/log/httpd/access_log 错误日志文件为/var/log/httpd/error_log 运行Apache的用户和组分别是Apache和Apache 服务器的默认端口为80 动态加载模块的存放路径为/usr/lib/httpd/modules,1,2.主要配置选项说明 1) Server Admin命令 功能:用来设置Web管理员的E-mail地址 例如 Serv

18、er Admin Webmaster 2) ErrorLog命令 功能:用来指定错误记录文件名称和路径 例如 ErrorLog /var/httpd/error.log 3) Timeout命令 功能:设定连接超时 例如 Timeout 120,1,4) ServerRoot命令 功能:指定在何处保存服务器的配置、错误及日志文件 例如 ServerRoot /etc/httpd 5) ServerName命令 功能:它配置服务器的Internet主机名 例如 ServerName 6) DocumentRoot命令 功能:用来指定一个网站存放的目录 例如 DocumentRoot /home/

19、httpd/html,1,7) UserDir命令 功能:用来指定个人主页的位置 例如 UserDir Public_html 8) DirectoryIndex命令 功能:用来声明首页文件名称 例如 DirecotryIndex index.html index.htm index.php index.jsp,1,9) ScriptAlias命令 功能:为脚本程序目录起个别名 例如 ScriptAlias /cgi-bin/ /home/httpd/cgi-bin 10) Option命令 功能: 一些开关设置 主要开关如下:,1,All:准许以下所有功能(MultiViews除外) Mul

20、tiViews:准许内容协商的Multiviews Indexes:若该目录下无index文件,则列表目录内容,可建立下载站 IncludesNOEXEC:准许SSI(Server-side Includes),但使用#exec和#include功能 Includes:准许SSI FollowSymLinks:准许符号链接 ExecCGI:准许该目录下可以使用CGI,1,11) AllowOverride命令 功能:它是用来决定是否准许设定的权限可以被目录下的“.htaccess”文件中设定的权限覆盖。它有两个参数:All 准许覆盖;None 不准许覆盖。 12) Order命令 功能:用来设

21、定访问控制的优先顺序。如Orderallowdeny表示允许优先,默认是允许的 。,1,14.3默认站点配置,安装好Apache后,Apache已经为我们配置好了默认的站点,只是这个站点下没有任何文件,所以当我们启动httpd服务器之后,看到的仍然是错误页面,我们还需要做如下配置: 1.复制网站内容到/var/www/html下 # cp somewhere /var/www/html 2.修改复制文件的权限让Apache组有读和执行的权限 # chmod 755 -R /var/www/html/*,1,3.修改配置文件/etc/httpd/conf/httpd.conf,设置中文支持 1)

22、 找到/etc/httpd/conf/httpd.conf中的 AddDefaultCharset行,将其修改为: AddDefaultCharset GB2312 2)找到DefaultLanguage行,并去掉左侧的注释,修改为: DefaultLanguage zh-CN,1,4)重新启动服务器 # service httpd restart 5)测试默认站点 进入浏览器,地址栏中输入http:/,这里的是Web服务器的IP地址,请读者测试的时候将其修改为测试服务器的IP。登录后,我们就可以看到默认站点的内容了,1,1,14.4 配置虚拟主机,1.

23、基本知识 1)虚拟主机服务就是指将一台机器虚拟成多台Web服务器 2) Apache设置虚拟主机服务通常有两种方案 基于IP地址的虚拟主机 基于域名的虚拟主机,1,2.配置基于IP地址的虚拟主机 这种方式需要在机器上设置IP别名,也就是在一台机器的网卡上绑定多个IP地址从而为多个虚拟主机服务,具体配置如下: 1)给主机配置多个IP #cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:1 #vi /etc/sysconfig/network-scripts/ifcfg-et

24、h0:1,1,2)重新启动网络 # service network restart 使用如下的命令检查新添加的IP地址是否已经起作用: # ifconfig|grep Mask 使用如下两个命令测试两个IP是否正常工作 # ping #ping 1,1,3)在/etc/httpd/conf/httpd.conf末尾添加配置 ServerAdmin Webmaster DocumentRoot /var/ ServerName ErrorLog logs/.log ,1, ServerAdmin Webmaster DocumentRoot /var/

25、ServerName ErrorLog logs/.log ,1,4)建立两个站点的目录 # mkdir /var/ #mkdir /var/ 5)复制站点内容 # cp path1 /var/ /path1为第1个站点内容源路径 #cp path2 /var/ /path2为第2个站点内容源路径,1,6)设置文件权限 #chmod 755 -R /var/ #chmod 755 -R /var/ 7)重启httpd服务 #service httpd restart,1,1,3.基于名字的虚拟主机 用同一IP地址的多个不同域名来区分每个站点。这样,就可在一个服器上架构多个“独立”的站点,而不需

26、要额外的开支,具体实现如下: 1)给一个IP建立多个域名 这里假设已经实现了2解析为和,不清楚的读者可以参看前面的DNS配置,1,2)修改配置文件建立虚拟主机 NameVirtualHost 2 ServerAdmin Webmaster DocumentRoot /var/www/site1 ServerName ErrorLog logs/site1.log ,1, ServerAdmin Webmaster DocumentRoot /var/www/site2 ServerName ErrorLoglogs /site2.log ,1,3)建立站

27、点目录配置权限 #mkdir /var/www/site1 #mkdir /var/www/site2 复制文件到各个目录下(略)。复制完后执行如下命令,修改权限: #cp path1 /var/www/site1 #cp path2 /var/www/site2 #chmod 755 -R /var/www/site1/* #chmod 755 -R /var/www/site2/*,1,4)重新启动httpd服务器 #service httpd restart,1,14.5实现个人站点,Apache中专门设置了支持本地用户建立站点的选项,只要打开选项,用户就可以将自己的站点文件放置在指定的

28、目录下,具体操作如下: 1.添加用户的本地帐号 #useradd stux /添加用户帐号,创建了/home/stux目录 #passwd stux /修改用户密码,这里修改为stux,1,2.添加站点目录,复制站点内容,修改内容权限 #su -stux /切换到stux用户 #mkdir public_html /创建用户站点根 #cp /mnt/smb/index.htm ./public_html /创建用于测试的网页 #chmod 755 -R /home/sutx/public_html /修改资源权限,1,3.修改httpd.conf文件,开启个人站点支持 UserDir disa

29、ble #注释(左侧添加#)该行启用用户站点 UserDir public_html #用户站点目录为用户主目录下的public_html ,1,4)重新启动httpd服务器 # service httpd restart 现在就可以使用,1,14.6建立动态网站,1.支持CGI CGI是独立于语言的网关接口规范,它实际上可以用任何广泛流行的应用程序开发语言来实现,包括C、C+、Perl、Shell脚本甚至Java。CGI的基本配置如下: 1)创建存储CGI程序的目录 (1)创建一个/home/httpd/public/apps的目录作为CGI程序的存放位置 (2)在httpd.conf中加入

30、 ScriptAlias /cgi/ /home/httpd/public/apps,1,(3)为CGI目录设置合适的权限,一般是只允许Apache有读取和执行的权限即可 2)允许本地用户站点支持CGI 如果需要给本地用户站点开启CGI支持。有两种方法可以实现: (1)使用Directory容器 在Apache的配置文件httpd.conf中添加下列配置,1, Options ExecCGI AddHandler cgi-script .cgi .pl 在这种方法中,Apache服务器将,1,(2)使用ScriptAliasMatch命令 通过使用ScriptAliasMatch命令,也可以为

31、每个用户添加CGI支持。例如: #ScriptAliasMatch (a-z+)/cgi-bin/(.*) /home/$1/public_html/cgi-bin/$2,1,3)配置CGI环境变量 主要包括: (1)服务器变量 SERVER_SOFTWARE GATEWAY_INTERFACE SERVER_ADMIN DOCUMENT_ROOT,1,(2)客户请求变量 SERVER_NAME HTTP_ACCEPT HTTP_ACCEPT_CHARSET HTTP_ACCEPT_LANGUAGE HTTP_ACCEPT_AGENT HTTP_PORT REMOTE_HOST REMOTE_

32、PORT,1,2.让站点支持PHP PHP是一种比较流行的脚本语言,它混合了C、Java和Perl。PHP包括如下一些先进的功能: 支持多种平台,移植性强;在服务器端嵌入脚本,建立交互式网站;具有强大而广泛的支持;具有对网络协议的广泛支持;具有很好的开放性和广泛的支持性;具有自由软件特性,而且速度很快;支持Internet开发的最新技术,例如:身份认证、XML、动态图像生成、共享内存和动态PDF文档等,1,默认情况下,RHEL 5已经安装了PHP支持,大家可以通过如下命令进行查询是否已经安装PHP支持: #grep -v # /etc/httpd/conf.d/php.conf 通过执行如下命

33、令建立一个最简单的PHP文件,就可以进行站点支持PHP测试: echo “” /var/www/html/info.php,1,1,3.配置支持JSP的站点 JSP(Java Server Page)是一种广泛使用的建立动态网站的脚本语言,它非常类似于ASP。它由Sun公司倡导、许多公司一起协作建立的网页标准。使用JSP可以实现无ActiveX、无JavaApplet、甚至无Frame的站点具体配置如下:,1,1)安装并配置J2SDK和Tomcat j2sdk-1_4_1_02-linux-i586 /支持Java的SDK jakarta-tomcat-4.1.18 /支持JSP的服务器 ja

34、karta-tomcat-connectors-4.1.18 /将Apache和Tomcat整合的工具,1,2)测试JSP与Java #cd $CATALINA_HOME #cd bin #./startup.sh /启动jakarta-tomcat-4.1.24服务 打开浏览器,输入服务器地址和端口号8080后回车,应该可以看到jakarta-tomcat-4.1.24的默认主页,1,3)将Tomcat与Apache整合 (1)修改/etc/httpd/conf/httpd.conf,加入模块 在# Dynamic Shared Object (DSO) Support之后,添加如下内容:

35、LoadModule webapp_module modules/mod_webapp.so (2)测试配置 #apachectl configtest 如果出现Syntax OK,则证明Module安装和配置已经成功了,1,(3)修改/etc/httpd/conf/httpd.conf文件 在文件尾部添加如下内容: WebAppConnectionwarpConnectionwarp localhost:8008 WebAppDeployexamples warpConnection/examples/,1,4)在浏览器中输入: http:/服务器IP/examples/jsp/index.

36、html 如果能够显示正常的网页,则表示Apache安装成功 在浏览器中输入如下地址: http:/IP/examples/jsp/jsptoserv/jsptoservlet.jsp 如果能够显示正常的网页和时间,则说明JSP和Servlet安装成功,1,4)重新启动所有服务 # $CATALINA_HOME/bin/shutdown.sh #$CATALINA_HOME/bin/startup.sh #service httpd restart,1,14.7站点访问控制,在标准的Apache服务器实现了这样的认证:它能控制哪些主机可能访问特定的站点或特定的站点的一部分。这种认证可以分为两种

37、,一种是基于主机的的认证,另一种是基于用户名/口令的认证。 1.基于主机的认证方式 这种认证模式是用主机名或主机IP地址来控制的, 主要的控制命令包括: 1) allow命令 功能:定义允许访问站点或目录的主机列表,1,2) deny命令 功能:定义禁止访问站点或目录的主机列表 3) order命令 功能:定义决定allow和deny命令的先后顺序 例如: order deny,allow /表示拒绝优先 deny from allow all ,1,2.基于用户名/口令的认证方式 这种认证方式其实相当简单,当WWW浏览器请求经此认证模式保护的URL时,将会出现一个对话框,要求用户键入用户名和

38、口令。用户输入后,传给Web服务器,Web服务器验证它的正确性,如果正确,返回页面,否则返回401错误。具体实现如下: 1)建立目录的访问口令 (1)使用htpasswd建立用户文件: htpasswd -c /home/httpd/secr/.htpasswd super,1,(2)建立.htaccess文件,用vi在/home/httpd/html/backup/目录下建立一个文件.htaccess,写入以下几行: AuthName Super Only (注:这个名字是任取的) AuthType Basic AuthUserFile /home/httpd/secr/.htpasswd

39、require user super,1,(3)设置文件权限,确保Apache用户有读的权限 #chmod 755 -R /home/httpd/html/backup/* 2)允许一组用户访问一个目录 (1)使用htpasswd建立用户文件 # htpasswd -c /home/httpd/secr/.htpasswd mf1 #htpasswd -c /home/httpd/secr/.htpasswd mf2 (2)建立组文件 用vi/home/httpd/secr/目录下建立一个文件.htgroup,写入:myfriend:mf1 mf2,1,(3)建立.htaccess文件 用vi

40、在/home/httpd/html/backup/目录下建立一个文件.htaccess,写入以下几行: AuthName Friend Only AuthTypeBasic AuthUserFile /home/httpd/secr/.htpasswd AuthGroupFile /home/httpd/secr/.htgroup require group myfriend,1,3)将基于主机和基于用户的认证综合 将/home/httpd/html/backup/.htaccess修改成为: AuthName Friend Only AuthType Basic AuthUserFile /

41、home/httpd/secr/.htpasswd AuthGroupFile /home/httpd/secr/.htgroup require group myfriend order deny, allow deny from all allow from ,1,14.8用SSL建立安全站点,在网络上以明文传递敏感信息是相当不安全的。SSL提供了一种加密手段,在底层上为上层协议提供服务和加密方案,因此当用户在以HTTP协议传输数据时,窥探者将难以获取数据的信息。 安全站点使用安全套接字层(SSL)和来自证书权威(CA)的数码证书来提供安全性。 当浏览器使用SSL加密通讯时,资源定位(URL)的开头有一个“https:/”前缀。,1,简要配置过程如下: 1.生成密钥 1)使用下面的命令删除在安装中生成的默认钥匙和证书 #cd /etc/httpd/conf #rm ssl.key/server

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论