suzixu

BlogJava 首页 新随笔 联系 聚合 管理
  4 Posts :: 0 Stories :: 5 Comments :: 0 Trackbacks

2014年11月28日 #

1yum下载安装svn

[root@localhost ~]# yum install subversion

 

2、查看安装的svn服务器版本

[root@localhost ~]# svnserve –version

3、创建数据仓库文件夹

[root@localhost ~]# mkdir /opt/svn/repos

[root@localhost ~]# svnadmin create /opt/svn/repos

4、配置svn账户

[root@localhost ~]# cd /opt/svn/repos/conf/

[root@localhost ~]# vi passwd

5、配置svn账户目录权限

[root@localhost ~]# vi authz

6、配置svn配置文件及根目录

[root@localhost ~]# vi svnserve.conf

#anon-access = none # 使非授权用户无法访问
#auth-access = write # 
使授权用户有写权限
password-db = password
authz-db = authz   # 
访问控制文件
realm = 
/opt/svn/repos/ # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
采用默认配置. 以上语句都必须顶格写左侧不能留空格否则会出错.

7、启动svn服务

[root@localhost ~]# svnserve -d -r /opt/svn/repos

 

8、使用svn客户端验证svn服务器是否正常

建议采用TortoiseSVN 连接地址为: svn://ip (如果指定端口需要添加端口  :端口号)





 

posted @ 2014-11-28 11:43 见习和尚 阅读(213) | 评论 (0)编辑 收藏

2012年2月16日 #

1. Svn独立服务安装
操作系统: Redhat Linux AS3 AS 4   ContOS AS 4
安装包获取:
下载http://subversion.tigris.org/downloads/subversion-1.4.0.tar.gzhttp://subversion.tigris.org/dow ... n-deps-1.4.0.tar.gz
编译:
以root用户登录。
将subversion-1.4.0.tar.gz和subversion-deps-1.4.0.tar.gz传到服务器。
tar xfvz subversion-1.4.0.tar.gz
tar xfvz subversion-deps-1.4.0.tar.gz
subversion-deps包有四个目录zlib apr apr-util neon这四个目录都是依赖包,编译subversion所必须的代码
cd subversion-1.4.0
./configure –prefix=/opt/svn –without-berkeley-db –with-zlib (或者./configure)
(注:以svnserve方式运行,不加apache编译参数。以fsfs格式存储版本库,不编译berkeley-db)
make clean
make
make install
vi /etc/profile,在/etc/profile最后加入:
PATH=$PATH:/opt/svn/bin
export PATH

2. svn配置
建立版本库目录,可建多个:
mkdir -p /opt/svndata/repos1
mkdir -p /opt/svndata/repos2
建立版本库:
svnadmin create /opt/svndata/repos1
svnadmin create /opt/svndata/repos2
修改版本库配置文件:
版本库1:
vi /opt/svndata/repos1/conf/svnserve.conf
内容修改为:
[general]
anon-access = none
auth-access = write
password-db = /opt/svn/conf/pwd.conf
authz-db = /opt/svn/conf/authz.conf
realm = repos1
版本库2:
vi /opt/svndata/repos2/conf/svnserve.conf
内容修改为:
[general]
anon-access = none
auth-access = write
password-db = /opt/svn/conf/pwd.conf
authz-db = /opt/svn/conf/authz.conf
realm = repos2
即除realm = repos2外,其他与版本库1配置文件完全相同。如果有更多的版本库,依此类推。
配置允许访问的用户:
vi /opt/svn/conf/pwd.conf

为了简化配置,2个版本库共用1个用户配置文件。如有必要,也可以分开。
注意:对用户配置文件的修改立即生效,不必重启svn。
文件格式如下:
[users]
=
=
其中,[users]是必须的。下面列出要访问svn的用户,每个用户一行。示例:
[users]
alan = password
king = hello
配置用户访问权限:
vi /opt/svn/conf/authz.conf
为了简化配置,3个版本库共用1个权限配置文件/opt/svn/conf/pwd.conf。如有必要,也可以分开。文件中定义用户组和版本库目录权限。
注意:
* 权限配置文件中出现的用户名必须已在用户配置文件中定义。
* 对权限配置文件的修改立即生效,不必重启svn。

例子:

[groups]

root=root,zhangqiao

oracle=oracle

 

[/it]                   #“ /”代表当前版本库的根目录

@root = rw

@oracle = r

* =

[/]

@root = rw

@oracle = r

* =

用户名口令文件passwd.conf

用户名口令文件由svnserve.conf的配置项password-db指定,缺省为conf目录中的passwd。该文件仅由一个[users]配置段组成。 
    [users]配置段的配置行格式如下:
 
        <用户名> = <口令

    
注意:配置行中的口令为未经过任何处理的明文。

特别注意配置文件中每个有效行前面不能有空格,否则会报错。

a.如果在用户名口令文件中有空格则报:认证失败

b. 如果在权限控制文件中有空格则报:认证配置失败

c.如果在服务器配置文件有空格则报:

 

[users]

root=root

zhangqiao=zhangqiao

oracle=oracle111


3. SVN启动
svnserve -d -r /opt/svndata/repos1 --listen-port 3610 & 



posted @ 2012-02-16 17:05 见习和尚 阅读(406) | 评论 (0)编辑 收藏

2010年10月17日 #

第一步:先定义一个简单的log4j工厂类,很简单,直接继承Logger
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

/**
 * 自定义的Logger工厂类,继承自Logger
 * 
 * 
@author 见习和尚
 * 
@since 2010
 * 
@version v1.0
 
*/

public class LogFactory extends Logger{

    
/**
     * 静态块---初始化log4j配置文件
     
*/

    
static {
        
//log4j配置文件路径
        PropertyConfigurator.configure("D:\\workspace\\LogWeb\\src\\log4j.properties");
    }

    
    
/**
     * 重载的构造方法
     * 
@param name
     
*/

    
protected LogFactory(String name) {
        
super(name);
    }

}


第二步:在classpath下创建并配置log4j配置文件,配置文件如下(注释已经写的很清楚了):
log4j.properties配置文件如下,可直接copy使用
## defined log level;log to Console and to file and to DB
log4j.rootCategory
=DEBUG, stdout , R ,DATABASE
## printout log to Console
log4j.appender.stdout
=org.apache.log4j.ConsoleAppender
## log format
log4j.appender.stdout.layout
=org.apache.log4j.PatternLayout
## Console log format
## log4j.appender.stdout.layout.ConversionPattern
=[QC] %p [%t] %C.%M(%L) | %m%n
log4j.appender.stdout.layout.ConversionPattern
=%d{yyyy-MM-dd hh:mm:ss} | [%t] (%F:%L) | %m%n

## defined each day create a 
new logfile
log4j.appender.R
=org.apache.log4j.DailyRollingFileAppender

## 
'.'yyyy-MM: each month
## 
'.'yyyy-ww: each week
## 
'.'yyyy-MM-dd: each day
## 
'.'yyyy-MM-dd-a: two files one day
## 
'.'yyyy-MM-dd-HH: per hours
## 
'.'yyyy-MM-dd-HH-mm: per minites
log4j.appender.R.DatePattern
='.'yyyy-MM-dd-HH-mm
## defined logfile path
log4j.appender.R.File
=D\:\\Program Files\\apache-tomcat-6.0.28\\logs\\gc.log
log4j.appender.R.layout
=org.apache.log4j.PatternLayout
## 
%d means date time; %t means which method;
## 
%F means file;%c means class name; %L means which line;
## 
%m means message which we want to print; %n means "\r\n" in windows and "\n" in unix
## 
%p means print log level; %d{yyyy-MM-dd hh:mm:ss} means print "yyyy-MM-dd hh:mm:ss" date
log4j.appender.R.layout.ConversionPattern
=%d{yyyy-MM-dd hh:mm:ss} | [%t] (%F:%L) | %m%n

# in database
log4j.appender.DATABASE.BufferSize
=10
log4j.appender.DATABASE
=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DATABASE.URL
=jdbc\:mysql\://localhost\:3306/test
log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver
log4j.appender.DATABASE.user
=root
log4j.appender.DATABASE.password
=password
log4j.appender.DATABASE.sql
=INSERT INTO Log4j(message) VALUES ('[framework] %d{yyyy-MM-dd hh\:mm\:ss} | [%t] (%F\:%L) | %m%n'
log4j.appender.DATABASE.layout
=org.apache.log4j.PatternLayout 

log4j.logger.com.neusoft
=DEBUG
log4j.logger.com.opensymphony.oscache
=ERROR
log4j.logger.net.sf.navigator
=ERROR
log4j.logger.org.apache.commons
=ERROR
log4j.logger.org.apache.struts
=WARN
log4j.logger.org.displaytag
=ERROR
log4j.logger.org.springframework
=DEBUG
log4j.logger.com.ibatis.db
=WARN
log4j.logger.org.apache.velocity
=FATAL
log4j.logger.com.canoo.webtest
=WARN
log4j.logger.org.hibernate.ps.PreparedStatementCache
=WARN
log4j.logger.org.hibernate
=DEBUG
log4j.logger.org.logicalcobwebs
=WARN 

第三部:在代码中使用log4j,样例如下:
import org.apache.log4j.Logger;
import org.apache.log4j.Priority;

import com.sys.common.util.log.LogFactory;

public class TestLog4j {
    
static Logger logger = LogFactory.getLogger(TestLog4j.class.getName());

    
public TestLog4j() {
    }


    
public static void main(String[] args) {
        logger.debug(
"Start of the main() in TestLog4j");
        logger.info(
"Just testing a log message with priority set to INFO");
        logger.warn(
"Just testing a log message with priority set to WARN");
        logger.error(
"Just testing a log message with priority set to ERROR");
        logger.fatal(
"Just testing a log message with priority set to FATAL");
        logger.log(Priority.WARN, 
"Testing a log message use a alternate form");
    }

}

OK!在java application应用中这样配置就结束了。样例支持三种输出:1、控制台 2、文件 3、数据库

另外:如果要在web中使用log4j。只需额外定义一个log4j加载类并配置web.xml即可。加载类如下:
import org.apache.log4j.PropertyConfigurator;
import javax.servlet.http.HttpServlet;

public class Log4jInit extends HttpServlet {

    
public void init() {
        String prefix 
= getServletContext().getRealPath("/");
        String file 
= getInitParameter("log4j");
        
if (file != null{
            PropertyConfigurator.configure(prefix 
+ file);
        }

    }

}

web.xml中增量配置如下:
    <servlet>
        
<servlet-name>log4j</servlet-name>
        
<servlet-class>com.apache.jakarta.log4j.Log4jInit</servlet-class>
        
<init-param>
            
<param-name>log4j</param-name>
            
<param-value>/WEB-INF/log4j.properties</param-value>
        
</init-param>
        
<load-on-startup>1</load-on-startup>
    
</servlet>
好了,配置完毕。接下来就是用了。。。
posted @ 2010-10-17 19:39 见习和尚 阅读(384) | 评论 (0)编辑 收藏

2010年9月16日 #

     摘要: AES加密,代码如下: import java.security.InvalidKeyException; import java.util.ArrayList; import java.util.List; import java.util.Scanner; import javax.crypto.*; import j...  阅读全文
posted @ 2010-09-16 19:36 见习和尚 阅读(6494) | 评论 (5)编辑 收藏

仅列出标题