文档库 最新最全的文档下载
当前位置:文档库 › centos初始配置9 [apache相关配置]

centos初始配置9 [apache相关配置]

本文由zhoufengjie848贡献
doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。




配置详解
技术论坛
最近更新
About
<<< 返回[配置详解]索引 < 开放一般用户的网页发布权限 > (最近更新日:2006/08/27)


当我们想发布网页的时候, 通常找一些免费空间, 将我们的网页等等放在那个免费空间 上。通常,我们申请到的免费空间的访问方式通常是通过“http: //https://www.wendangku.net/doc/939402024.html,/~user” 方式的。其中“user”通常为申请时提交的用户名。实质上,在 Linux 下,Apache 服务器拥 有让 一般用户发布网页的功能。我们要做的也只是更改 Apache 配置文件 httpd.conf 中的 一些设置而已。对于一般用户来说,在用户目录中建立相应的子 目录,将这个子目录作为 对外开放的 Web 根目录,并设置相应目录的相应属性,即可达到与服务器单独发布(把网 页放在/var/www/html 下)达到同 样的效果。而且,本节配置完成的服务器,也完全可以为 别人提供网页存放、发布等等的服务。
修改 Apache 的配置文件
首先来修改 Apache 的配置文件,使 Apache 支持通过一般用户目录发布网页的功能。
[root@sample ~]# vi /etc/httpd/conf/httpd.conf UserDir disable ← 找到这一行,在行首增加“#” ↓ #UserDir disable ← 修改后变为此状态
← 用 vi 打开 SSH 的配置文件
#UserDir public_html ← 找到这一行,去掉行首的“#” UserDir public_html ← 修改后变为次状态 找到下面水平线之间的部分行,将每行行首的 将每行行首的“#”去掉 去掉,并在一些细节选项上按 将每行行首的 去掉 提示做修改 # # AllowOverride FileInfo AuthConfig Limit ← 找到此行,将相应选项删 除后,赋予 All 选项 ↓
AllowOverride All ← 变为此状态,允许使用.htaccess # Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec ← 找到此行,将相应选项删除 ↓ Options IncludesNoExec ExecCGI FollowSymLinks ← 变为此状 态,允许执行 CGI 及 SSI #
# Order allow,deny # Allow from all # #
# Order deny,allow # Deny from all # # ↓ 以上水平线之间的部分修改后, 变为如下状态, 尤其注意不要忘记将没行行首 不要忘记将没行行首 去掉!请核对。 的“#”去掉 去掉 AllowOverride All Options IncludesNoExec ExecCGI FollowSymLinks
Order allow,deny Allow from all
Order deny,allow Deny from all 重新启动 HTTP 服务
重新启动 HTTP 服务,使以上的设置生效。
[root@sample ~]# /etc/rc.d/init.d/httpd restart 一般用户的 Web 目录及相应属性的设置
← 重新启动 HTTP 服务
一般用户对外开放 Web,需要建立一般用户专用的 Web

目录,这里根据 httpd.conf 设 置文件中的设置,需要将用户 Web 目录命名为“public_html”,并建立在一般用户的根目录 下。一般用户的根目录属性也要设置为 711。 在这里以 centospub 为例,假设系统中,欲开放名为 centospub 的用户对外开放 Web 的权限,其设置过程如下。
[root@sample ~]# chmod 711 /home/centospub/ 录属性设置为 711 [root@sample ~]# su - centospub [root@sample ~]# cd
← 将欲开放 Web 的用户目
← 登录为欲开放 Web 的一般用户
← 到用户根目录 ← 在用户根目录下建立 Web 目
[centospub@sample ~]$ mkdir public_html 录,名为“public_html”
[centospub@sample ~]$ chmod 755 public_html 设置为 755
← 将用 Web 目录的属性
然后,让每建立新用户的时候,用户目录下都能自动建立 Web 开放用的 public_html 目录,使得每个用户都有开放 Web 的机会。
[centospub@sample ~]# su ← 再次登录为 root 用户 Password: ← 在这里输入密码 [root@sample ~]# mkdir /etc/skel/public_html public_html 自动建立 ← 建立相应目录,从而使得
[root@sample ~]# exit ← 退出 root 登录,返回一般用户(这里以返回 centospub 用户登录为例) 对用户 Web 支持进行全面测试
[1] 对 HTML 格式网页正确显示的测试
[centospub@sample ~]# vi /home/centospub/public_html/index.html 用户 Web 目录下建立测试页,如下:
← 在
Hello,World Hello,World!
然后在浏览器中输入“http://服务器 IP 地址/~相应用户名 (这里以 centospub 用户为例) ” 或者“http://你的域名/~相应用户名 (这里以 centospub 用户为例) 如果出现“Hello,World! ”, ”, 并且浏览器读取编码为简体中文,就 OK。 注:用户名前面不要忘了加上“ ~ ”符号。
[centospub@sample ~]# rm -f /var/www/html/index.html ← 删除测试页
[2] 对 CGI 的支持进行测试
[centospub@sample ~]# vi /home/centospub/public_html/test.cgi Web 目录下建立测试页,如下: #!/usr/bin/perl print "Content-Type: text/html\n\n"; print ""; print "Hello,World!CGI is working!
"; print "";
← 在用户
[centospub@sample ~]# chmod 755 /home/centospub/public_html/test.cgi ← 更改 CGI 测试文件的
然后在浏览器中输入“http://服务器 IP 地址/~相应用户名/test.cgi”或者“http: //你的域名 /~相应用户名/test.cgi”,如果正确显示“Hello,World!CGI is working!”,说明用户 Web 目录 对于 CGI 的支持没有问题。 [3] 对 PHP 的支持进行测试
[centospub@sample ~]# vi /home/centospub/public_html/test.php PHP 测试文件,内容如下:
← 建立
然后在浏览器中输入“http://服务器 IP 地址/~相应用户名/test.php”或者“http://你的域名 /~相应用户名/test.php”后,正确的显示出了服务

器上 PHP 的详细信息,说明用户 Web 目 录对 PHP 可以正确的支持。
[4] 对 SSI 的支持进行测试
[centospub@sample ~]# vi /home/centospub/public_html/test.shtml 户 Web 目录下建立 SSI 测试页,如下:
← 在用
Hello,World! TEST SSI
然后在浏览器中输入“http://服务器 IP 地址/~相应用户名/test.shtml”或者“http://你的域 名/~相应用户名/test.shtml”, 如果正确显示当时的日期和时间, 说明用户 Web 目录对于 SSI 的支持没有问题。 [5] 对.htaccess 的支持进行测试
[centospub@sample ~]# vi /home/centospub/public_html/index.shtml 立.htaccess 测试用的页,内容如下:
← 建
Hello,World! The name of the file is
然后在浏览器中输入“http://服务器 IP 地址/~相应用户名/”或者“http://你的域名/~相应用 户名/”,如果显示“Forbidden”,说明.htaccess 正常。 然后在用户的 Web 目录下建立一个.htaccess 文件,并定义相应规则,如下:
[centospub@sample html]# vi /home/centospub/public_html/.htaccess 建立.htaccess 文件,内容如下:

DirectoryIndex index.shtml
这时, 再次在浏览器中输入“http://服务器 IP 地址/~相应用户名/”或者“http://你 的域名/~ 相应用户名/”,如果正确显示“ The name of the file is index.shtml”,说明.htaccess 中的规 则生效状态,OK。
[6] 删除测试用的遗留文件
[centospub@sample ~]# rm -f /home/centospub/public_html/* /home/centospub/public_html/.htaccess ← 删除测试用过的遗留文件 [centospub@sample ~]# exit ← 退出用户登录(回到 root 登录的状态)
<<< 返回顶端
Cop yright ? Chao Chen , All rights reserved .




配置详解
技术论坛
最近更新
About
<<< 返回[配置详解]索引 < 虚拟主机的构建 > (最近更新日:2006/08/27)


根据前面介绍的 HTTP 服务器的设置方法,我们已经拥有发布网页以及运行一些网站 交互式程序的条件。但是,我们的服务器做为一台独立的主机,对于外界 来说,只拥有一 个 Global IP 地址。也就是说,从某种意义上,在当前的状态下,它作为一台服务器,仅能 供一个用户用于发布 Web--因为不管让多少个域名指向我们的主机,都等于指 向了仅有的 一个 IP 地址 (访问的是同一个网站)比如在 CentOS 下, 。 默认的 Web 目录是/var/www/html/, 如果我们将网页放置在这个目录 下,当服务器的 IP 地址或者指向服务器 IP 的域名被访问 时,所能浏览到的只是/var/www/html/目录下放置的网页的内容。 虽然通过开放用户目录 Web 发布权限的方法也能够实现多用户使用同一台服务器,但 对于拥有域名 (类似于“https://www.wendangku.net/doc/939402024.html,”的指向 一个地址的免

费域名除外) 的一般用户, 他们无法将它们的域名指向它们的用户 Web 目录--因为域名指向的是 IP 地址,而服务器又
只拥有一个 Global IP 地址。 在这里,我们通过构建虚拟主机,来实现一台服务器可以放置多个独立网站的功能。简 单地说,虚拟主机就是将一台服务器虚拟为多台服务器,使得虽然服务器 只有一个 Global IP 地址,但当不同的域名指向服务器仅有的一个 Global IP 地址时,通过定义好的虚拟主机 的规则,来识别哪些域名该指向服务器中哪个 Web 目录,从而达到服务器中有多个 Web 目录(包括一般用户的 Web 目录) (多个网站),也可以通过多个域名指向同一个 Global IP 地址来实现不同的多个网站在同一台服务器上的同时运作。
关于域名
在这里所说的域名, 指的是顶级域名或本站前面介绍过的动态域名。 这些域名都是指向 一个 IP 地址的。为了测试虚拟主机,请准备好至少两个以上的域名。可根据 动态域名的申 请(https://www.wendangku.net/doc/939402024.html,) 中介绍的方法来添加两个以上的余名。 ) 在这里为了具体,以将本站主域名 https://www.wendangku.net/doc/939402024.html, 指向/var/www/html/、 https://www.wendangku.net/doc/939402024.html, 指向/home/digeast/public_html/为例加以说明。
虚拟主机的配置
在 Apache 的主配置文件“httpd.conf”中,提供了虚拟主机的配置选项, 我们只需修改其 中虚拟主机的部分语句, 就可以达到构建虚拟主机的 目的。 但是鉴于虚拟主机可能是更新、 修改比较频繁的项目之一(域名的增删、变化等等),我们在/etc/httpd/conf.d/目录下新建 一个虚拟主 机的配置文件。如下:
[root@sample ~]# vi /etc/httpd/conf/httpd.conf
← 编辑 Apache 配置文件
#NameVirtualHost *:80 ← 找到这一行,去掉行首的# ↓ NameVirtualHost *:80 ← 变为此状态 # # VirtualHost example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for requests without a known # server name. # # # ServerAdmin webmaster@https://www.wendangku.net/doc/939402024.html, # DocumentRoot /www/docs/https://www.wendangku.net/doc/939402024.html, # ServerName https://www.wendangku.net/doc/939402024.html, # ErrorLog logs/https://www.wendangku.net/doc/939402024.html,-error_log # CustomLog logs/https://www.wendangku.net/doc/939402024.html,-access_log common
#
← 找到这一行,在其下添加如下绿色字体部分: ServerAdmin yourname@https://www.wendangku.net/doc/939402024.html, DocumentRoot /var/www/html https://www.wendangku.net/doc/939402024.html, 所定义的规则 ServerName https://www.wendangku.net/doc/939402024.html, ErrorLog logs/error_log CustomLog logs/access_log combined ServerAdmin yourname@https://www.wendangku.net/doc/939402024.html, DocumentRoot /home/centospub/public_html https://www.wendangku.net/doc/939402024.html, 所定义的规则 ServerName https://www.wendangku.net/doc/939402024.html, ErrorLog logs/centospub_error_log CustomLog logs/centospub_access_log common
然后重新启

动 HTTP 服务,使虚拟主机的设置生效。


[root@sample ~]# /etc/rc.d/init.d/httpd restart Stopping httpd: Starting httpd: 测试虚拟主机 [ OK ] [ OK ]
← 重新启动 HTTP 服务
通过虚拟主机配置文件中定义好的不同的域名访问, 看是否能够按照定义好的规则指向 相应的目录(网站)。
[root@sample ~]# echo "My site is https://www.wendangku.net/doc/939402024.html, " >> /var/www/html/index.html ← 建立 https://www.wendangku.net/doc/939402024.html, 指向/var/www/html/ 下的测试页 [root@sample ~]# echo "My site is https://www.wendangku.net/doc/939402024.html," >> /home/centospub/public_html/index.html ← 建立 https://www.wendangku.net/doc/939402024.html, 指向 /home/centospub/public_html/下的测试页
然后分别在浏览器输入两个域名, 如果每次都能够显示出相应域名的页面, 说明虚拟主 机已正常工作。
[root@sample ~]# rm -f /var/www/html/index.html
← 删除测试用的遗留文件 ← 删除测
[root@sample ~]# rm -f /home/centospub/public_html/index.html试用的遗留文件
如果以后需要增加或改动虚拟主机等,可以通过修改虚拟主机配置文件 (/etc/httpd/conf.d/virtualhost.conf),添加新的虚拟主机规则来实现。
<<< 返回顶端
Cop yright ? Chao Chen , All rights reserved .




配置详解
技术论坛
最近更新
About
<<< 返回[配置详解]索引 < Servlet/JSP 服务器的构建(Tomcat5) > (最近更新日:2006/09/21) 服务器的构建( ) 原创文档“ 本文启发于本站成员 xaay 原创文档 CENTOS4 配置 JSP 教程 ”。 。 [原文 URL:https://www.wendangku.net/doc/939402024.html,/bbs/viewthread.php?tid=127&extra=page%3D1 (论坛注册用户可见)]


所谓 Java Servlet ,是指用 Java 语言,实现动态网页的创建的功能,一般把简单的 把它称为“Servlet”(无中文译文)的情况比较常见。和它处于同等类别的技术还有我们知道 的 Perl、PHP、ASP 等等。Servlet 算是 J2EE 中的一部分,所以在企业应用方面,Servlet 技术被广泛的应用着。而所谓的 JSP 是 Servlet 技术的延伸,Servlet 程序就是通过 JSP 来 自动生成的。 通常 Servlet 和 JSP 被混为一谈的情况比较多见, 但严格上说, Servlet 和 JSP 是两种不同的技术…但也正因为它们通常作为“搭档”, JSP 也被认作是 Servlet 的一种功能。 下面我们就介绍一下在 CentOS 下构建 Servlet/JSP 服务器的方法。
必要组件的安装 必要组件的安装
[1] 卸载 CentOS 系统默认的 Java 编译器--gcj。
为了默认使用 Sun 的 javac 作为 Java 的编译器,首先删除 CentOS 系统默认的 Java 编译器--gcj。
[root@sample ~]# rpm -qa | grep gcj libgcj-3.4.5-2 libgcj-devel-3.4.5-2 java-1.4.2-gcj-compat-1.4.2.0-27jpp
← 确认 gcj 的版本号
← 根据版本号卸载 gcj ← 卸载 gcj
[root@sample

~]# yum -y remove java-1.4.2-gcj-compat
Setting up Remove Process Resolving Dependencies --> Populating transaction set with selected packages. Please wait. > Package java-1.4.2-gcj-compat.noarch 0:1.4.2.0-27jpp set to be erased --> Running transaction check Dependencies Resolved =========================================================== ================== Package Arch Version Repository Size =========================================================== ================== Removing: java-1.4.2-gcj-compat noarch 1.4.2.0-27jpp installed 2.2 k Transaction Summary =========================================================== ================== Install 0 Package(s) Update 0 Package(s) Remove 1 Package(s) Total download size: 0 Downloading Packages: Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Removing : java-1.4.2-gcj-compat ######################### [1/1] Removed: java-1.4.2-gcj-compat.noarch 0:1.4.2.0-27jpp Complete!
[2] 下载 J2SDK。 下载页面: https://www.wendangku.net/doc/939402024.html,/javase/downloads/index.jsp , 找到“JDK 5.0 Update X ” (本文档编辑时,最新版本为 8)后面的“Download”,在出现下载页面的时候,要先点击 “Accept License Agreement ”的基础上,选择“Linux self-extracting file”,下载并保存到客户 端(自用 PC)的适当位置。 重要:在以上整个下载过程中, 浏览器来操作! 重要:在以上整个下载过程中,请用 IE 浏览器来操作! 整个下载过程中 之一: 浏览器下载的二进制压缩包, 当前存在的 Bug 之一:用 Firefox 或 Mozilla 浏览器下载的二进制压缩包,在服务 器上运行会报错。对此, 对其改进。 器上运行会报错。对此,只能期待 Sun 对其改进。 然后,通过 FTP 方式上传到服务器上。并将其置于 root 用户的根目录下。(您也可以 通过闪存或其他任何方便的方式来移动到服务器上。) 如果您还没有构建 FTP 服务器, 并想通过 FTP 方式转移, 请参照本站“ 用 ProFTPD 构 建 FTP 服务器 ”及“ 用 FTP 客户端软件连接到服务器 ”。 [3] 安装 J2SDK。
[root@sample ~]# chown root. jdk-1_5_0_08-linux-i586.bin 压缩包的归属为 root [root@sample ~]# chmod 700 jdk-1_5_0_08-linux-i586.bin 700 [root@sample ~]# ./jdk-1_5_0_08-linux-i586.bin
← 改变二进制
← 改变属性为
← 执行,解压二进制包
Sun Microsystems, Inc. Binary Code License Agreement for the JAVA 2 PLATFORM STANDARD EDITION DEVELOPMENT KIT 5.0 SUN MICROSYSTEMS, INC. ("SUN") IS WILLING TO LICENSE THE SOFTWARE IDENTIFIED BELOW TO YOU ONLY UPON THE CONDITION THAT YOU ACCEPT ALL OF THE TERMS CONTAINED IN THIS BINARY CODE LICENSE AGREEMENT AND SUPPLEMENTAL LICENSE TERMS (COLLECTIVELY "AGREEMENT"). PLEASE READ THE AGREEMENT CAREFULLY. BY DOWNLOADING OR INSTALLING THIS SOFTWARE, YOU ACCEPT THE TERMS OF THE AGREEMENT. INDICATE ACCEPTANCE BY SELECTING TH

E "ACCEPT" BUTTON AT THE BOTTOM OF THE AGREEMENT. IF YOU ARE NOT WILLING TO BE BOUND BY ALL THE TERMS, SELECT THE "DECLINE" BUTTON AT THE BOTTOM OF THE AGREEMENT AND THE DOWNLOAD OR
INSTALL PROCESS WILL NOT CONTINUE. 1. DEFINITIONS. "Software" means the identified above in binary form, any other machine readable materials (including, but not limited to, libraries, source files, header files, and data files), any updates or …………………………………… …………………………………… ……中间阅读协议信息省略…… ……协议阅读中按空格翻页…… …………………………………… …………………………………… H. Termination for Infringement. Either party may terminate this Agreement immediately should any Software become, or in either party's opinion be likely to become, the subject of a claim of infringement of any intellectual property right. For inquiries please contact: Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, U.S.A. (LFI#143333/Form ID#011801) Do you agree to the above license terms? [yes or no] yes ← 输入 yes,同意协议 Unpacking…… Checksumming…… 0 0 Extracting…… UnZipSFX 5.42 of 14 January 2001, by Info-ZIP (Zip-Bugs@https://www.wendangku.net/doc/939402024.html,). creating: jdk1.5.0_08/ creating: jdk1.5.0_08/jre/ creating: jdk1.5.0_08/jre/bin/ inflating: jdk1.5.0_08/jre/bin/java inflating: jdk1.5.0_08/jre/bin/keytool inflating: jdk1.5.0_08/jre/bin/policytool inflating: jdk1.5.0_08/jre/bin/kinit inflating: jdk1.5.0_08/jre/bin/klist inflating: jdk1.5.0_08/jre/bin/ktab inflating: jdk1.5.0_08/jre/bin/rmiregistry inflating: jdk1.5.0_08/jre/bin/rmid inflating: jdk1.5.0_08/jre/bin/tnameserv ……………………………………
…………………………………… ………中间提示信息省略……… …………………………………… …………………………………… Creating jdk1.5.0_08/lib/tools.jar Creating jdk1.5.0_08/jre/lib/rt.jar Creating jdk1.5.0_08/jre/lib/jsse.jar Creating jdk1.5.0_08/jre/lib/charsets.jar Creating jdk1.5.0_08/jre/lib/ext/localedata.jar Creating jdk1.5.0_08/jre/lib/plugin.jar Creating jdk1.5.0_08/jre/lib/javaws.jar Creating jdk1.5.0_08/jre/lib/deploy.jar [root@sample ~]# mv jdk1.5.0_08/ /usr/local/ /usr/local/ ← 将解压后的目录移动至
[root@sample ~]# rm -f jdk-1_5_0_08-linux-i586.bin 源文件
[4] 安装 Tomcat5
← 删除安装后遗留的
[root@sample ~]# wget https://www.wendangku.net/doc/939402024.html,/tomcat/tomcat-5/v5.0.28/bin/jakarta-tomcat-5.0.28.tar. gz ← 下载 tomcat --19:51:58-https://www.wendangku.net/doc/939402024.html,/tomcat/tomcat-5/v5.0.28/bin/jakarta-tomcat-5.0.28.tar. gz => `jakarta-tomcat-5.0.28.tar.gz' Resolving https://www.wendangku.net/doc/939402024.html,…… 61.129.78.119 Connecting to https://www.wendangku.net/doc/939402024.html,|61.129.78.119|:80…… connected. HTTP request sent, awaiting response…… 302 Found Location: ftp://https://www.wendangku.net/doc/939402024.html,/apache/tomcat/tomcat-5/v5.0.28/bin/jakarta-tomcat-5.0.28.tar.g z [following] --1

9:51:59-ftp://https://www.wendangku.net/doc/939402024.html,/apache/tomcat/tomcat-5/v5.0.28/bin/jakarta-tomcat-5.0.28.tar.g z => `jakarta-tomcat-5.0.28.tar.gz' Resolving https://www.wendangku.net/doc/939402024.html,…… 61.129.78.119 Connecting to https://www.wendangku.net/doc/939402024.html,|61.129.78.119|:21…… connected. Logging in as anonymous …… Logged in! ==> SYST …… done. ==> PWD …… done.
==> TYPE I …… done. ==> CWD /apache/tomcat/tomcat-5/v5.0.28/bin …… done. ==> PASV …… done. ==> RETR jakarta-tomcat-5.0.28.tar.gz …… done. [ <=> ] 10,718,313 236.29K/s 19:53:11 (152.98 KB/s) - `jakarta-tomcat-5.0.28.tar.gz' saved [10718313] [root@sample ~]# tar zxvf jakarta-tomcat-5.0.28.tar.gz 文件 ← 展开被压缩的 tar
[root@sample ~]# mv jakarta-tomcat-5.0.28 /usr/local/tomcat 开的目录到相应目录 [root@sample ~]# rm -f jakarta-tomcat-5.0.28.tar.gz 源文件
[5] 安装 mod_jk。
← 移动被展
← 删除安装后遗留的
在安装 mod_jk 之前,要首先安装 httpd-devel,以便于用 apxs 命令来让 mod_jk 模块 的安装顺利进行。
[root@sample modules]# yum -y install httpd-devel
← 在线安装 httpd-devel
Setting up Install Process Setting up repositories dag 100% |=========================| 1.1 kB 00:00 update 100% |=========================| 951 B 00:00 base 100% |=========================| 1.1 kB 00:00 addons 100% |=========================| 951 B 00:00 extras 100% |=========================| 1.1 kB 00:00 Reading repository metadata in from local files Reducing Dag RPM Repository for Red Hat Enterprise Linux to included packages only Finished Parsing package install arguments Resolving Dependencies --> Populating transaction set with selected packages. Please wait. > Downloading header for httpd-devel to pack into transaction set. httpd-devel-2.0.52-28.ent 100% |=========================| 28 kB 00:00 > Package httpd-devel.i386 0:2.0.52-28.ent.centos4 set to be updated --> Running transaction check --> Processing Dependency: apr-util-devel for package: httpd-devel --> Processing Dependency: apr-devel for package: httpd-devel
--> Processing Dependency: pcre-devel for package: httpd-devel --> Restarting Dependency Resolution with new changes. --> Populating transaction set with selected packages. Please wait. > Downloading header for apr-devel to pack into transaction set. apr-devel-0.9.4-24.5.c4.2 100% |=========================| 32 kB 00:00 > Package apr-devel.i386 0:0.9.4-24.5.c4.2 set to be updated > Downloading header for apr-util-devel to pack into transaction set. apr-util-devel-0.9.4-21.i 100% |=========================| 25 kB 00:00 > Package apr-util-devel.i386 0:0.9.4-21 set to be updated > Downloading header for pcre-devel to pack into transaction set. pcre-devel-4.5-3.2.RHEL4. 100% |=========================| 6.8 kB 00:00 > Package pcre-devel.i386 0:4.5-3.2.RHEL4 set to be updated --> Running transaction check Dependencies Resolved =========================================================== ================== Package Arch Version

Repository Size =========================================================== ================== Installing: httpd-devel i386 2.0.52-28.ent.centos4 base 145 k Installing for dependencies: apr-devel i386 0.9.4-24.5.c4.2 base 503 k apr-util-devel i386 0.9.4-21 base 239 k pcre-devel i386 4.5-3.2.RHEL4 base 96 k Transaction Summary =========================================================== ================== Install 4 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 983 k Downloading Packages: (1/4): apr-devel-0.9.4-24 100% |=========================| 503 kB 00:04 (2/4): apr-util-devel-0.9 100% |=========================| 239 kB 00:08 (3/4): pcre-devel-4.5-3.2 100% |=========================| 96 kB 00:02 (4/4): httpd-devel-2.0.52 100% |=========================| 145 kB 00:03
Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing: apr-devel ######################### [1/4] Installing: apr-util-devel ######################### [2/4] Installing: pcre-devel ######################### [3/4] Installing: httpd-devel ######################### [4/4] Installed: httpd-devel.i386 0:2.0.52-28.ent.centos4 Dependency Installed: apr-devel.i386 0:0.9.4-24.5.c4.2 apr-util-devel.i386 0:0.9.4-21 pcre-devel.i386 0:4.5-3.2.RHEL4 Complete!
然后安装 JK2。
[root@sample modules]# wget https://www.wendangku.net/doc/939402024.html,/dist/jakarta/tomcat-connectors/jk2/jakarta-tomcat-co nnectors-jk2-src-current.tar.gz ← 下载 JK2 的源代码 --09:13:57-https://www.wendangku.net/doc/939402024.html,/dist/jakarta/tomcat-connectors/jk2/jakarta-tomcat-co nnectors-jk2-src-current.tar.gz => `jakarta-tomcat-connectors-jk2-src-current.tar.gz' Resolving https://www.wendangku.net/doc/939402024.html,…… 192.87.106.226 Connecting to https://www.wendangku.net/doc/939402024.html,|192.87.106.226|:80…… connected. HTTP request sent, awaiting response…… 200 OK Length: 907,088 (886K) [application/x-tar] 100%[====================================>] 907,088 268.51K/s ETA 00:00 09:14:01 (267.76 KB/s) - `jakarta-tomcat-connectors-jk2-src-current.tar.gz' saved [907088/907088] [root@sample ~]# tar zxvf jakarta-tomcat-connectors-jk2-src-current.tar.gz ← 解开被压缩的源代码 [root@sample ~]# cd jakarta-tomcat-connectors-jk2*/jk/native2 应目录 [root@sample native2]# ./configure --with-apxs2=/usr/sbin/apxs checking build system type…… i686-redhat-linux-gnu ← 进入相
← 配置
checking host system type…… i686-redhat-linux-gnu checking target system type…… i686-redhat-linux-gnu checking for a BSD-compatible install…… /usr/bin/install -c checking whether build environment is sane…… yes checking for gawk…… gawk checking whether make sets $(MAKE)…… yes checking for gcc…… gcc checking for C compiler default output…… a.out checking whether the C compiler works…… yes checking whether we are cross compiling…… no …………………………………… …………………………………… ……中间提示信息省略………

… …………………………………… …………………………………… checking checking for iis…… not provided checking checking for iPlanet…… not provided checking for tomcat33 location…… not provided checking for tomcat40 location…… not provided checking for tomcat41 location…… not provided configure: creating ./config.status config.status: creating Makefile config.status: creating server/apache13/Makefile config.status: creating server/apache13/Makefile.apxs config.status: creating server/apache2/Makefile config.status: creating server/apache2/Makefile.apxs config.status: creating ../build.properties config.status: creating scripts/build/unix/dummy config.status: executing depfiles commands [root@sample native2]# make ← 编译
list=' server/apache2'; \ for i in $list; do \ echo "Making $target in $i"; \ if test "$i" != "."; then \ (cd $i && make) || exit 1; \ fi; \ done; Making in server/apache2 make[1]: Entering directory `/root/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2/server/apache2' mkdir -p ../../../build/jk2/apache2/usr/lib/httpd/modules /bin/sh /usr/lib/apr/build/libtool --silent --mode=compile gcc -O2 -g -pipe -m32
…………………………………… …………………………………… ……中间提示信息省略………… …………………………………… …………………………………… /bin/sh /usr/lib/apr/build/libtool --silent --mode=install /bin/cp ../../../build/jk2/apache2/mod_https://www.wendangku.net/doc/939402024.html, `pwd`/../../../build/jk2/apache2//usr/lib/httpd/modules libtool: install: warning: remember to run `libtool --finish /usr/lib/httpd/modules' /bin/cp ../../../build/jk2/apache2//usr/lib/httpd/modules/mod_jk2.so ../../../build/jk 2/apache2/mod_jk2.so make[1]: Leaving directory `/root/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2/server/apache2' [root@sample native2]# cd ../build/jk2/apache2 应目录 ← 进入 mod_jk2 所在的相
[root@sample apache2]# apxs -n jk2 -i mod_jk2.so 模块
← 为 Apache 安装 JK2
/usr/lib/httpd/build/instdso.sh SH_LIBTOOL='/bin/sh /usr/lib/apr/build/libtool' mod_jk2.so /usr/lib/httpd/modules /bin/sh /usr/lib/apr/build/libtool --mode=install cp mod_jk2.so /usr/lib/httpd/modules/ cp mod_jk2.so /usr/lib/httpd/modules/mod_jk2.so Warning! dlname not found in /usr/lib/httpd/modules/mod_jk2.so. Assuming installing a .so rather than a libtool archive. chmod 755 /usr/lib/httpd/modules/mod_jk2.so [root@sample apache2]# cp ../../../conf/workers2.properties /etc/httpd/conf/ ← 复制 Apache 相关的配置文件到相应目录 [root@sample apache2]# cd ← 回到 root 跟目录 ← 删除安装遗留的
[root@sample ~]# rm -rf jakarta-tomcat-connectors-jk2* 源文件 定义相关环境变量 [root@sample ~]# vi /etc/profile 文尾
← 编辑环境变量文件,添加如下语句到文件
export JAVA_HOME=/usr/local/jdk1.5.0_08
export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/jre

/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tool s.jar export TOMCAT_HOME=/usr/local/tomcat export CATALINA_HOME=/usr/local/tomcat export CLASSPATH=$CLASSPATH:$CATALINA_HOME/common/lib [root@sample ~]# source /etc/profile 配置 Tomcat 和 Apache
[1] 配置 Tomcat。
← 使环境变量生效
[root@sample ~]# vi /usr/local/tomcat/conf/web.xml
← 编辑 web.xml
default org.apache.catalina.servlets.DefaultServlet
debug
0
listings
true ← 找到这一行,将 true 改为 false ↓
false ← 变为此状态, 禁止查看目录结构信息 1 [root@sample ~]# vi /usr/local/tomcat/conf/server.xml ← 编辑 server.xml
← 找到这一行,接这 一行添加下面的语句:
[2] 配置 Apache 的相关设置。
[root@sample ~]# vi /etc/httpd/conf/workers2.properties 文件,添加如下行到文尾: [uri:/servlets-examples/*] [uri:/jsp-examples/*] [root@sample usr]# vi /etc/httpd/conf/httpd.conf LoadModule cgi_module modules/mod_cgi.so 如下新的行 LoadModule jk2_module modules/mod_jk2.so 加 JK2 的模块 [root@sample ~]# /etc/rc.d/init.d/httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ] 启动 Tomcat
← 修改 JK2 的配置
← 编辑 Apache 的配置文件 ← 找到这一行,在下面添加 ← 添加此行,为 Apache 添
首先为 Tomcat 编辑一段启动脚本,并置于/etc/rc.d/init.d 目录下,让 Tomcat 和 httpd 一样作为一项系统服务,并随系统自动启动。
[root@sample ~]# vi /etc/rc.d/init.d/tomcat
← 建立 Tomcat 启动脚本,如下:
#!/bin/bash # # Startup script for the tomcat # # chkconfig: 345 80 15 # description: Tomcat is a Servlet+JSP Engine. # Source function library. . /etc/rc.d/init.d/functions start(){ if [ -z $(/sbin/pidof java) ]; then echo "Starting tomcat" /usr/local/tomcat/bin/startup.sh touch /var/lock/subsys/tomcat else
echo "tomcat allready running" fi } stop(){ if [ ! -z $(/sbin/pidof java) ]; then echo "Shutting down tomcat" /usr/local/tomcat/bin/shutdown.sh until [ -z $(/sbin/pidof java) ]; do :; done rm -f /var/lock/subsys/tomcat else echo "tomcat not running" fi } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; status) /usr/local/tomcat/bin/catalina.sh version ;; *) echo "Usage: $0 {start|stop|restart|status}" esac exit 0 [root@sample ~]# chmod 755 /etc/rc.d/init.d/tomcat 为 755(使之可执行) [root@sample ~]# chkconfig --add tomcat [root@sample ~]# chkconfig tomcat on ← 将启动脚本属性设置
← 将 Tomcat 加入到 chkconfig 中 ← 将 Tomcat 设置为自启动
[root@sample ~]# chkconfig --list tomcat

← 确认 Tomcat 服务状态 tomcat 0:off 1:off 2:on 3:on 4:on 5:on 6:off ← 确认 2~5 为 on 的状态就 OK
[root@sample ~]# /etc/rc.d/init.d/tomcat start
← 启动 Tomcat
Starting tomcat Using CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JAVA_HOME: /usr/local/jdk1.5.0_08 测试 Servlet/JSP
[1] 在浏览器上输入 http://你的 IP 地址(或你的域名)/jsp-examples ,确认是否出现如下 画面:
如果出现如上画面,说明 JSP 正常工作。 [2] 在浏览器上输入 http://你的 IP 地址(或你的域名)/servlets-examples ,确认是否出现 如下画面:
如果出现如上画面,说明 JSP 正常工作。
<<< 返回顶端
Cop yright ? Chao Chen , All rights reserved .




配置详解
技术论坛
最近更新
About
<<< 返回[配置详解]索引 < 基于日志的站点统计系统的构建( Awstats ) > (最近更新日:2006/09/13) 基于日志的站点统计系统的构建(


通过我们构建的 HTTP 服务器将 Web 发布后,随着不断被访问,Apache 会记下每个 访客的基本信息。CentOS 的情况下,这些信息通常保存在位于/var/log/httpd/下的相应日志 文件中。但 Apache 单调的日志,除了提供给我们一些最基本的服务器被访信息、以及出错 信息之外,我们很难单纯的通过日志文件得到更多、更系统的关于时间、规律性、地点方面 的信息。这也使得很难通过单纯的日志去系统的分析流量。 但通过 Awstats,我们可以把 Apache 的日志作为一种有效资源,获得更加系统化的信 息。 实质上,Awstats 就是一套分析系统,它将日志文件统计学式的进行分析与统计,然后 提供一个能够反映规律性的界面给我们。Awstats 并不是仅能应用于分析 Apache 的日志, 在邮件服务器等等方面,它也被广泛的应用。但在这一节中,只介绍在 Web 服务器中运用 Awstats 建立统计系统的方法。
下载并安装 Awstats
首先下载并安装 Awstats。
[root@sample ~]# wget https://www.wendangku.net/doc/939402024.html,/sourceforge/awstats/awstats-6.5-1.noarch.rpm ← 下载 Awstats 的 rpm 包 --15:34:59-https://www.wendangku.net/doc/939402024.html,/sourceforge/awstats/awstats-6.5-1.noarch.rpm => `awstats-6.5-1.noarch.rpm' Resolving https://www.wendangku.net/doc/939402024.html,…… 211.79.61.10 Connecting to https://www.wendangku.net/doc/939402024.html,|211.79.61.10|:80…… connected. HTTP request sent, awaiting response…… 200 OK Length: 1,095,131 (1.0M) [text/plain] 100%[====================================>] 1,095,131 155.28K/s ETA 00:00 15:35:06 (158.94 KB/s) - `awstats-6.5-1.noarch.rpm' saved [1095131/1095131] [root@sample ~]# rpm -ivh awstats-6.5-1.noarch.rpm ← 安装 Awstats
Preparing…… ########################################### [100%] 1:awst

ats ########################################### [100%] AWStats 6.5 - Laurent Destailleur AWStats files have been installed in /usr/local/awstats If first install, follow instructions in documentation (/usr/local/awstats/docs/index.html) to setup AWStats in 3 steps: Step 1 : Install and Setup with awstats_configure.pl (or manually) Step 2 : Build/Update Statistics with awstats.pl Step 3 : Read Statistics
然后删除安装后的遗留源文件。
[root@sample ~]# rm -f awstats-6.5-1.noarch.rpm 文件 配置 Awstats
接下来对 Awstats 进行初始配置。
← 删除安装后的遗留源
[root@sample ~]# /usr/local/awstats/tools/awstats_configure.pl 始配置脚本
← 运行初
AWStats awstats_configure 1.0 (build 1.6) (c) Laurent Destailleur This tool will help you to configure AWStats to analyze statistics for one web server. You can try to use it to let it do all that is possible in AWStats setup, however following the step by step manual setup documentation (docs/index.html) is often a better idea. Above all if: - You are not an administrator user, - You want to analyze downloaded log files without web server, - You want to analyze mail or ftp log files instead of web log files, - You need to analyze load balanced servers log files, - You want to 'understand' all possible ways to use AWStats…… Read the AWStats documentation (docs/index.html). > Running OS detected: Linux, BSD or Unix Warning: AWStats standard directory on Linux OS is '/usr/local/awstats'. If you want to use standard directory, you should first move all content of AWStats distribution from current directory: /root to standard directory:
/usr/local/awstats And then, run configure.pl from this location. Do you want to continue setup from this NON standard directory [yN] ? y 选择 y,同意安装到默认目录下 > Check for web server install Enter full config file path of your Web server. Example: /etc/httpd/httpd.conf Example: /usr/local/apache2/conf/httpd.conf Example: c:\Program files\apache group\apache\conf\httpd.conf Config file path ('none' to skip web server setup): > /etc/httpd/conf/httpd.conf ← 指定 Apache 配置文件所在位置 > Check and complete web server config file '/etc/httpd/conf/httpd.conf' Add 'Alias /awstatsclasses "/root/wwwroot/classes/"' Add 'Alias /awstatscss "/root/wwwroot/css/"' Add 'Alias /awstatsicons "/root/wwwroot/icon/"' Add 'ScriptAlias /awstats/ "/root/wwwroot/cgi-bin/"' Add '' directive AWStats directives added to Apache config file. > Update model config file '/etc/awstats/awstats.model.conf' File awstats.model.conf updated.

> Need to create a new config file ? Do you want me to build a new AWStats config/profile file (required if first install) [y/N] ? y ← 选择 y, 同意创建一个新的对象配置文 件 > Define config file name to create What is the name of your web site or profile analysis ? Example: https://www.wendangku.net/doc/939402024.html, Example: demo Your web site, virtual server or

profile name: > https://www.wendangku.net/doc/939402024.html, ← 为统计对象创建代号 (推荐以网站 URL 作为代号) > Define config file path In which directory do you plan to store your config file(s) ? Default: /etc/awstats Directory path to store config file(s) (Enter for default): > ← 直接按回车,接受将 Awstats 的配置文件置于/etc/awstats 下 > Create config file '/etc/awstats/https://www.wendangku.net/doc/939402024.html,.conf'
Config file /etc/awstats/https://www.wendangku.net/doc/939402024.html,.conf created. > Restart Web server with '/sbin/service httpd restart' 启动 Stopping httpd: Starting httpd: [ OK ] [ OK ] ← HTTP 服务重新
> Add update process inside a scheduler Sorry, configure.pl does not support automatic add to cron yet. You can do it manually by adding the following command to your cron: /root/wwwroot/cgi-bin/awstats.pl -update -config=https://www.wendangku.net/doc/939402024.html, Or if you have several config files and prefer having only one command: /root/tools/awstats_updateall.pl now Press ENTER to continue…… ← 按回车继续进行配置 A SIMPLE config file has been created: /etc/awstats/https://www.wendangku.net/doc/939402024.html,.conf You should have a look inside to check and change manually main parameters. You can then manually update yourstatistics for 'https://www.wendangku.net/doc/939402024.html,' with command: > perl awstats.pl -update -config=https://www.wendangku.net/doc/939402024.html, You can also read your statistics for 'https://www.wendangku.net/doc/939402024.html,' with URL: > http://localhost/awstats/awstats.pl?config=https://www.wendangku.net/doc/939402024.html, Press ENTER to finish…… ← 按回车结束初始配置
然后对刚刚创建的对象配置文件进行配置。
[root@sample ~]# vi /etc/awstats/https://www.wendangku.net/doc/939402024.html,.conf 改对象配置文件(文件名与上一步初始配置中设置的域名对应)
← 修
LogFile="/var/log/httpd/mylog.log" ← 找到这一行,修改日至文件所在位置 (指定 Apache 的日志文件) ↓ LogFile="/var/log/httpd/access_log" ← 变为此状态 DirData="/var/lib/awstats" ← 找到这一行,更改 Awstats 数据的保存位置 ↓ DirData="." ← 变为此状态,让数据与 awstats.pl 脚本在同目录下 Lang="auto" ↓ ← 找到这一行,将 auto 改为 cn
Lang="cn"
← 变为此状态,让语言默认为中文
SkipHosts="" ← 找到这一行,在""之间添加无效访问规则 ↓ SkipHosts="127.0.0.1 REGEX[^192\.168\.]" ← 变为此状态,本地及内部的 访问不做分析统计 LevelForWormsDetection=0 ↓ LevelForWormsDetection=2 析统计 ← 找到这一行,将 0 改为 2 ← 变为此状态,将来自 Worm 的访问也不做分
接下来,再对 httpd.conf 中面向 Awstats 的部分进行必要设置。
[root@sample ~]# vi /etc/httpd/conf/httpd.conf # # Directives to allow use of AWStats as a CGI # Alias /awstatsclasses "/root/wwwroot/classes/" Alias /awstatscss "/root/wwwroot/css/" Alias /awstatsicons "/root/wwwroot/icon/" ScriptAlias /awstats/ "/root/wwwroot/cgi-bin/"
← 编辑 Apache 的配置文件
找到以

上水平线间的语句群, 对相应路径进行正确修改。 变为下面水平线间状态: Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/" Alias /awstatscss "/usr/local/awstats/wwwroot/css/" Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/" ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/" # # This is to permit URL access to scripts/files in AWStats directory. # ← 找到这一行,对相应路径进行正确修改 ↓ ← 变为此状态
然后,重新启动 HTTP 服务,使新的设置生效。
[root@sample ~]# /etc/rc.d/init.d/httpd restart 置生效 Stopping httpd: Starting httpd: 对日志进行分析统计
← 重新启动 HTTP 服务,使设
[ OK ] [ OK ]
配置完毕后,我们可以通过各种适用于自己的方式,定义统计的方式以及输出的结果。 在这里,介绍最简单,也是最广泛的统计方法,如下:
[root@sample ~]# vi /root/awstats.sh
← 建立统计用脚本如下:
#!/bin/bash /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=https://www.wendangku.net/doc/939402024.html, (以上紫色字体部分的域名请根据实际情况设置) [root@sample ~]# chmod 700 /root/awstats.sh 性 [root@sample ~]# /root/awstats.sh 比较大的话,要花一段时间) ← 赋予脚本可被执行的属
← 运行脚本,开始进行统计(如日志量
Update for config "/etc/awstats/https://www.wendangku.net/doc/939402024.html,.conf" With data in log file "/var/log/httpd/access_log"…… Phase 1 : First bypass old records, searching new record…… Searching new records from beginning of log file…… Phase 2 : Now process new records (Flush history on disk after 20000 hosts)…… Jumped lines in file: 0 Parsed lines in file: 55 Found 52 dropped records, Found 0 corrupted records, Found 0 old records, Found 3 new qualified records.
然后在客户端的浏览器上访问 http://服务器 IP 地址(或你的域名) /awstats/awstats.pl?config=https://www.wendangku.net/doc/939402024.html, 即可看到详细的分析统计资料,如下图:
定制统计分析规则及相应外观设置 定制统计分析规则及相应外观设置
[1] 完成以上配置,我们已经可以通过客户端的浏览器,掌握 Web 服务器的访问量、来路 等等详细的信息, 但由于 Awstats 的统计是基于 Apache 日志的, 我们必须通过 awstats.pl 对当前最新的日志文件进行统计才能得到最新的统计结果。 也就是说, 在我们运行自行创建 的 awstats.sh 脚本之前, 当前在客户端能够看到的统计分析结果,只是上一次运行 awstats.sh 脚本时统计的结果。想得到最新的统计结果,必须再次运行 awstats.sh。 在这 里,我们将其设置为每天定时自动运行,以便于每天都能查看到最新的信息。如下:
[root@sample ~]# crontab -e 一行: 00 00 * * * /root/awstats.sh
← 对定期任务执行时间表进行编辑,添加如下
← 添加此

行到其中,让统计分析在每天 0 点更新
(以上操作方法与 vi 编辑器相同)
[2] 在一些情况,可能并不希望外界看到日志统计分析的结果。对此,我们可以为 Apache 添加面向于 Awstats 的访问限制,如下:
[root@sample ~]# vi /etc/httpd/conf.d/awstats.conf 的配置文件 AllowOverride None Order deny,allow Deny from all Allow from 192.168.0
← 创建面向于 Awstats
← 只允许局域网内访问
[root@sample ~]# /etc/rc.d/init.d/httpd restart 置生效 Stopping httpd: Starting httpd:
← 重新启动 HTTP 服务,使设
[ OK ] [ OK ]
[3] 用 Firefox 浏览分析结果时,字体会显得很难看(因为 Firefox 和 IE 识别 11px 字体不一 样),所以用 Firefox 浏览器的情况,可以通过修改 awstats.pl 输出 css 的相关字体尺寸进 行修改, 而达到用 Firefox 浏览时也和 IE 一样能够正确显示出适当尺寸的字体。 方法就是直 接编辑"/usr/local/awstats/wwwroot/cgi-bin/awstats.pl",将文件中所有“11px”的地方都替换 为“12px。
<<< 返回顶端
Cop yright ? Chao Chen , All rights reserved .

相关文档
相关文档 最新文档