一步一个脚印
分类: Web开发
2013-02-22 14:16:14
二种安装方式
1、 编译安装
下载安装包 官网下载地址
tar -xzvf httpd-NN.tar.gz #tar解压 NN代表版本号
cd httpd-NN #进入解压目录
./configure --prefix=PREFIX #PREFIX代表安装路径 配置是关键
make #编译
make install #安装
2、 设置好安装源,不设置也行一般都有apache的安装包,只是下载速度不同
yum install httpd
完成后 rpm -qa httpd #查看apache安装的版本
#服务启动、停止、重启
apachectl start 或 service httpd start #apache 服务启动
apachectl stop 或 service httpd stop #apache 服务停止
apachectl restart 或 service httpd restart # apache 服务重启
vi /etc/httpd/conf/httpd.conf # yum安装时apache的配置文件
#编译安装apache在/usr/local/下时,配置文件就是/usr/local/apache2/conf/httpd.conf
ServerTokens OS #此指令控制了Server回送给客户端的回应头域是否包含关于服务器OS类型和编译进的模块描述信息。
ServerRoot "/etc/httpd" #服务器的根路径
PidFile run/httpd.pid # Pid文件的位置,第一个httpd进程(所有其他进程的父进程)的进程号文件位置
Timeout 60 #超时60秒
KeepAlive Off #配置是否保持连接的功能,不使用保持连接的功能,即客户一次请求连接只能响应一个文件,若将此参数设为“on”,即允许使用保持连接的功能。
MaxKeepAliveRequests 100 #在使用保持连接的功能时,一次请求连接能响应文件个数的最大上限值。(个人认为一个客户端可能开好几个页面,总数不能超过100)
KeepAliveTimeout 15 #同一客户端相同连接的下一个请求等待的秒数
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
Listen 80 #侦听80端口
LoadModule
……
LoadModule #需动态加载的各种模块
Include conf.d/*.conf #从配置文件夹加载所有以.conf为扩展名的文件
User apache #用户apache
Group apache #用户组apache
#万一黑客劫持了服务器,也只能局限于apache用户和组
ServerAdmin root@localhost #管理员的邮件地址
ServerName #主机名
UseCanonicalName Off #当设置为“Off”时,Apache会使用用户端提供的主机名和端口号。
# 当设置为“On”时,Apache会使用ServerName指定的值
DocumentRoot "/var/www/html" #网站(主页)的根目录
#对根目录权限的设置
Options FollowSymLinks #有几个选项ExecCGI、FollowSymLinks、Indexes
# ExecCGI:在该目录下允许执行CGI脚本。
#FollowSymLinks:在该目录下允许文件系统使用符号连接。
#Indexes:当用户访问该目录时,如果用户找不到DirectoryIndex指定的主页文件(例如index.html),则返回该目录下的文件列表给用户。(有时故意删除index.html,达到实现显示文件列表的功能。)
#SymLinksIfOwnerMatch:当使用符号连接时,只有当符号连接的文件拥有者与实际文件的拥有者相同时才可以访问。
AllowOverride None #关于.htaccess的指令
#None不搜索该目录下的.htaccess文件(可以减小服务器开销)。 还可以设置成Options FileInfo AuthConfig Limit等。
# All: 在.htaccess文件中可以使用所有的指令。
Order deny,allow #控制在访问时Allow和Deny两个访问规则哪个优先:
#allow允许访问的主机列表(可用域名或子网,例如:Allow from 192.168.1.0/24)。
#deny拒绝访问的主机列表。
Allow from all #允许所有访问
AccessFileName .htaccess # .htaccess文件名是可以改变的,由这个指令决定
#配置SVNmanager的路径及参数,访问时就是访问/var/www/html/svnmanager/下的内容
AllowOverride None
Order deny,allow
Deny from all
Allow from all
#可以为每个用户设置主页
UserDir disabled #user用户主页的设置
#UserDir on打开则可以~user来访问
#UserDir public_html #这个需要在用户/home/user/下建立public_html目录
DirectoryIndex index.html index.html.var #默认索引页面为index.html,也可以配置为index.php、index.jsp等等。
ProxyRequests On
Order deny,allow
Deny from all
Allow from all
ProxyPass /accoun #ProxyPass是配置正向代理,ProxyRequests设置成Off就是反向代理
Order allow,deny
Deny from all
Satisfy All
TypesConfig /etc/mime.types #这个配置影响客户端样式 指定mime.types文件的位置
DefaultType text/plain #这个配置的意思是在浏览器中弹出保存页面,如果配置成text/html那么在浏览器页面中打开。
# MIMEMagicFile /usr/share/magic.mime
MIMEMagicFile conf/magic
HostnameLookups Off #针对每个客户端的dns域名反向查询
ErrorLog logs/error_log #日志的保存位置
LogLevel warn #日志的级别
#日志的格式
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog logs/access_log combined #错误日志的开关
ServerSignature On #显示Apache信息
#别名设置,访问就是访问/data/app/svnmanager/下的内容
Alias /svnmanager "/data/app/svnmanager/"
DirectoryIndex index.php
AllowOverride None
Order deny,allow
Deny from all
Allow from all
Alias /icons/ "/var/www/icons/" #配置图标文件的别名
Options Indexes MultiViews FollowSymLinks # MultiViews的意思是服务器执行一个隐含的文件名模式匹配,并在其结果中选择, 相当于在地址栏内输入index同样可以显示index.php页面
AllowOverride None
Order allow,deny
Allow from all
AddType application/x-httpd-php .php .inc #Apache加装php模块,注意x-httpd-php和.php中间有个空格
# 加载DAV模块
# Location of the WebDAV lock database.
DAVLockDB /var/lib/dav/lockdb
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" # 配置CGI脚本文件的别名
AllowOverride None
Options None
Order allow,deny
Allow from all
#如果一个目录中不存在缺省的index文件,并且该服务器又许可显示目录文件列表的时候,就会显示出这个目录中的文件列表,为了使得这个文件列表能具有可理解性,而不仅仅是一个简单的列表,就需要前面的这些设置参数。
#控制页面样式及编码方式
IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable Charset=UTF-8
#依据编码方式来判断使用哪种图标
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress 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/*
#依据后缀来判断使用哪种图标
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
#如果不能确定文档使用的图标,就使用 DefaultIcon定义的缺省图标
DefaultIcon /icons/unknown.gif
#使用AddDescription可以为不同类型的文档加入不同的描述。并且, 服务器还在目录下,查询使用ReadmeName和HeaderName定义的文件(自动加上 . html后缀,如果没有发现,再使用.txt后缀进行搜索),如果发现了这些文件, 就在文件列表之前首先显示这些文件的内容,以使得普通目录列表具备更大的可 理解性。
ReadmeName README.html
HeaderName HEADER.html
#列出文件列表时会忽略相应的文件类型
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
#对于一个Html文档可以具 备file1.html.en、file1.html.fr 等不同的版本,每个语言后缀必须使用 AddLanguage进行定义
AddLanguage ca .ca
AddLanguage cs .cz .cs
AddLanguage da .dk
AddLanguage de .de
AddLanguage el .el
AddLanguage en .en
AddLanguage eo .eo
AddLanguage es .es
AddLanguage et .et
AddLanguage fr .fr
AddLanguage he .he
AddLanguage hr .hr
AddLanguage it .it
AddLanguage ja .ja
AddLanguage ko .ko
AddLanguage ltz .ltz
AddLanguage nl .nl
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddLanguage pt .pt
AddLanguage pt-BR .pt-br
AddLanguage ru .ru
AddLanguage sv .sv
AddLanguage zh-CN .zh-cn
AddLanguage zh-TW .zh-tw
#以优先次序递减的方式列出
LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
#无法匹配单个文档的情况下所采取的动作
ForceLanguagePriority Prefer Fallback
#页面默认编码
AddDefaultCharset UTF-8
#允许为指定的文件类型添加或覆盖mime.types文件中配置的MIME
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
#这是默认的设定以允许Apache的“It Worked”页能多种语言分发
AddHandler type-map var
#为了在服务器端分析包含(SSI)的.shtml文档:(要执行这个指令,你还需要在Options指令中添加“Includes”。)
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
#创建错误文档的别名
Alias /error/ "/var/www/error/"
AllowOverride None
Options IncludesNoExec #这个是安全性设置
AddOutputFilter Includes html
AddHandler type-map var
Order allow,deny
Allow from all
LanguagePriority en es de fr
ForceLanguagePriority Prefer Fallback
#更改标准的HTTP应答行为以处理己知的浏览器问题
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0
#关闭对那些没有尾部“/”的目录的非GET请求的重定向
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "MS FrontPage" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully
BrowserMatch "^gnome-vfs/1.0" redirect-carefully
BrowserMatch "^XML Spy" redirect-carefully
BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully