第九章:Apache服务全攻略(二案例)
理论部分,大家可以看一下这里
http://www.freeopens.com/2010_02_625.html
案例详解
【案例1】建立Web服务器,并根据以下要求配置Web服务器。
(1)设置主目录的路径为/var/www/web。
(2)添加index.jsp文件作为默认文档。
(3)设置Apache监听的端口号为8888。
(4)设置默认字符集为GB2312。
(5)建立一个名为temp的虚拟目录,其对应的物理路径是/usr/local/temp,并配置Web服务器允许该虚拟目录具备目录浏览和允许内容协商的多重视图特性。仅允许来自网络192.168.16.0/24客户机的访问。
(6)建立一个名为private的虚拟目录,其对应的物理路径是/usr/local/private,并配置Web服务器对该虚拟目录启用用户认证,只允许用户名为abc和xyz的用户访问。
mkdir /var/www/web
mkdir /usr/local/temp
mkdir /usr/local/private
htpasswd -c /etc/httpd/mycreatpwd abc
htpasswd /etc/httpd/mycreatpwd xyz
注意mycreatpwd的文件的权限,只需要设置成apaceh用户能访问就OK,而且尽可能不要放在网站的目录下,防止被下载。
配置httpd.conf
主要内容如下:
DocumentRoot “/var/www/web”
DirectoryIndex index.jsp
Litsen 8888
AddDefaultCharset GB2312
Alias /temp “/usr/local/temp/”
<Directory “/usr/local/tmp”>
Options Indexes MultiViews
Order allow,deny
Allow from 10.0.0.0/8
</Directory>
Alias /private “/usr/local/private/”
<Directory “/usr/local/private”>
AuthType Basic
AuthUserFile /etc/httpd/mycreatpwd
AuthName “this is private directory,please Login:”
Require user abc xyz
AllowOverride None
Order allow,deny
Allow from all
</Directory>
【案例2】使用10.0.0.8和10.0.0.9两个IP地址创建基于IP地址的虚拟主机,其中IP地址为10.0.0.8的虚拟主机对应的主目录为/usr/www/web1,IP地址为10.0.0.9的虚拟主机对应的主目录为/usr/www/web2。
在DNS服务器中建立www.example1.com和www.example2.com两个域名,使它们解析到同一个IP地址10.0.0.8上,然后创建基于域名的虚拟主机。其中域名为www.example1.com的虚拟主机对应的主目录为/usr/www/web1,域名为www.example2.com的虚拟主机对应的主目录为/usr/www/web2。
mkdir -p /usr/www/web1
mkdir /usr/www/web2
<VirtualHost 10.0.0.8:80>
ServerAdmin webmaster@localhost.com
DocumentRoot /usr/www/web1
ServerName localhost
ErrorLog logs/web1-error_log
CustomLog logs/web1-access_log common
</VirtualHost>
<VirtualHost 10.0.0.9:80>
ServerAdmin webmaster@localhost.com
DocumentRoot /usr/www/web2
ServerName localhost
ErrorLog logs/web2-error_log
CustomLog logs/web2-access_log common
</VirtualHost>
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:1
vim /etc/sysconfig/network-scripts/ifcfg-eth0:1
改成
DEVICE=eth0:1
IPADDR=10.0.0.9
注意:这里的HTTPD配置文件其它的都是默认。
如果说这两个IP的端口不同的话,就要在Listen 80下面增加相应的监听端口!至于通过域名来实现的过程,留给大家自己做实验!!如果DNS不明白的话,可以参考我前面的课程!
【案例3】让Web服务器支持CGI运行环境。
①安装perl-软件
②在主目录的权限设置的options里增加ExecCGI
③指定CGI文件的类型
开启AddHandler cgi-script .cgi
④创建测试文件,内容如下
#!/usr/bin/perl
print “Content-type: text/html\n\n”;
print “hello world!!!”;
exit
⑤给文件可执行权限
⑥进行测试
让Web服务器支持PHP运行环境。
①安装PHP软件
php-common
php-cli
php
②创建测试文件内容如下
<?
phpinfo();
?>
让Web服务器支持JSP运行环境。
由于tomcat所依赖的软件比较多,所以建议大家用YUM进行安装
1.下载或编译自己的mod_jk.so
http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.21/mod_jk-1.2.21-apache-2.2.x-linux-i686.so
http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.28/tomcat-connectors-1.2.28-src.tar.gz
将编译好的mod_jk.so或下载下来的mod_jk-1.2.21-apache-2.2.x-linux-i686.so拷贝到/etc/httpd/modules目录中,并将它重命名为mod_jk.so
2、配置。
在/etc/httpd/conf/下面建立两个配置文件mod_jk.conf和workers.properties。
①# vi mod_jk.conf
添加以下内容:
代码:
# 指出mod_jk模块工作所需要的工作文件workers.properties的位置
JkWorkersFile /etc/httpd/conf/workers.properties
# Where to put jk logs
JkLogFile /etc/httpd/logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat “[%a %b %d %H:%M:%S %Y]“
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat “%w %V %T”
# 将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理
JkMount /servlet/* worker1
JkMount /*.jsp worker1
②# vi workers.properties
添加以下内容:
代码:
# Defining a worker named worker1 and of type ajp13
worker.list=worker1
# Set properties for worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300
③在Apache的配置文件中,增加关于加载mod_jk的语句:
代码:
LoadModule jk_module modules/mod_jk.so
Include /etc/httpd/conf/mod_jk.conf
④最后编辑Tomcat的配置文件/etc/tomcat5/server.xml,在HOST段(倒数第四行)中加入:
代码:
<Context path=”" docBase=”/var/www/html” debug=”0″ reloadable=”true” crossContext=”true”/>
⑤在/var/www/html下建立一个index.jsp,启动Apache和Tomcat,用浏览器访问http://localhost/,应该可以看到正确的页面了。
jsp测试页内容
<HTML>
<HEAD>
<TITLE>test jsp page</TITLE>
</HEAD>
<BODY>
<%out.println(“<h1>Hello World! </h1>”);%>
<%out.println(“<h1>Congratulations! ! </h1>”);%>
The time is <%= new java.util.Date() %>
</BODY>
</HTML>
★★★★★★★★★★★★★★★★★视频观看地址★★★★★★★★★★★★★★★★★★
http://www.boobooke.com/v/bbk3741
http://www.boobooke.com/v/bbk3742
http://www.boobooke.com/v/bbk3743
http://www.boobooke.com/v/bbk3744
http://www.boobooke.com/v/bbk3745






发表评论