MySQL安全问题(匿名用户)的一点心得

0

分类 : 技术文摘 | 发表时间 28-09-2007

在安装完MySQL后,它会自动创建一个root用户和一个匿名用户,其初始密码都是空,对于前者,很多参考资料上都会提醒大家要注意及时设定一个密码,而忽略了后者,大概是因为后者默认设定为只能在本机使用的缘故吧。

  但如果你的MySQL是要提供给Web服务器作数据库服务的,忽略这个匿名用户的代价可能相当惨重,因为在默认设置下,这个匿名用户在localhost上几乎拥有和root一样的权限,这时候,如果你的客户拥有上传脚本文件、脚本文件可以进行MySQL数据库操作(比如允许操作MySQL的php)的权限已经可能将你的MySQL改动得面目全非了:

  我今天帮朋友整理他的主页空间的时候,试着写了一个很简单的执行sql语句的php文件上传上去,其中连接字中的user,password我都试着置空,host=localhost,结果发现我的sql语句可以执行,于是执行select * from MySQL.user察看用户权限,发现这个用户在localhost权限非常高,连grant_priv都有,(察看的时候,会发现在root用户下有两行用户名、密码为空的,但各项权限有y\n的,就是这个匿名用户本地、远程权限设置了)

  所以我试着用这个php页面创建一个新用户,并grant给他较高的权限,结果一举成功,这样我就可以用这个新用户通过我本机的MySQL client连接到这个网站的MySQL server,并用这个新建立的用户的管理权限对这个网站的MySQL server进行管理,看到自己可以进行这样轻易获得深入的数据库操作,我怎么还敢把朋友的主页空间的敏感资料放入这个MySQL server呢?

  改进建议:

  1、在安装完成MySQL 后,不仅改变root用户的的密码,也同时改变匿名用户的密码,方法类似改变root的密码的方式:

  MySQL> UPDATE user set password=PASSWORD(‘yournewpassword’) where user=”;
  MySQL>FLUSH PRIVILEGES;

  2、如非必要,删除这个匿名用户,这样所有人要使用MySQL 都必须提供用户名,即便日后出了问题,也容易查找问题的源头。

  3、除了root用户外,其他用户包括匿名用户(如果没有删除这个用户)不应该拥有grant权限,防止管理权限不受控制的扩散出去。

  4、赋予用户update\delete\alert\create\drop权限的时候,应该限定到特定的数据库,尤其要避免普通客户拥有对MySQL数据库做操作的权限,否则你的系统设置很可能被替换掉。

  5、检查MySQL.user表,取消不必要用户的shutdown_priv,reload_priv,process_priv和File_priv权限,这些权限可能泄漏更多的服务器信息包括非MySQL的其它信息出去。

  6、如果不打算让你的用户使用MySQL数据库,在提供诸如php这样的脚本语言的时候,重新设置或编译你的php,取消它们对MySQL的默认支持。

Default storage engine (InnoDB) is not available导致mysql无法启动的修改办法

0

分类 : 网络日志 | 发表时间 09-06-2007

一次为了修改mysql的root用户密码,就启用了本机启动模式,可再次启用mysql时,却揭示:Default storage engine (InnoDB) is not available ,mysql无法启动,后搜索网络,得知

应该是配置文件有错,这里提示:“060827  1:12:22 [ERROR] Default storage engine (InnoDB) is not available
打开my.ini或my.cnf文件,找到default-storage-engine这一行,把它改成default-storage-engine=MyISAM。

Google释出优化MySQL的补丁及工具

0

分类 : 技术文摘 | 发表时间 30-04-2007

Google在Google Code上释放出基于GPL发行的MySQL-4.0.26优化补丁,及两个Python编写的脚本工具.

google code的google-mysql-tools页面:
http://code.google.com/p/google-mysql-tools/

windows和linux中mysql 忘记密码的办法

0

分类 : 技术文摘 | 发表时间 21-02-2007

Windows:
1. 用系统管理员登陆系统。
2. 停止MySQL的服务。
3. 进入命令窗口(cmd),然后进入MySQL的安装目录,比如我的安装目录是c:\mysql,进入C:\mysql\bin
4. 跳过权限检查启动MySQL,
c:\mysql\bin>mysqld-nt –skip-grant-tables
5. 重新打开一个cmd窗口,进入c:\mysql\bin目录,设置root的新密码
c:\mysql\bin>mysqladmin -u root flush-privileges password "newpassword"
c:\mysql\bin>mysqladmin -u root -p shutdown
将newpassword替换为你要用的root的密码,第二个命令会提示你输入新密码,重复第一个命令输入的密码。
6. 停止MySQL Server,用正常模式启动Mysql
7.你可以用新的密码链接到Mysql了。

Unix&Linux:
1.用root或者运行mysqld的用户登录系统;
2.利用kill命令结束掉mysqld的进程;
3.使用–skip-grant-tables参数启动MySQL Server
shell>mysqld_safe –skip-grant-tables &
4.为root@localhost设置新密码
shell>;mysqladmin -u root flush-privileges password "newpassword"
.重启MySQL Server

kill -9 mysql进程
mysqld_safe –user=mysql –skip-grants-table

小巧工具之mysqlexec & Mssqlexec

0

分类 : 技术文摘 | 发表时间 09-02-2007

作者: 鬼仔

比较老的东西了
以前连Mysql用的都是牛族的SuperMysql或者老兵的数据库管理助手
连Mssql则是Mssqlexec,或者SQL综合利用工具(这两个大家应该比较熟悉)

今天在国外一个论坛看到这个 Mysqlexec ,发上来,主要是这个 Mysqlexec 我以前没见过。
同时也把 Mssqlexec 发上来,我喜欢这种小巧的软件。
在我看来是比较经典的工具。

Mysqlexec
下载: mysqlexec.zip

Mssqlexec
下载: sqlexec.zip

今天处理的服务器上cdb_session问题

0

分类 : 网络日志 | 发表时间 04-02-2007

今天同事给我说,他一客户的dz论坛在发几个帖子之后,就出现了乱码,乱码的具体表现,现在已经无法详细描述,但大致原因似是说内存不够等;

登陆dz管理后台,看各个数据库中的表,发现cdb_session的问题,呈灰色不可选状态,到dz论坛查此问题,发现果然与此数据表有关,这个数据表一般记录用户登陆、在线等缓存数据,时间长了,需要清理一下,以减轻数据库的处理负担,这个表,经常清理,没有坏处,反而有莫大的好处。

利用dz论坛的repair.php,来检测dz论坛的数据库各表,没有发现问题,看来,数据库结构没事,应该是数据的问题了。

登陆phpmyadmin,选择清空数据,然后登陆到dz后台,清理缓存,此时,再到前台处理帖子,已经没有问题。

查dz论坛有些人员的回答办法是提升mysql数据库的引擎版本,我朋友的服务器上的版本是4.1.24的版本,应该算是比较稳定的版本,出现这问题,比较奇怪;唯一可能的是,这个论坛是通过备份的数据库还原的,这个表恰恰暂存的是其它版本的缓存数据,造成了一定的冲突。

此问题继续跟踪中!

 

有关Discuz!数据表含义

有很多人问到关于各个数据表的含义,我整理了一下,希望可以帮到大家
以下为Discuz!4.1.0的数据表含义
 

CODE:

cdb_access               用户权限表      
cdb_adminactions         管理动作表
cdb_admingroups          管理组数据表
cdb_adminnotes           管理员留言  
cdb_adminsessions        管理员后台在线记录
cdb_advertisements       广告资料表
cdb_announcements        论坛公告资料表
cdb_attachments          附件资料表
cdb_attachtypes          附件类型表
cdb_banned               被禁止的ip列表
cdb_bbcodes              bb代码资料表
cdb_blogcaches           博客缓存表
cdb_buddys               好友信息表
cdb_creditslog           积分交易记录表
cdb_crons                计划任务表
cdb_failedlogins         错误登录记录
cdb_favorites            个人收藏信息表
cdb_forumfields          板块扩展信息数据表
cdb_forumlinks           友情链接数据表
cdb_forums               版块资料表
cdb_medals               勋章资料表
cdb_memberfields         用户扩展资料表
cdb_members              用户基本资料表
cdb_moderators           版主信息数据表
cdb_modworks             版主工作记录表
cdb_onlinelist           在线列表定制
cdb_onlinetime           用户在线时间信息表
cdb_orders               订单数据表
cdb_paymentlog           支付记录
cdb_pluginhooks          插件钩子表
cdb_plugins              插件表
cdb_pluginvars           插件配置表
cdb_pms                  短信资料表
cdb_pmsearchindex         短消息搜索缓存表
cdb_polls                投票帖资料表
cdb_posts                帖子资料表
cdb_profilefields        用户栏目定制
cdb_promotions           论坛推广
cdb_ranks                头衔表
cdb_ratelog              帖子评分记录表
cdb_regips               注册ip记录表
cdb_relatedthreads       相关主题
cdb_rsscaches            RSS缓存
cdb_searchindex          搜索缓存
cdb_sessions             在线表
cdb_settings             论坛设置表
cdb_smilies              表情信息表
cdb_stats               统计数据表
cdb_statvars             统计变量表
cdb_styles               风格
cdb_stylevars            风格变量表
cdb_subscriptions        订阅信息表
cdb_templates            模板
cdb_threads              主题资料表
cdb_threadsmod           主题管理记录表
cdb_threadtypes          主题分类表         
cdb_usergroups           用户组数据表
cdb_validating           等待人工审核的会员记录
cdb_words                词语过滤表
        

更新了Tomcat5.5+MySql数据库连接池配置方法

0

分类 : 技术文摘 | 发表时间 24-01-2007

网上写了很多tomcat+mysql数据库连接池的配置方法,但在新的tomcat5.5中很多已不在适用.下面的方法是最简单方便的最新配置方法.

1> 下载驱动JDBC驱动http://dev.mysql.com/downloads/connector/j/5.0.html , 解压缩得到jar文件,如mysql-connector-java-5.0.4-bin.jar,复制到%tomcat%\common\lib下.

2>建立虚拟目录并配置连接池.

在%tomcat%\conf\Catalina\localhost\目录下建立一个与工程同名的xml文件.这里我的工程叫UpdateTesting,所以我建立叫UpdateTesting.xml文件,打开文件添加如下内容.

<Context path="/UpdateTesting" docBase="D:\Tomcat 5.5\webapps\UpdateTesting" reloadable="true" crossContext="true" debug="0" >

<Resource name="jdbc/mytest" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="liuwen" password="liuwen" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1/test?useUnicode=true&amp;characterEncoding=GBK"/>

</Context>

上 面,您需要更改path为"/<工程名>",docBase为"<该工程路径>",username为数据库用户名, password为数据库密码,url为"jdbc:mysql://<数据库服务器ip>/<数据库名>? useUnicode=true&amp;characterEncoding=GBK".

配置完毕.

3>测试

在工程路径下新建一个jsp文件为test.jsp.

<%@page contentType="text/html;charset=gbk"%>
<%@page import="java.sql.*"%>
<%@page import="javax.sql.DataSource"%>
<%@page import="javax.naming.*"%>

<html>
<body>
<%try{ Context initCtx=new InitialContext();
 DataSource db = (DataSource)initCtx.lookup("java:comp/env/jdbc/mytest");
 Connection conn = db.getConnection();
 Statement stmt = conn.createStatement();
 ResultSet rs = stmt.executeQuery("SELECT * FROM admin");
 out.println("User-list"+"<br>");
 while(rs.next()){
out.print(rs.getString(1)+" ");
out.print(rs.getString(2)+"<br>"); }
rs.close();
stmt.close();
conn.close();
}catch(Exception e){
out.print(e);}%>
</body>
</html>

注意更改为您自己的sql代码.

执行,完毕.

from:superlw的专栏

动网论坛PHP 1.0.0正式版

0

分类 : 业界动态 | 发表时间 22-11-2006

动网论坛PHP版在一定程度上我们的工作并不是简单的功能移植,而是在有效利用PHP的各项优秀特性的基础 上优化我们的论坛结构,使之能达到更加优秀的性能,并且在原有动网论坛基础上解决了目前国内PHP社区论坛中的一些瓶颈和技术难题,所以我们有理由相信我 们的软件依然是最优秀、最体贴用户、最人性化的,而我们的开发团队对社区论坛的理解同样也是非常优秀的.

目前来说,动网论坛PHP版本大部分保留和移植了原Asp版本的功能和界面,作为一款优秀和成熟的产品,在界面和功能上的改动都将不会很大,做的都是一些细节调整

特点1:[国内论坛软件独家]解决Mysql中文全文检索问题,在不依靠第三方支持的情况下提供中文全文检索和论坛相关主题的解决方案

特点2:[国内论坛软件独家]解决Linux下安全模式操作文件受限制的问题,用途为上传和数据备份等需要在线创建目录部分

特点3:首次将采集功能加入论坛管理功能中

特点4:首次引入了设置方案概念,用于版面设置和广告设置,操作更加简便和人性化

特点5:集成个人空间[我的空间],引入全新模式诠释之前的博客概念,和论坛信息更加紧密的结合

特点6:[国内论坛软件独家]全面兼容Mysql任何版本数据的导入和导出,包括数据的字符集正确的处理

特点7:引入全新的社区论坛辩论机制

特点8:引入全新的功能风格界面

特点9:由国内知名的Bug.Center.Team安全小组进行全面的安全检测

更多的特色功能期待您的发现,也期待您的更多意见……

PHP版本各项功能请到相关的技术专区,发现问题和错误请到问题反馈版面,谢谢大家的参与.

目前针对动网论坛Asp版本和Discuz的数据转换程序已经提供,相关情况请浏览论坛贴子.

详细说明文档请查看软件压缩包中的安装说明以及安装过程的说明,安装环境的架设请看动网论坛PHP官方中的相关置顶贴.

动网论坛PHP官方网站:http://php.dvbbs.net

下载地址(最后更新时间:2006-11-21 16:40):
完整安装包:http://p.dvbbs.net/download/Dvbbs.PHP_1.0.0_GBK.zip
升 级 包:http://p.dvbbs.net/download/upgrade.zip

分流下载地址:
完整安装包:http://p.9699.cn/download/Dvbbs.PHP_1.0.0_GBK.zip
升 级 包:http://p.9699.cn/download/upgrade.zip

mysql乱码问题又一例

0

分类 : 技术文摘 | 发表时间 09-11-2006

今天下午过搬迁服务器;转移数据被搞死掉了 由于数据是经过mysql低版本升级到高版本的;所有在搬迁的过程中出现很多问题。

因为开始建立数据库的时候用的默认字符集是gb2312 升级后的mysql 有点问题;最后将导出来的数据的setchar=gb2312 全部拿掉;

然后setchar 的文字集 就要看你的mysql my.cnf 启动的时候默认的字符集文件是用什么了;如果默认的是gb2312 没有办法 你将setchar去掉 你出来的字符还是gb2312

所以 你可以将setchar=gb2312 改成setchar=latin1 实在不行的话将my.cnf文件的默认启动字符集 去掉 从新启动mysql

摘自:http://www.suwenjian.com/read.php?9

LINUX下PHP+JSP+MYSQL+APACHE+RESIN虚拟主机配置过程

2

分类 : 技术文摘 | 发表时间 04-11-2006

resin:http://www.caucho.com/
jdk:http://java.sun.com/
apache:http://www.apache.org
mysql:http://www.mysql.com
php:http://www.php.net
jdbc:http://mmmysql.sourceforge.net/
本人所用的软件版本如下:
resin-3.0.10.tar.gz
j2sdk-1_4_2_05-linux-i586.bin
httpd-2.0.52.tar.gz
mysql-4.1.9.tar.gz
php-4.3.10.tar.gz
mysql-connector-java-3.1.6.tar.gz

一.安装MYSQL
我把他全部下在到/root 目录下
# chmod 755 mysql-4.1.9.tar.gz
# tar xfz mysql-4.1.9.tar.gz
解压后生成mysql-4.1.9目录,我们进入该目录: 
cd mysql-4.1.9
进入后就开始配置mysql了,配置过程中我们要给mysql设置一个安装目录,我们设置在 /usr/local/mysql 下,以为把文件放到一个地方比较容易管理,如果你还想获得更多的配置信息,使用 ./configure –help:
在这里我要特别强调在 编译的时候要选择好MYSQL的默认编码,因为如果不选择按默认安装的时候在JSP中就不支持GBK编码了
所以我这样编译
# ./configure –prefix=/usr/local/mysql –with-charset=gbk
然后等几秒钟,配置完成后就编译源代码
# make 
这个编译的过程比较长,如果机器比较慢的话,可能要近二十分种 ( 我的是联想服务器都需要了15分钟 ) . 编译完成后就安装: 
# make install
等上几秒钟,安装完成.下面就到了最关键的部分了,为什么老安装不成功,(至少我是安装了N次,N > 10 ,呵呵),问题关键就在这里,访问mysql要一个专门的用户,而且必须给相应的访问权限,这里我们就设置root和mysql有权限访问. 
我们先建立一个mysql和mysql用户来访问mysql: 
#  groupadd mysql #建立mysql组 
#  useradd mysql -g mysql #建立mysql用户并且加入到mysql组中 

建立用户后我们就初始化表 (注意:必须先执行本步骤后才能进行以下步骤) 

# ./scripts/mysql_install_db –user=mysql #初试化表并且规定用mysql用户来访问初始化表以后就开始给mysql和root用户设定访问权限, 我们先到安装mysql的目录: 

# cd /usr/local/mysql 

然后设置权限 

# chown -R root . #设定root能访问/usr/local/mysql 
# chown -R mysql var #设定mysql用户能访问/usr/local/mysql/var ,里面存的是mysql的数据库文件 
# chown -R mysql var/. #设定mysql用户能访问/usr/local/mysql/var下的所有文件 
# chown -R mysql var/mysql/. #设定mysql用户能访问/usr/local/mysql/var/mysql下的所有文件 
# chgrp -R mysql . #设定mysql组能够访问/usr/local/mysql 

设置完成后,基本上就装好了,好了,我们运行一下我们的mysql: 

# /usr/local/mysql/bin/mysqld_safe –user=mysql & 

如果没有问题的话,应该会出现类似这样的提示: 

[1] 42264 
# Starting mysqld daemon with databases from /usr/local/mysql/var 

这就证明你安装成功了
用如下命令修改MYSQL密码,默认安装密码为空,为了安全你必须马上修改
/usr/local/mysql/bin/mysqladmin -uroot password pengyong
现在修改的密码为:pengyong

二、安装jdk
# chmod 755 j2sdk-1_4_2_05-linux-i586.bin
# ./j2sdk-1_4_2_05-linux-i586.bin 释放j2sdk-1_4_2_05-linux-i586.bin
在/root目录下生成j2sdk1.4.2_05目录和文件我是将JDK装到/usr/java/目录下
将文件剪切到/usr/java/目录下
# mv j2sdk1.4.2_05/ /usr/java/
设置JDK变量环境

# vi /etc/profile
# /etc/profile
JAVA_HOME=/usr/java/j2sdk1.4.2_05
RESIN_HOME=/usr/resin
PATH=PATH:JAVA_HOME/bin
CLASSPATH=.:JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar:JAVA_HOME/lib/htmlco
nverter.jar:RESIN_HOME/lib:/usr/java/jdbc/mysql-connector-java-3.1.6-bin.jar
退出当前登录的环境,重新登录,这样刚刚设定的环境变量就会生效,然后用如下命令测试:
[root@LINUX root]# echo JAVA_HOME
/usr/java/j2sdk1.4.2_05
[root@LINUX root]# echo CLASSPATH
.:/usr/java/j2sdk1.4.2_05/lib/dt.jar:/usr/java/j2sdk1.4.2_05/lib/tools.jar:/usr/
java/j2sdk1.4.2_05/lib/htmlconverter.jar:/usr/resin/lib:/usr/java/jdbc/mysql-con
nector-java-3.1.6-bin.jar
[root@LINUX root]# echo PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bi
n:/usr/local/sbin:/usr/bin/X11:/usr/java/j2sdk1.4.2_05/bin:/usr/X11R6/bin:/root/
bin
[root@LINUX root]# java -version
java version "1.4.2_05"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_05-b04)
Java HotSpot(TM) Client VM (build 1.4.2_05-b04, mixed mode)

看到类似信息就表示jdk环境已经好了。其实在上面的/etc/profile中,我们不仅仅设置了jdk的环境变量,还一并设置了resin和jdbc的环境变量,这些都是后面安装resin所必需的设定
三、安装mysql的jdbc
# tar xfz mysql-connector-java-3.1.6.tar.gz
# mv mysql-standard-4.0.23-pc-linux-i686/ /usr/java/ 将解压的文件剪切到/usr/java/目录下。
# cd /usr/java/
# ln -s mysql-standard-4.0.23-pc-linux-i686/ jdbc 创建JDBC的软连接与/usr/java/目录下
四、安装apache
# chmod 755 httpd-2.0.52.tar.gz
# tar xfz httpd-2.0.52.tar.gz
# cd httpd-2.0.52
开始配置APACHE

# ./configure –prefix=/usr/java/httpd2 –enable-module=most –enable-shared=max
察看编译进apache的模块:
#/usr/java/httpd2/bin/httpd -l
[root@LINUX root]# /usr/java/httpd2/bin/httpd -l
compiled-in modules:
http_core.c
mod_so.c
看到以上的信息表明apache支持dso方式了。这样就可以用dso的方式把php和resin的模块加进来。

五、安装php
我们使用的PHP版本是4.3.10,先去下载: http://www.php.net/downloads.php, 下回来的包叫做 php-4.3.10.tar.gz, 放到/usr/local/src目录下. 
首先进入该目录后解压缩: 
# cd /usr/local/src 
# tar xfz php-4.3.10.tar.gz 
解压后进入目录: 
# cd php-4.3.10
进行配置,这一步比较关键,一定要设置好,特别是要考虑到你要支持什么,比如GD库,xml,mysql等等,如果想知道详细的配置,执行 ./configure –help来获得:

# ./configure –with-mysql=/usr/java/mysql –with-apxs=/usr/java/httpd2/bin/apxs

果上面的配置没有错误的话,那么应该最后会显示感谢使用PHP等字样,那么证明配置成功,如果上面的配置选项不支持的话,会提示错误. 
比如你没有安装mysql,那么–with-mysql就无法使用,所以一定要注意对应选项系统是否能够支持,如果出现错误,那么就先安装对应的程序,或者去掉相关选项,配置之后就进行编译: 

# make 

编译成功后出现"Build complete."字样,那么就可以进行安装了: 

# make install 

安装完成后把/usr/local/src/php-4.3.8/php.ini-dist复制到/usr/local/lib/,并重命名为php.ini 

# cp /usr/local/src/php-4.3.10/php.ini-dist /usr/local/lib/php.ini 

基本到这里PHP就安装成功了,如果中间出现错误,除了在配置的时候没有选对选项之后一般都不出现错误.
为了让Apache能够直接解析php,我们还要进行一些配置.
# vi /usr/java/httpd/conf/httpd.conf
在httpd.conf文件中,添加 

AddType application/x-httpd-php .php 
AddType application/x-httpd-php-source .phps 

应该将以上两句添加在其他A
ddType之后。 

确保文件中有以下一句话,没有就自己添加在所有LoadModule之后。 

LoadModule php4_module modules/libphp4.so 

好了,在vi中使用":wq"保存httpd.conf文件,退出vi。启动apache server: 

# /usr/java/httpd2/bin/apachectl restart 
现在apache就能够运行php了,写个文件测试一下,在/usr/java/httpd2/htdocs目录下,新建一个phpinfo.php文件, 
文件中只有一行代码: 

<? phpinfo(); ?> 

保存此文件, 在你的浏览器中输入http://localhost/phpinfo.php,你应该看到PHP的系统信息。 
如果出现错误,比如提示你下灾phpinfo.php,那么apache就是还无法解析php文件,那么请仔细检查以上的操作是否正确. 

六.安装resin
下载的resin的安装包解开后应该可以直接单独运行的。笔者将其解开后放到/usr/java/目录下
# tar xfz resin-3.0.10.tar.gz
# mv resin-3.0.10 /usr/java/
# cd /usr/java/
# ln -s resin-3.0.10/ resin
启动resin
# /usr/java/resin/bin/httpd.sh start
现在就能够从http://localhost:8080/上能看到resin的页面,这也就表示单独的resin运行成功了。然后,为了整合resin和apache,我们需要重新编译一下,以生成mod_caucho给apache调用。
# cd /usr/java/resin
# ./configure –with-apache=/usr/java/httpd2 
# make
# make install
修改/usr/java/resin/conf/resin.conf,大约在最后(安装的resin版本不同,配置文件的内容可能有所不同),将<document-directory>修改成自己的apache的documentroot的值。

  <document-directory>/usr/java/httpd2/htdocs</document-directory> ##这里修改成/usr/java/httpd2/htdocs

最后vi /usr/java/httpd2/conf/httpd.conf
复制以下内容
<location /caucho-status>
sethandler caucho-status
</location>

保存后。从启APACHE和RESIN
# /usr/java/resin/bin/httpd.sh restart
# /usr/java/httpd2/bin/apachectl restart

通过浏览器去访问http://localhost/caucho-status/,如果出现以下页面刚表示resin和apache已经成功整合了。
http://www.dfmqp.cn/caucho-status/
七.建立resin和apache的虚拟主机 我们建立的是tes1.jsp.com test2.jsp.com 两个虚拟主机

vi /usr/java/httpd2/conf/httpd.conf
 复制如下内容到httpd.conf里
NameVirtualHost 192.168.0.1  虚拟主机建立所在的IP
<VirtualHost 199.199.0.1>
    DocumentRoot /home/jsp1/  文件所在目录
    ServerName tes1.jsp.com  访问的域名
</VirtualHost>
VirtualHost 192.168.0.1>
    DocumentRoot /home/jsp2/
    ServerName test2.jsp.com
</VirtualHost>
vi /usr/java/resin/conf/resin.conf
查找如下代码并修改:

    <host id="" root-directory=".">
      <!–
         – configures an explicit root web-app matching the
         – webapp’s ROOT
        –>
      <web-app id=’/’ document-directory="/usr/java/httpd2/htdocs"/>
    </host>
<host id=’tes1.jsp.com’>
<web-app id=’/’ document-directory="/home/jsp1"/>
</host>
<host id=’tes2.jsp.com’>
<web-app id=’/’ document-directory="/home/jsp2"/>
</host>
保存从启apache和resin
tes1.jsp.com  和tes2.jsp.com 虚拟主机可以运行了

可以做如下测试http://localhost/caucho-status/
可以看到测试面上有
Virtual Host: tes1.jsp.com:80
Virtual Host: tes2.jsp.com:80
证明JSP虚拟主机工作很正常

无觅相关文章插件,快速提升流量