★帅の蟑螂
级别:管理员 威望:0 经验:20 货币:4114 体力: 来源:127.0.0.1 总发帖数:3059 注册日期:2001-04-19
|
|
查看 邮件 主页 QQ 消息 引用 复制 下载
昨天晚上在台2000的机器上试验装FTP-U+
APACHE1.3.26+PHP4+MYSQL+CGI,其他的倒是简单,一下就完成了,就是到了装PHP时老TMD出错,从1点多搞到早上5点半才完全配置完,期间找了很多关于APACHE配置的文章看,这篇应该对大家有帮助的,帖出来共享一下!
PS:痞菜那家伙知道我装PHP出错也不陪我,到了半夜竟然去睡觉了,TMD一只瞌睡猪!
---------------------------------------------------------------------
作者:汤海京
Apache为网络管理员提供了丰富多彩的功能,包括目录索引、目录别名、内容协商、可配置的HTTP错误报告、CGI程序的SetUID执行、子进程资源管理、服务器端图象映射、重写URL、URL拼写检查以及联机手册man等。也就是说,如果您在Linux
Server上成功安装配置了Apache之后,您的计算机也将随着Apache的生效而摇身一变,成为一台名副其实的Web
Server,这种变化的确是激动人心的。
在Internet时代,外部主页的发布已经成为树立公司形象的一个重要手段,而内部主页也成为公司管理的主要方式。但是,要想实现这些功能,首先应该把我们的Linux
Server配置成为一台强大的Web
Server。本章将详细介绍如何配置Apache服务器。希望各位同仁能够通过阅读本片文章达到理论实践双丰收的目的,在很短的时间里迅速成为一名出色的网络管理员。
1.2 所需资源 1.2.1 所需包 RedHat6.2 服务器安装
1.2.2
所需配置文件 /etc/httpd/conf/httpd.conf 系统自带,管理员配置
/etc/httpd/conf/access.conf 系统自带,不需要修改
/etc/httpd/conf/srm.conf 系统自带,不需要修改
1.3 配置方案
/etc/httpd/conf/httpd.conf 说明:apache主配置文件 源文件:
ServerType standalone
#定义WebServer的启动方式为standalone,以增强其对大量访问的及时响应性 ServerRoot
"/etc/httpd" #指定包含httpd服务器文件的目录 LockFile
/var/lock/httpd.lock PidFile /var/run/httpd.pid
ScoreBoardFile /var/run/httpd.scoreboard Timeout 300
#响应超时量,单位为秒 KeepAlive On #允许用户建立永久连接
MaxKeepAliveRequests 100 KeepAliveTimeout 15
MinSpareServers 5 #要保留的空闲服务器进程的最小值 MaxSpareServers 20
#要保留的空闲服务器进程的最大值 StartServers 8 #系统启动时的守护进程数
MaxClients 150 #所能提供服务的最大客户端编号,大于它的部分被放入请求队列
MaxRequestsPerChild 100 LoadModule vhost_alias_module
modules/mod_vhost_alias.so LoadModule env_module
modules/mod_env.so LoadModule
config_log_module modules/mod_log_config.so LoadModule
agent_log_module modules/mod_log_agent.so LoadModule
referer_log_module modules/mod_log_referer.so LoadModule
mime_module modules/mod_mime.so LoadModule negotiation_module
modules/mod_negotiation.so LoadModule
status_module modules/mod_status.so LoadModule
info_module modules/mod_info.so LoadModule
includes_module modules/mod_include.so LoadModule
autoindex_module modules/mod_autoindex.so LoadModule
dir_module modules/mod_dir.so LoadModule cgi_module
modules/mod_cgi.so LoadModule asis_module modules/mod_asis.so
LoadModule imap_module modules/mod_imap.so LoadModule
action_module modules/mod_actions.so LoadModule
userdir_module modules/mod_userdir.so LoadModule
alias_module modules/mod_alias.so LoadModule rewrite_module
modules/mod_rewrite.so LoadModule
access_module modules/mod_access.so LoadModule
auth_module modules/mod_auth.so LoadModule anon_auth_module
modules/mod_auth_anon.so LoadModule db_auth_module
modules/mod_auth_db.so LoadModule
digest_module modules/mod_digest.so LoadModule proxy_module
modules/libproxy.so LoadModule expires_module
modules/mod_expires.so LoadModule headers_module
modules/mod_headers.so LoadModule usertrack_module
modules/mod_usertrack.so LoadModule
setenvif_module modules/mod_setenvif.so LoadModule
perl_module modules/libperl.so LoadModule
php3_module modules/libphp3.so ClearModuleList AddModule
mod_vhost_alias.c AddModule mod_env.c AddModule
mod_log_config.c AddModule mod_log_agent.c AddModule
mod_log_referer.c AddModule mod_mime.c AddModule
mod_negotiation.c AddModule mod_status.c AddModule
mod_info.c AddModule mod_include.c AddModule mod_autoindex.c
AddModule mod_dir.c AddModule mod_cgi.c AddModule
mod_asis.c AddModule mod_imap.c AddModule mod_actions.c
#AddModule mod_speling.c AddModule mod_userdir.c
AddModule mod_alias.c AddModule mod_rewrite.c AddModule
mod_access.c AddModule mod_auth.c AddModule mod_auth_anon.c
AddModule mod_auth_db.c AddModule mod_digest.c AddModule
mod_proxy.c AddModule mod_expires.c AddModule mod_headers.c
AddModule mod_usertrack.c AddModule mod_so.c AddModule
mod_setenvif.c AddModule mod_perl.c AddModule mod_php3.c
Port 80 #定义服务器所使用的TCP的端口号 User nobody Group
nobody #以上两行是分配给httpd的新用户的文件权限,出于安全的考虑把 它们的权限设置成为最低。
ServerAdmin root@weboa.com.cn #设置Web管理员的邮件地址
ServerName WebOA #定义客户端从服务器读取数据时返回给客户端的主机名,其缺省值
是localhost,第一次安装Linux的时候经常这里出错。 DocumentRoot
"/home/weboa/jakarta-tomcat/webapps/weboa"
#设置所有Apache文档的根目录,比如说,用户对
http://www.weboa.com.cn/index.html的访问请求,Apache对它
的响应是/home/weboa/jakarta-tomcat/webapps/weboa/index.html
Options FollowSymLinks AllowOverride None
Options Indexes Includes FollowSymLinks
AllowOverride None Order allow,deny Allow from
all # 允许所有人访问
UserDir public_html DirectoryIndex
index.html index.htm index.shtml index.cgi
#设置多种成功访问主页的方式,为的是提高系统的容错性 AccessFileName .htaccess
Order allow,deny Deny from all
UseCanonicalName On TypesConfig /etc/mime.types
DefaultType text/plain
MIMEMagicFile share/magic
HostnameLookups Off ErrorLog /usr/httpd/log/error_log
LogLevel warn #定义那些错误类型被记录到错误日志中 Logformat "%h %l %u
%t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
#所有的Logformat都用来定义日志中的条目 Logformat "%h %l %u %t \"%r\"
%>s %b" common Logformat "%{Referer}i -> %U" referer
Logformat "%{User-agent}i" agent CustomLog
/usr/httpd/log/access_log common ServerSignature On Alias
/icons/ "/home/httpd/icons/" #定义虚拟主机目录与系统目录的对应关系
Options Indexes MultiViews AllowOverride None
Order allow,deny Allow from all
ScriptAlias
/cgi-bin/ "/home/httpd/cgi-bin/" #定义CGI目录
AllowOverride None Options ExecCGI Order
allow,deny Allow from all
IndexOptions FancyIndexing
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 /icons/unknown.gif
ReadmeName README HeaderName HEADER AddEncoding
x-compress Z AddEncoding x-gzip gz tgz AddLanguage en .en
AddLanguage fr .fr AddLanguage de .de AddLanguage da .da
AddLanguage el .el AddLanguage it .it LanguagePriority
en fr de
AddType application/x-httpd-php3 .php3
AddType application/x-httpd-php3-source .phps
AddType application/x-httpd-php .phtml
AddType application/x-tar .tgz AddType text/html .shtml
AddHandler server-parsed .shtml AddHandler imap-file map
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0 BrowserMatch
"JDK/1\.0" force-response-1.0
Alias /perl/
/home/httpd/perl/
SetHandler perl-script
PerlHandler Apache::Registry Options +ExecCGI
Alias /doc/ /usr/doc/
order deny,allow
deny from all allow from localhost Options
Indexes FollowSymLinks
include
/etc/httpd/conf/tomcat-apache.conf Alias /netcard
"/home/weboa/jakarta-tomcat/webapps/weboa/net_card"
Options Indexes FollowSymLinks allow from all
CacheSize 5 #定义缓存区大小,以KB为单位。可以根据需要和硬盘空间大小进行设置
CacheGcInterval 4 #每隔4小时检查缓存区,如果已经超过CacheSize就删除文件
CacheMaxExpire 24 #HTTP文件最多被保持24小时
CacheLastModifiedFactor 0.1 #定义HTTP文件失效期,缺省是0.1
,意思是说失效期=离最近一次修改的时间X,比如离最近一次修改的时间是5小时,那么失效期就是5X0.1=0.5小时
CacheDefaultExpire 1
#这一指令提供一个缺省的时间(小时)来销毁缓存的文件,这些文件的最后更改时间不详。CacheMaxExpire
命令不覆盖这一设置
## 以下是如何对一个目录进行登陆控制的方法 ##
在/etc/httpd/conf/httpd.conf中添加以下内容: Alias /weboa/ "/home/weboa/"
Options Indexes MultiViews AllowOverride
authconfig Order allow,deny Allow from all
在/home/weboa目录下建立.htaccess文件 authname "shared files"
authtype basic authuserfile /etc/httpd/conf/passwd
require valid-user
在/etc/httpd/conf目录下执行命令生成认证文件
htpasswd -c thj thj #创建认证文件和第一个名和密码 htpasswd weboa weboa
#添加其他用户名和密码
### 以下是做虚拟主机的实现方法 ###
需要在/etc/httpd/conf/httpd.conf中添加下列内容: Alias /webadmin/
"/home/weboa/webadmin/html/"
Options Indexes MultiViews
AllowOverride None Order allow,deny Allow from
all
NameVirtualHost 192.168.0.1 #虚拟域名的DNS服务器 ServerAdmin
root@weboa.com.cn #网管邮件地址 DocumentRoot
/home/weboa/webadmin/html/ #服务器页面目录 ServerName
webadmin.weboa.com.cn #服务器名称 需要在/var/named/name2ip.conf中添加的内容:
webadmin IN A 192.168.0.1
1.4 测试及管理办法
1.4.1 测试方法 每当管理员更改了Apache的设置之后,都应执行 /etc/rc.d/init.d/httpd
restart使得更改生效。
1.4.2 管理方法
Apache提供大量的日志文件,当Apache出错的时候,管理员可以根据htppd.conf中的ErrorLog定义的路径来诊断。具体方法是:
tail -f /var/log/httpd/apache/error_log
|