一.安装tomcat+apache
1、安装过程中提示需要gcc支持,解决方法如下
yum -y install gcc
yum -y install gcc-c++
1.2、安装过程中提示提示APR not found 解决方法如下
下载apr安装包:
http://apache.etoak.com//apr/apr-1.4.6.tar.gz
tar zxvf apr-1.4.6.tar.gz
cd apr-1.4.6
./configure --prefix=/usr/local/apr
make && make install
1.3、下载apr-util安装包:
http://mirror.bjtu.edu.cn/apache//apr/apr-util-1.5.1.tar.gz
tar zxvf apr-util-1.5.1.tar.gz
cd apr-util-1.5.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
make && make install
1.4、下载pcre安装包:
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.32.zip
unzip pcre-8.32.zip
cd pcre-8.32
./configure --prefix=/usr/local/pcre
make && make install
2、准备,下载需要的文件。这里假定你已经正确安装配置好了JDK。
到Apache官方网站下载所需要的文件:
httpd-2.2.0.tar.gz
apache-tomcat-5.5.12.tar.gz
jakarta-tomcat-connectors-1.2.15-src.tar.gz
其中httpd和jakarta-tomcat-connectors为源码包,apache-tomcat为二进制包。
3、安装Apache
tar xzvf httpd-2.2.0.tar.gz
cd httpd-2.2.0
./configure --prefix=/usr/local/apache2 --enable-so
make
make install
4、安装Tomcat。
cp apache-tomcat-5.5.12.tar.gz /usr/local/
cd /usr/local# tar xzvf apache-tomcat-5.5.12.tar.gz
ln -s apache-tomcat-5.5.12 tomcat
5、编译生成mod_jk。
代码:#
tar xzvf jakarta-tomcat-connectors-1.2.15-src.tar.gz
cd jakarta-tomcat-connectors-1.2.15-src/jk/native
./configure --with-apxs=/usr/local/apache2/bin/apxs
make
cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules/
6、配置。
6.1、在/usr/local/apache2/conf/下面建立两个配置文件mod_jk.conf和workers.properties。
6.2、修改mod_jk.conf,添加以下内容:
# 指出mod_jk模块工作所需要的工作文件workers.properties的位置
JkWorkersFile /usr/local/apache2/conf/workers.properties
# Where to put jk logs
JkLogFile /usr/local/apache2/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
6.2、修改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
6.3、再配置httpd.conf,作以下修改:
将Listen 80 修改为 Listen 127.0.0.1 : 80
将ServerName 修改为 ServerName LocalHost : 80
在DirectoryIndex中添加 index.jsp
我的网页放在/var/wwwroot下,所以要修改DocumentRoot
DocumentRoot "/var/wwwroot"
<Directory "/var/wwwroot">
Options Includes FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
XBitHack on
</Directory>
<Directory "/var/wwwroot/WEB-INF">
Order deny,allow
Deny from all
</Directory>
增加关于加载mod_jk的配置:
LoadModule jk_module modules/mod_jk.so
Include /usr/local/apache2/conf/mod_jk.conf
6.4、最后编辑Tomcat的配置文件server.xml,在HOST段中加入:
<Context path="" docBase="/var/wwwroot" debug="0" reloadable="true" crossContext="true"/>
httpd.conf常用字段:
一、字段
1:根目录设置 ServerRoot
默认设置:ServerRoot “/etc/httpd”
2:超时设置 Timeout
默认设置:Timeout 120
3:客户端最大连接数限制 MaxClients
默认设置:MaxClients 256
4:设置管理员邮件地址 ServerAdmin
默认设置:ServerAdmin root@localhost
5:设置www服务器主机名称 ServerName
默认设置:ServerAdmin www.example.com:80
6:设置文档目录 DocumentRoot
默认设置:DocumentRoot “/var/www/html”
7:首页 index.html
默认设置:DirectoryIndex index.html index.html.var
8:网页编码设置 AddDefaultCharset
默认设置:AddDefaultCharset GB2312
9:错误日志 ErrorLog
默认设置:ErrorLog logs/error_log
10:访问日志 CustomLog
默认设置:CustomLog logs/access_log common
二、容器
对网站的目录和文件限制性访问
<Directory 目录>
控制语句
</Directory>
1、根目录默认设置:
<Directory/> /根目录的默认访问权限
Options FollowSymLinks //允许在目录使用符号链接
AllowOverrride None //禁止使用.htaccess
<Directory>
Options 字段来定义目录使用哪些特性,有Indexes ,ExecCGI ,ALL等等
AllowOverride 字段与.htaccess有关
2、文档目录的默认设置:
<Directory “/var/www/html”> /文档目录
Options Indexes FollowSymLinks //访问权限
Order allow,deny ///顺序很重要
Allow from all //允许所有的访问
<Directory>
3、虚拟目录
使用Alias 字段可以创建虚拟目录
Alias 虚拟目录 实际路径
默认设置:
Alias /icons/ “/var/www/icons/”
4、运行apache的用户和组
默认设置:
User apache
Group apache
(也可以设定为nobody,更加安全)
三、虚拟主机
1:基于IP地址的虚拟主机
服务器站点为kk.apple.com ip地址为 192.168.1.112
增加两个虚拟站点:www.apple.com 和 bbs.apple.com
映射ip:
www.apple.com 192.168.1.253
bbs.apple.com 192.168.1.254
绑定ip:
Ifconfig eth0:0 192.168.1.253 netmask 255.255.255.0
Ifconfig eth0:1 192.168.1.254 netmask 255.255.255.0
(放入/etc/rc.d/rc.local 随系统启动而启动)
配置虚拟主机:
<VirtualHost 192.168.1.112:80>
DocumentRoot /var/www/html/kk.apple.com
ServerName kk.apple.com
</VirtualHost>
<VirtualHost 192.168.1.253:80>
DocumentRoot /var/www/html/www.apple.com
ServerName www.apple.com
</VirtualHost>
<VirtualHost 192.168.1.254:80>
DocumentRoot /var/www/html/bbs.apple.com
ServerName bbs.apple.com
</VirtualHost>
重启apache
(注意:分别在/var/www/html/下建立虚拟站点的目录,首页以及访问的网页)
2、基于域名的虚拟主机开启: NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /var/www/html/kk.apple.com
ServerName kk.apple.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/www.apple.com
ServerName www.apple.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/bbs.apple.com
ServerName bbs.apple.com
</VirtualHost>
在DNS服务器里把所有的虚拟站点指向www服务器的ip :192.168.1.112
重启named
重启apache
四、访问控制(基于网站或基于目录或文件)
order allow deny
实例:
order allow,deny ///注意顺序
allow from 192.168.1.0/255.255.255.0 //允许这个网段访问
deny from 192.168.110 ///拒绝这个IP的访问