<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    suzixu

    BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
      4 Posts :: 0 Stories :: 5 Comments :: 0 Trackbacks

    2010年9月16日 #

    1yum下載安裝svn

    [root@localhost ~]# yum install subversion

     

    2、查看安裝的svn服務(wù)器版本

    [root@localhost ~]# svnserve –version

    3、創(chuàng)建數(shù)據(jù)倉(cāng)庫(kù)文件夾

    [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賬戶目錄權(quán)限

    [root@localhost ~]# vi authz

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

    [root@localhost ~]# vi svnserve.conf

    #anon-access = none # 使非授權(quán)用戶無(wú)法訪問(wèn)
    #auth-access = write # 
    使授權(quán)用戶有寫權(quán)限
    password-db = password
    authz-db = authz   # 
    訪問(wèn)控制文件
    realm = 
    /opt/svn/repos/ # 認(rèn)證命名空間,subversion會(huì)在認(rèn)證提示里顯示,并且作為憑證緩存的關(guān)鍵字。
    采用默認(rèn)配置. 以上語(yǔ)句都必須頂格寫左側(cè)不能留空格否則會(huì)出錯(cuò).

    7、啟動(dòng)svn服務(wù)

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

     

    8、使用svn客戶端驗(yàn)證svn服務(wù)器是否正常

    建議采用TortoiseSVN 連接地址為: svn://ip (如果指定端口需要添加端口  :端口號(hào))





     

    posted @ 2014-11-28 11:43 見(jiàn)習(xí)和尚 閱讀(224) | 評(píng)論 (0)編輯 收藏

    1. Svn獨(dú)立服務(wù)安裝
    操作系統(tǒng): 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傳到服務(wù)器。
    tar xfvz subversion-1.4.0.tar.gz
    tar xfvz subversion-deps-1.4.0.tar.gz
    subversion-deps包有四個(gè)目錄zlib apr apr-util neon這四個(gè)目錄都是依賴包,編譯subversion所必須的代碼
    cd subversion-1.4.0
    ./configure –prefix=/opt/svn –without-berkeley-db –with-zlib (或者./configure)
    (注:以svnserve方式運(yùn)行,不加apache編譯參數(shù)。以fsfs格式存儲(chǔ)版本庫(kù),不編譯berkeley-db)
    make clean
    make
    make install
    vi /etc/profile,在/etc/profile最后加入:
    PATH=$PATH:/opt/svn/bin
    export PATH

    2. svn配置
    建立版本庫(kù)目錄,可建多個(gè):
    mkdir -p /opt/svndata/repos1
    mkdir -p /opt/svndata/repos2
    建立版本庫(kù):
    svnadmin create /opt/svndata/repos1
    svnadmin create /opt/svndata/repos2
    修改版本庫(kù)配置文件:
    版本庫(kù)1:
    vi /opt/svndata/repos1/conf/svnserve.conf
    內(nèi)容修改為:
    [general]
    anon-access = none
    auth-access = write
    password-db = /opt/svn/conf/pwd.conf
    authz-db = /opt/svn/conf/authz.conf
    realm = repos1
    版本庫(kù)2:
    vi /opt/svndata/repos2/conf/svnserve.conf
    內(nèi)容修改為:
    [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外,其他與版本庫(kù)1配置文件完全相同。如果有更多的版本庫(kù),依此類推。
    配置允許訪問(wèn)的用戶:
    vi /opt/svn/conf/pwd.conf

    為了簡(jiǎn)化配置,2個(gè)版本庫(kù)共用1個(gè)用戶配置文件。如有必要,也可以分開。
    注意:對(duì)用戶配置文件的修改立即生效,不必重啟svn。
    文件格式如下:
    [users]
    =
    =
    其中,[users]是必須的。下面列出要訪問(wèn)svn的用戶,每個(gè)用戶一行。示例:
    [users]
    alan = password
    king = hello
    配置用戶訪問(wèn)權(quán)限:
    vi /opt/svn/conf/authz.conf
    為了簡(jiǎn)化配置,3個(gè)版本庫(kù)共用1個(gè)權(quán)限配置文件/opt/svn/conf/pwd.conf。如有必要,也可以分開。文件中定義用戶組和版本庫(kù)目錄權(quán)限。
    注意:
    * 權(quán)限配置文件中出現(xiàn)的用戶名必須已在用戶配置文件中定義。
    * 對(duì)權(quán)限配置文件的修改立即生效,不必重啟svn。

    例子:

    [groups]

    root=root,zhangqiao

    oracle=oracle

     

    [/it]                   #“ /”代表當(dāng)前版本庫(kù)的根目錄

    @root = rw

    @oracle = r

    * =

    [/]

    @root = rw

    @oracle = r

    * =

    用戶名口令文件passwd.conf

    用戶名口令文件由svnserve.conf的配置項(xiàng)password-db指定,缺省為conf目錄中的passwd。該文件僅由一個(gè)[users]配置段組成。 
        [users]配置段的配置行格式如下:
     
            <用戶名> = <口令

        
    注意:配置行中的口令為未經(jīng)過(guò)任何處理的明文。

    特別注意配置文件中每個(gè)有效行前面不能有空格,否則會(huì)報(bào)錯(cuò)。

    a.如果在用戶名口令文件中有空格則報(bào):認(rèn)證失敗

    b. 如果在權(quán)限控制文件中有空格則報(bào):認(rèn)證配置失敗

    c.如果在服務(wù)器配置文件有空格則報(bào):

     

    [users]

    root=root

    zhangqiao=zhangqiao

    oracle=oracle111


    3. SVN啟動(dòng)
    svnserve -d -r /opt/svndata/repos1 --listen-port 3610 & 



    posted @ 2012-02-16 17:05 見(jiàn)習(xí)和尚 閱讀(421) | 評(píng)論 (0)編輯 收藏

    第一步:先定義一個(gè)簡(jiǎn)單的log4j工廠類,很簡(jiǎn)單,直接繼承Logger
    import org.apache.log4j.Logger;
    import org.apache.log4j.PropertyConfigurator;

    /**
     * 自定義的Logger工廠類,繼承自Logger
     * 
     * 
    @author 見(jiàn)習(xí)和尚
     * 
    @since 2010
     * 
    @version v1.0
     
    */

    public class LogFactory extends Logger{

        
    /**
         * 靜態(tài)塊---初始化log4j配置文件
         
    */

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

        
        
    /**
         * 重載的構(gòu)造方法
         * 
    @param name
         
    */

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

    }


    第二步:在classpath下創(chuàng)建并配置log4j配置文件,配置文件如下(注釋已經(jīng)寫的很清楚了):
    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應(yīng)用中這樣配置就結(jié)束了。樣例支持三種輸出:1、控制臺(tái) 2、文件 3、數(shù)據(jù)庫(kù)

    另外:如果要在web中使用log4j。只需額外定義一個(gè)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>
    好了,配置完畢。接下來(lái)就是用了。。。
    posted @ 2010-10-17 19:39 見(jiàn)習(xí)和尚 閱讀(398) | 評(píng)論 (0)編輯 收藏

         摘要: 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 見(jiàn)習(xí)和尚 閱讀(6525) | 評(píng)論 (5)編輯 收藏

    主站蜘蛛池模板: 亚洲精品456播放| 99re6在线视频精品免费| 国产婷婷综合丁香亚洲欧洲| 亚洲高清免费在线观看| 亚洲日本中文字幕| 亚洲国产精品热久久| 亚洲一级二级三级不卡| 91亚洲国产成人精品下载| 亚洲综合一区二区精品久久| 亚洲视频在线免费播放| 亚洲国产亚洲片在线观看播放 | 日韩不卡免费视频| av无码免费一区二区三区| 啦啦啦完整版免费视频在线观看| 51在线视频免费观看视频| 国产h视频在线观看网站免费| 成年女人毛片免费播放人| 日本人的色道www免费一区| 日韩成全视频观看免费观看高清| 四虎影院永久免费观看| 亚洲高清免费视频| 亚洲精品无码永久在线观看你懂的 | 亚洲av综合av一区二区三区| 日韩色视频一区二区三区亚洲| 美女扒开屁股让男人桶爽免费| 一区二区在线视频免费观看| 亚洲午夜久久久影院| 国产∨亚洲V天堂无码久久久 | 国产精品成人免费综合| 免费人成在线观看网站视频| 国产亚洲情侣一区二区无码AV| 亚洲AV无码一区二区二三区入口| 亚洲美女视频一区二区三区| 亚洲中文字幕乱码AV波多JI| 视频一区在线免费观看| 久久精品国产免费| 野花高清在线电影观看免费视频| 又粗又硬免费毛片| 久久精品亚洲视频| 中文字幕亚洲情99在线| 国产JIZZ中国JIZZ免费看|