文本版|topic 高级搜索
   名人堂 帮助 论坛制度 意见反馈 | 首页 博客 周新贴 招聘 专题 新闻
RSS 底部
 
社区导航: 专家门诊   网络技术   操作系统   数据库   程序设计   系统应用   考试认证   CIO及信息化   站长交流   综合交流   下载基地  51CTO产品服务 设为首页 | 收藏本站
51CTO技术论坛» Linux & Advanced Application » Apache用户指导手册       [ 打印]  [ 订阅]  [ 收藏]  [ 推荐给朋友]   [ 本帖文本页]

论坛跳转:
     
标题: [转载] Apache用户指导手册  ( 查看:245  回复:6 )   
  本主题被作者加入到他/她的 Blog 中  
 
termite3304
副版主  点击可查看详细


十二生肖之虎   白羊座   行业勋章   技术勋章   诚信兄弟   专家门诊活动纪念勋章  
帖子 1608
精华 4
无忧币 34672
积分 3148
阅读权限 140
注册日期 2007-8-1
最后登录 2008-7-6 在线

[查看资料]  [发短消息]  [Blog
[个人主页]         
发表于:2007-12-26 10:39   标题:Apache用户指导手册
上一帖 |
Apache 的安装
通常来说,大家在安装时可以选择安装WEB SERVER ,并在INTERNET SERVICES中开启httpd这一相服务,这样系统就会自动的安装好apache,并且在系统第一次启动时启动httpd进程。在作好一些相应的配置后,在你的Xwindows环境下打开NETSCAPE,并在URL中填入localhost 或本机的IP地址,就会访问到apache的默认的页面。

如果说你没有安装WEB SERVER ,你可以重新安装并选择UPDATE,挑选apache的软件包安装到本机。当然,如果你想要安装最新的版本,可以到http://www.apache.org/ 网站上去下载最新的版本。如果是原文件,需要做一些相应的配置,然后编译原文件。如果是下载的二进制文件,就可以直接配置你的WEB 服务器。至于编译原文件后和配置工作,我们暂时不提,先讲一讲在安装系统时就安装了apache 的情况下的配置过程。
系统启动时会去启动httpd的服务,通常没有改过配置,httpd是起不来的。报的错误是ServerName not idnetify. 这是由于默认的配置没有指定服务的名称,这时你可以手动修改配置文件就可以了。具体的方法是:
1. 编辑 /etc/httpd/conf/ 目录下的httpd.conf文件,找到ServerName 这一项参数,这一行是被注释掉的(前面有#的符号)。去掉前面的在\"#\"符号,并在后面填入你的hostname或IP地址。
2. 从新启动httpd进程。
# /etc/rc.d/init.d/httpd stop
# /etc/rc.d/init.d/httpd start
然后在Xwindows的界面下启动netscape,在URL中输入localhost或本机的IP地址,就可以看到apache 的一个页面了,从这个页面上你可以看一看关于apache的文档,学习一下他的有关内容。

这样一个主页的进程就配置好了,你将自己的主页拷贝到/home/httpd 目录中,再用netsacpe访问自己的机子,就会发现现在显示的是你自己的主页。你的主页就这样配置好了,别的机子只要在浏览器中填入你的IP地址就可以访问到你的主页了。如果你想要有域名的话,就得另外申请了。
注意有时会有下面的情况:当你用NETSACPE访问了你的页面,这时,你重新更换默认目录中的内容,可是不管你如何在NETSCAPE中RELOAD都无法调入你新的内容。
产生这种情况的原因是NETSCAPE直接调用CACHE中的内容,没有真正的读取你文档的内容。解决的方法是在NETSCAPE中清空CACHE。具体的步骤如下:
1. 选择菜单中的Edit
2. 在最下面选择 Preference
3. 在左边的菜单中选择Advanced
4. 在他的下拉菜单中选择Cache
5. 点击 Clear Disk Cache 和 Clear Memory Cache 按钮。
这样清空了NETSCAPE 的CACHE后,就可以看到你更新后的页面了。

http 的命令行参数
httpd 是一个可执行的文件,他的位置是在/usr/bin目录里。用这个命令我们可以手动的启动一个WWW的服务,这样使得别人可以访问你的主页。他的具体参数是:
-d serverroot
这个参数告诉httpd在何处去取启动时所需的配置参数,serverroot是存放配置文件的命令名。
-f config
配置文件的名称,默认的值是httpd.conf。如果没有给定目录,就会到serverroot的目录中取找这个文件。
-X
启动单进程模式。意思是不会产生任何子进程,也就是你只能看到index.html这一页,点击上面的链接都不会有反应。
-v
显示httpd的版本号。
-l
显示编译进httpd的模块名称。
-?
显示httpd 的参数
了解了上面的参数后,我们就可以手动的启动一个服务:
#httpd 杁 /etc/httpd/mywebconf
在 /etc/httpd.mywebconf目录中存放了你的WEB SERVER 的配置文件,下面就具体的介绍一下该目录中的配置文件的名称和内容。
配置文件的内容和参数意思
在配置目录中有三个文件,分别是:
1. conf/httpd.conf :
ServerType :有两个值可供选择standalone 和inetd
Standalone :
表示你的httpd进程,是以一个单独的守护进程(daemon)的方式
在后台侦听是否有客户端的请求。
Inetd :
表示你的httpd进程不是以守护进程(daemon)的方式运行,而是由
Inetd 这个 internet services的进程侦听,一旦有客户的请求,他会自动的启动httpd
这个进程来提供相应的服务。
默认的是Standalone方式,如果你不是对 ARPA Berkeley Services 不是很了解的
话,不要更改。
Port : 你分配给你的WEB SERVER 的端口号。
Httpd 的默认端口是80,也可以分配给自己的WEB SERVER 一个大于1024 的
端口号。如果你这样作,你必须在你的URL后面跟上你的端口号才能访问到你
的页面。比如你分配给你的服务的端口号是8888,那么你访问时需要输入
http://domainname:8888
ServerAdmin :服务管理员的email 地址,默认的是本机的root用户,所以是
root@localhost
ServerRoot :用来存放服务的配置、出错和记录文件的目录。
BindAddress :虚拟主机的IP地址。用一台机子虚拟多台机子。
ErrorLog :用来存放你WEB SERVER的出错信息的文件。
TransferLog :用来存放记传输过的文件名的记录文件。
PidFile :该指定的文件存放了httpd进程的进程号,用来停止WEB SERVER。
ScoreBoardFile :用来存放进程的信息。
ServerName :你机子的名称,如果你有域名,填入你本机的域名。如果没有,就
填入你的主机名或IP地址。
Timeout :传输或接收的延时。大于这个时间SERVER 会断开这个链接。
KeepAlive :(on or off)是否允许一个链接同时发出多的请求。
KeepAliveTimeout :(default is 15)等待下一个请求的时间。
MaxClients :(default is 150)允许的最大客户个数。
通常上面的参数的默认值是不用改的,但是如果你同时在一台机子上开几个WEB SERVER 时要注意。第一,你要给每一个WEB SERVER 分配不同的port 号。第二,要分别指定他们的errorlog文件和pidfile文件。第三,不懂的参数不要随意改动,即使改动也要一次改一个,并留有记录以便恢复。
2. /conf/access.conf :
主要是对目录的功能和访问的控制的设定。下面我针对默认的页面的配置文件进行说明。该文件的位置是:/etc/httpd/conf/access.conf.
该文件的第一段非注释部分如下:
<Directory /home>
Options Indexes IncludesNOEXEC
AllowOverride None
</Directory>
大家注意到这一部分是以<Directory /home>开头,以</Directory>结束的。其中开头的部分<Directory /home>表示下面的设定是针对 /home 目录的。Options 这一命令有很多的参数,各参数的功能如下:
All 所有的选项除了MultiViews功能。
ExecCGI 开启执行CGI程序的功能。
FollowSymLinks 开启一个动态的链接,当有客户访问到该目录时会自动
的链接到另一个相关的目录中去。
Includes 开启服务端的引用功能。
IncludesNOEXEC 开启服务端的引用功能,但是#exec和CGI程序的引用将
被禁止。
Indexes 如果没有index.html文件在目录中,就会显示文件列表。
SymLinksIfOwnerMatch 只有在链接的目标文件或目录与当前的目录属于同一用
户时,才开启链接。
接着是AllowOverride参数,该参数是设定访问控制的。这里把他设置成None,表示没有开启该功能。
第二部分是:
<Directory /home/httpd/html>
Options Indexes Includes ExecCGI FollowSymLink
AllowOverride None
order allow,deny
allow from all
</Directory>
第三部分是:
<Directory /home/httpd/cgi-bin>
AllowOverride None
Options ExecCGI
</Directory>
表示对/home/httpd/cgi-bin 不进行访问控制,允许执行CGI程序。这就表明这是一个用来存放CGI程序的目录

3. /conf/srm.conf
主要是用来指定你的文档的位置。
第一个参数是:DocumentRoot 。用来指定主文档的地址。
第二个参数是:UserDir 。用来指定个人主页的位置。如果你有一个用户的home目录为 /home/jon 当在URL中输入 http://yourdomain/~jon 系统就会到 /home/jon/X/中去取这个用户的个人主页。其中X为UserDir 所指定的目录。
第三个参数是:DirectoryIndex。用来声明查找的索引文件的名称。
其他的不改也无防。通常用到的就是上面的几个选项。

具体示例
需要建立一个开机启动的web server。假定你的文档目录为/home/jon/html。
首先,更改/etc/httpd/conf/access.conf文件的内容。将原文档的目录更改为新的文档目录。
例如如下的更改:

<Directory /home/httpd/html> ? <Directory /home/jon/html>
Options Indexes Includes ExecCGI FollowSymLink
AllowOverride None
order allow,deny
allow from all
</Directory>
<Directory /home/httpd/cgi-bin> ? <Directory /home/jon/cgi-bin>
AllowOverride None
Options ExecCGI
</Directory>
如上做相应的更改,注意 /home/jon/cgi-bin为你的cgi程序的目录。
接着,修改 /etc/httpd/conf/srm.conf文件。
将DocumentRoot /home/httpd/html 改为DocumentRoot /home/jon/html
最后,修改 /etc/httpd/conf/httpd.conf文件。
将ServerName 这一个参数后面的原来的内容替换为你的本机ip地址或主机名,同时去掉前面的注释符 “#”。这里的配置为:
ServerName jon (jon 为我的主机名)
从新启动httpd进程:
#/etc/rc.d/init.d/httpd restart
这样就做好了所有的配置,用你的Xwindows下的netscape浏览器在URL中输入你的主机名、本机的IP地址或localhost,就可以看到自己的主页了。要注意的是你的文档目录中必须有index.html文件,而且你的超文本文件的后缀名必须是.html。只要没有改错 httpd.conf 、srm.conf、 access.conf这三个文件,且httpd进程启动时没有报措,一般是不会有问题的。



猜奥运金牌,赢无忧币
2007-12-26 10:391楼
[ 顶部 ]
 
zhaojie0708
技术员  点击可查看详细


帖子 279
精华 0
无忧币 1913
积分 656
阅读权限 30
来自 (保密)
注册日期 2007-2-26
最后登录 2008-7-6 离线

[查看资料]  [发短消息]  [Blog
[个人主页]    QQ       
发表于:2007-12-26 13:20 
学习学习
呵呵 我光看标题以为是附件需要下载呢
支持楼主这种开源的精神



偶新建的linux+ms技术交流群1798388
2007-12-26 13:202楼
[ 顶部 ]
 
jhhcsy
新新人类  点击可查看详细



帖子 67
精华 0
无忧币 50
积分 71
阅读权限 20
注册日期 2006-12-16
最后登录 2008-5-19 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2008-1-6 23:02 
支持一下楼主........让我学到知识,,,又少花钱.....呵呵......资源共享.....



网络工程师到底该不该去考CCIE认证?
2008-1-6 23:023楼
[ 顶部 ]
 
fengye125949
新新人类  点击可查看详细



帖子 4
精华 0
无忧币 12
积分 4
阅读权限 20
注册日期 2008-1-9
最后登录 2008-1-9 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2008-1-9 11:57 
学习~~路过



网络工程师到底该不该去考CCIE认证?
2008-1-9 11:574楼
[ 顶部 ]
 
wjfunmay
新新人类  点击可查看详细



帖子 108
精华 0
无忧币 51
积分 108
阅读权限 20
注册日期 2007-1-25
最后登录 2008-1-14 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2008-1-9 13:52 
学习~~路过



网络工程师到底该不该去考CCIE认证?
2008-1-9 13:525楼
[ 顶部 ]
 
johncat
技术员  点击可查看详细



帖子 235
精华 0
无忧币 1
积分 241
阅读权限 30
注册日期 2007-10-14
最后登录 2008-6-8 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2008-2-26 10:47 
dddddddddddddddd



网络工程师到底该不该去考CCIE认证?
2008-2-26 10:476楼
[ 顶部 ]
 
userli
副版主  点击可查看详细


帖子 1100
精华 1
无忧币 15413
积分 3303
阅读权限 140
注册日期 2006-9-17
最后登录 2008-7-5 在线

[查看资料]  [发短消息]  [Blog
       
发表于:2008-3-6 09:02 
路过



2008-3-6 09:027楼
[ 顶部 ]
     
论坛跳转:  

| | |

| | |

| | |

标记已读 · 删除论坛Cookies · 文本版 · WAP
 
| 诚征版主 | 版主堂 | 意见建议 | 大史记 | 论坛地图
Copyright©2005-2008 51CTO.COM  Powered by Discuz!
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系。
京ICP备05051492号