WEB服务Apache服务器配置



《WEB服务Apache服务器配置》由会员分享,可在线阅读,更多相关《WEB服务Apache服务器配置(75页珍藏版)》请在装配图网上搜索。
1、单击此处编辑母版标题样式,,常州信息职业技术学院,Linux网络操作系统,75,第一级,,第二级,,第三级,,第四级,,第五级,,单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,,,Linux网络操作系统,Apache服务器配置,本章内容,,Apache,简介,,,获取和安装,Apache,,,配置并运行,Apache,,,个人主页、访问控制和用户认证,,,建立虚拟,Web,站点,,,建立动态的,Web,站点,,,建立安全传输的,Web,站点,,1Apache,简介,,WWW,和,Web,服务器,,,Apache,的历史和未来,,,选择使用,Ap
2、ache Web Server,,2,获取和安装,Apache,,以,RPM,方式安装,Apache,,,获取,Apache,源代码包,,,以编译方式安装,Apache,,Apache,的安装文件,apache-1.3.23-11.i386.rpm,,Apache,服务器的安装软件包,,把,Redhat 7.3,的第二张安装光盘放入光驱中。,,把光盘挂载到,/,mnt/cdrom,目录下。,,进入安装文件所在目录。,,安装,Apache,。,,以编译方式安装,Apache,,解压缩安装文件包,.,,运行编译脚本的配置文件:configure文件 .,,# ./configure --prefi
3、x=PREFIX (,其中选项,--prefix,用来指定,Apache,的安装目录,变量,PREFIX,代表安装目录名,),,编译,,make,,安装,,make install,3,配置并运行,Apache,,12.3.1,配置文件,,,12.3.2,启动和停止,Apache,,配置文件,提示信息,,,全局变量,,,配置主服务器,,,配置虚拟主机,,全局变量,1,.选择服务器启动类型,,,2,.设置服务器的根目录,,,3,.设置加锁文件,,4,.设置,ScoreBoardFile,,,5,.设置,PidFile,,,6,.设置超时时间,,,7,.设置服务器进程数,,,8,.设置地址绑定,,
4、,9,.选择模块,,,10,.配置状态信息,,配置主服务器,1,.设置用户和组,,,2,.设置,Email,地址,,,3,.设置服务器名,,,4,.设置正式名称,,,5,.设置文档目录,,,6,.设置访问选项和覆盖,,,7,.设置用户目录,,,8,.设置目录索引,,,9,.设置访问控制,,10.设置MIME类型文件,,11.配置日志文件,,12.设置服务器信息,,13.设置目录别名,,14.设置索引选项,,15.定义编码和语言,,16.添加MIME类型和处理类型,,17.自定义错误响应,,18.设置浏览器响应,Apache,的配置文件,配置文件所在目录:,,/etc/httpd/conf/,,
5、主配置文件:,,httpd.conf,,旧版本中的配置文件:,,资源配置文件:,srm.conf,,访问许可权配置文件,:access.conf,Access Config,和,ResourceConfig,为了对旧版本的Apache兼容, Apache服务器在每次启动时都查找并读取access.conf和srm.conf文件的内容。 httpd.conf文件中的AccessConfig和ResourceConfig指令用于指定access.conf和srm.conf文件的位置,默认值为:,,AccessConfig conf/access.confResourceConfig con
6、f/srm.conf,,,出于安全性的考虑,可以设置为:,,AccessConfig /dev/null,,ResourceConfig /dev/null,,指定这两个文件为空设备文件“/dev/null ”,这样可以避免恶意的修改access.conf和srm.conf文件对系统配置的影响。,ServerType,ServerType standalone | inetd,,,ServerType用于定义apache服务器的运行模式,默认值standalone为独立运行的服务器,如设置为inetd则由xinetd服务器负责apache服务器的启动。,ServerRoot,ServerR
7、oot "/etc/httpd ",,,ServerRoot用于指定apache服务器的配置文件及日志文件存放的根目录,默认为目录"/etc/httpd " 。,PidFile,PidFile /var/run/httpd.pid,,,PidFile用于指定记录httpd进程号(PID)的文件位置,默认值为“/var/run/httpd.pid”,。,Timeout,Timeout 300,,,指定站点响应的秒数。若超过这段时间仍未收到或送出数据,就断开连接。,KeepAlive,KeepAlive On|Off,,,启用此项,表示允许保持连接,让每次连接能提出多个请求。避免每请求一个文
8、件就跟服务器建立一次连接。,MaxKeepAliveRequests,MaxKeepAliveRequests 100,,,每次连接可提出请求的数量,设置为0表示数量不限,默认值为100。,KeepAliveTimeout,KeepAliveTimeout 15,,,连续两个请求之间的时间如果超过15秒还未到达,则视为连接中断。,SpareServers,MinSpareServers 5,,MaxSpareServers 20,,,提供浏览服务的httpd进程的数目需要随连接数目的多少而变化,因此需要随时保持几个闲置的httpd进程等候新的连接请求。若闲置的进程数少于5个(默认值),则表示闲
9、置进程太少,需要将其增加到5个;若多于20个(默认值)则表示闲置进程太多,需将其减少到20个。,StartServers,StartServers 8,,,当apache服务器启动时,httpd进程的数目,默认值为8。,MaxClients,MaxClients 150,,同时接入的数目太多时会降低系统访问性能,设置此参数可限制同时连接的最大数值,默认值为150。,Listen,Listen 12.34.56.78:80,,Listen 80,,,用于设置apache服务器监听指定IP和(或)端口上的连接请求。,Port,Port 80,,,指定apache服务器监听的端口号。,User &
10、Group,User apache,,Group apache,,,设置httpd用哪个用户帐号和组来启动,默认使用apache用户和组。,ServerAdmin,ServerAdmin root@localhost,,,服务器管理员的邮件地址,当服务器运行出错时将向此邮件地址发信。,ServerName,ServerName localhost,,,设置主机的名称,此名称会被送到远程连接程序,以取代安装Apache主机的真实名称。默认值是localhost,行首加#号,关闭此功能。,DocumentRoot,DocumentRoot,"/var/,“,,,指定Apache服务器存放网页的文档
11、根目录。,DirectoryIndex,DirectoryIndex指令用于指定目录中默认的索引文件名称,可同时指定多个文件名称,两两之间用空格分割。默认值为index.html。,,,实例:,,DirectoryIndex index.html index.htm index.shtml index.php,UserDir,UserDir public_html,,,UserDir用于设定用户个人主页存放的目录,默认为“public_html”目录,即/home/anyuser/public_html。,为每个用户配置个人主页,例:为用户user1建立个人主页,,cd /home/user
12、1,,mkdir public_html,,chown user1.user1 public_html,,cd ..,,chmod 711 user1,,,在/home/user1/public_html中建立index.html,,使用浏览器浏览,Alias,Alias用于设置路径别名,,,Alias /doc/ /usr/share/doc/,,给“/usr/share/doc/” 设置路径别名为“/doc/”,,载入模块指令,Apache服务器采用动态共享对象(DSO,Dynamic Shared Object)的机制,在启动Apache服务器时可根据实际需要载入适当的模块,使其具有
13、相应的功能。,,,载入模块的相关指令有:,,LoadModule,,ClearModuleList,,AddModule,LoadModule,LoadModule指令用于动态载入模块,即将模块外挂在Apache服务器上。,,,语法:,,LoadModule,模块名称 模块文件路径全名,,,实例:,,LoadModule status_module modules/mod_status.so,ClearModuleList,ClearModuleList指令用于清空Apache服务器内建的模块列表。通常先使用该指令清空列表,再使用AddModule指令向模块列表加入模块。,,,语法:,,Cl
14、earModuleList,AddModule,AddModule指令用于向模块列表加入新的模块名称。,,,语法:,,AddModule,模块,,,实例:,,AddModule mod_status.c,容器指令,容器指令(container directive)通常包括在括号内,较容易识别。条件指令和不是容器指令,他们是例外。常用的容器指令有:,,,,,,,,,… ,,设置“/”根目录的访问权限,,Options FollowSymLinks,,AllowOverride None,,,目录属性设置结束,,,使用,… ,设置指定目录的访问权限,其中可包含:,,Options,,AllowOv
15、erride,,Order,,Allow,,Deny,,五个属性。,Options,属性,Options FollowSymLinks Indexes MultiViews,,,Options可以组合设置下列选项:,,All:用户可以在此目录中作任何事情。,,ExecCGI:允许在此目录中执行CGI程序。,,FollowSymLinks:服务器可使用符号链接指向的文件或目录。,,Indexes:服务器可生成此目录的文件列表。,,None:不允许访问此目录。,AllowOverride,AllowOverride None,,,AllowOverride会根据设定的值决定是否读取目录中的.hta
16、ccess文件,来改变原来所设置的权限。,,,All:读取.htaccess文件的内容,修改原来的访问权限。,,None:不读取.htaccess文件,,,为避免用户自行建立.htaccess文件修改访问权限,http.conf文件中默认设置每个目录为: AllowOverride None。,Access,Access,,Access指令用于指定保护目录设定文件的文件名称,默认值为“.htaccess”。,,,Access .acl,Allow,设定允许访问Apache服务器的主机,,,Allow from all,,允许所有主机的访问,,,Allow from 202.96.0.97 20
17、2.96.0.98,,允许来自指定,IP,地址主机的访问,,Deny,设定拒绝访问Apache服务器的主机,,,Deny from all,,拒绝来自所有主机的访问,,,Deny from 202.96.0.99 202.96.0.88,,拒绝指定,IP,地址主机的访问,Order,,Order allow,deny,,,Order,用于指定allow和deny的先后次序。,,范例:,,Order deny,allow,,Deny from all,,Allow from 202.96.0.97,,,Order allow,deny,,Allow from all,,Deny from
18、202.96.0.97,…,,容器包含只应用于指定文件的指令,文件应该由文件名(必要时使用统配符)指定。,,,实例:,,,,Order allow,deny,,Deny from all,,,… ,,容器包含只应用于特定URL的指令。,,,实例:,,,,SetHandler server-status,,order deny,allow,,allow from 127.0.0.1,,deny from all,,,Apache,的启动与停止,/etc/rc.d/init.d/httpd,,apache,的启动脚本,,service httpd start,,启动,apache,服务器的命令,,
19、service httpd stop,,停止,apache,服务器的命令,,service httpd status,,查询,apache,服务器状态的命令,,service httpd restart,,重新启动,apache,服务器的命令,4,个人主页、访问控制和用户认证,,设置个人主页,,,访问控制,,,用户认证,,设置个人主页,,修改,httpd.conf,文件,在用户目录设置一节中加入如下设置:,,,# UserDir: The name of the directory that is appended onto a user's home,,# directory if a ~u
20、ser request is received.,,#,,UserDir mainpage,(,其中命令,UserDir,指定了用户的网页文件在其主目录下保存的位置,,),访问控制,建立基于用户的访问控制,,Apache,可以针对不同的目录或文件设定不同的口令文件,实现基于用户的访问控制。,,,建立基于主机的访问控制,,Apache,也可以针对不同的目录或文件设定指定,IP,地址的主机可以(不可以)访问。,用户认证,,采用文本方式存储认证信息,,,采用数据库方式存储认证信息,,采用文本方式存储认证信息,实例:,,,,AuthName "userauth",,AuthType Basic,,Re
21、quire valid-user,,AuthUser,,,,定义目录“/home/auserdir”的用户认证。,AuthName,AuthName,auth-domain,,,AuthName指令对当前定义的认证区域进行命名,该名称会出现在浏览器客户端的用户认证对话框中,以标识用户被认证的区域。如认证区域名称中包含空格需用“”括起。,,AuthName需与AuthType、Require、AuthUserFile一同使用。,AuthType,AuthType Basic,,,AuthType,指令用于设置身份认证时传送密码的编码方式。设置为“Basic”时利用uuencode编码方式传送密码
22、。,,AuthType,需与,AuthName 、Require、AuthUserFile,一同使用。,Require,Require指令用于设定可进行身份验证的用户。,,Require user,用户名 [用户名] ……,,设置指定用户名的用户可通过身份验证访问区域。,,Require group 组名,[,组名,] ……,,设置指定组内的用户可通过身份验证访问区域。,,,Require valid-user,,设置所有合法用户可通过身份验证访问区域。,AuthUserFile,AuthUserFile,,AuthUserFile指令用于设置验证用户身份的密码文件,该文件名需设置绝对路径。,
23、,例如:,,AuthUser,,密码文件是用htpasswd命令创建的。,htpasswd,命令,htpasswd指令用于创建密码文件和设置用户密码:,,htpasswd –c 文件名 用户名,,创建密码文件并添加指定的用户。,,-c表示创建文件。,,例: htpasswd –c .htpasswd user1,,,htpasswd 文件名 用户名,,在指定的密码文件中添加指定用户的密码,如该用户已存在则修改用户密码。,AuthGroupFile,AuthGroupFile 组文件路径,,AuthGroupFile指令用于设置提供用户验证的组文件。需与Require group 指令一同使
24、用。,,,指定的组文件为文本文件,每行定义一个组,格式如下:,,组名: 用户名1 用户名2,,组名后面的是属于该组的用户列表,中间用“:”分割;用户列表中用户名与用户名间用空格分割。,采用数据库方式存储认证信息,,采用,MySQL,数据库,.,在,Apache,中使用,MySQL,存储认证信息可以通过,mod_auth_mysql,模块来实现,.,建立虚拟,Web,站点,,建立基于IP地址的虚拟主机,,需要在同一台主机上绑定多个,IP,,,在每个,IP,上建立一个虚拟主机,由于,IP,地址缺乏,此种方法不常使用。,,,建立基于域名的虚拟主机,,所有的虚拟主机都使用同一个,IP,地址,通过不同的
25、域名来标识不同的虚拟主机。,基于,IP,的虚拟主机的配置,,实例:,,#,ifconfig,eth0:0 192.168.0.2,,# route add -host 192.168.0.2 eth0:0,,<,VirtualHost,192.168.0.2>,,ServerAdmin,,DocumentRoot /,var/,,ServerName mail.astronomy.org,,,ErrorLog,logs/,mailserver,error_log,,,CustomLog,,logs/mailserver-access_log,common,,,VirtualHost,>,,
26、# /usr/local/apache2/bin/apachectl restart,,基于域名的虚拟主机的配置,,实例:修改,httpd.conf,。,,NameVirtualHost,192.168.0.1,,<,VirtualHost,192.168.0.1>,,ServerAdmin,,DocumentRoot /,var/,,ServerName mail.astronomy.org,,,ErrorLog,logs/,mailserver,error_log,,,CustomLog,logs/,nameserver,access_log common,,,VirtualHost,
27、>,,,# /usr/local/apache2/bin/apachectl restart,,建立动态的,Web,站,,PHP,简介,,,获取、安装、配置,PHP,,,安装,PHP,,两种方法可以安装,PHP,,一种是把,PHP,以静态的方式编译进,Apache,,另一种是把,PHP,最为一个共享模块(,DSO,)安装到,Apache,中。,,静态安装,PHP,,解压缩,Apache,安装包,,,解压缩,PHP,的安装包,用选项,-j,来解压,bzip,类型的压缩文件,,,进入生成的,php-4.3.3,目录,并配置,PHP,的编译脚本,,,编译并安装,PHP,,作为共享模块安装,PHP,,
28、解压缩,Apache,安装包和,PHP,的安装包,。,,进入,Apache,安装文件所在目录,配置,Apache,的编译脚本,使其支持共享模块,。,,编译并安装,Apache,。,,进入,PHP,安装文件所在目录,配置,PHP,的编译脚本,。,,编译并安装,PHP,。,配置,PHP,,(,1,)设置,PHP,的初始配置文件,把,php.ini-dist,复制到目录,/usr/local/lib,下,并命名为,php.ini。,,(2)在Apache配置文件httpd.conf中加入如下行,设置Apache加载PHP模块 。,,LoadModule php4_module libexec/lib
29、php4.so,,(,3,)在,Apache,配置文件,httpd.conf,中加入如下行,告诉,Apache,那些后缀的文件,是,PHP,脚本文件。,,AddType application/x-httpd-php .php .phtml,,(,4,),启动,Apache,服务器 。,,7建立安全传输的,Web,站点,,12.7.1 SSL,简介,,,12.7.2,安装具有,SSL,的,Apache,,SSL,简介,SSL,提供的安全通道有以下特点:,,1,.数据的保密性,,2,.数据的一致性,,3,.安全验证,,,安装具有,SSL,的,Apache,,安装,OpenSSL,,,配置,Apa
30、che,服务器使用,SSL,,安装,OpenSSL,,软件包的文件名是,openssl-0.9.7b.tar.gz,,配置,Apache,服务器使用,SSL,,编译带,mod_ssl,的,Apache,,,创建证书签署请求文件,,,创建自签署证书,,,配置,Apache,使用证书和密钥,,,测试,Apache,和,SSL,,Apache,的帮助资源,WU-FTP的主站点:,,,,文档目录:,,/usr/share/doc/apache-1.3.23,,,参考手册:,,需安装apache-manual-1.3.23-11.i386.rpm软件包,,/var/,相关网络资源,中文站点:,,,,,,,RPM安装包搜索:,,,Linux发行版本比较:,,本章小结,掌握Apache服务器的配置方法,,掌握虚拟Web服务器的实现方法,,掌握Apache+PHP+Mysql的实现,
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。