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

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

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

    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 見習和尚 閱讀(224) | 評論 (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 見習和尚 閱讀(421) | 評論 (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 見習和尚 閱讀(397) | 評論 (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 見習和尚 閱讀(6525) | 評論 (5)編輯 收藏

    僅列出標題  
    主站蜘蛛池模板: 美女扒开屁股让男人桶爽免费| 精品免费人成视频app| 麻豆91免费视频| 亚洲AV日韩综合一区尤物| 777亚洲精品乱码久久久久久 | 免费无码AV一区二区| 美女扒开屁股让男人桶爽免费| 亚洲av片在线观看| 免费视频精品一区二区| eeuss草民免费| 伊人免费在线观看高清版| 国产精品99久久免费观看| **实干一级毛片aa免费| 波多野结衣免费在线观看| 成年在线观看网站免费| 午夜免费福利在线| 免费人妻av无码专区| 亚洲欧洲中文日韩久久AV乱码| 亚洲日韩精品射精日| 亚洲欧洲日产国码久在线观看| 亚洲网站在线免费观看| 国产亚洲国产bv网站在线| 日韩精品免费电影| 免费在线观看亚洲| 亚洲熟女少妇一区二区| 亚洲国产精品自在线一区二区| 亚洲国产精品免费在线观看| 亚洲色成人网站WWW永久四虎| 精品特级一级毛片免费观看| 精品免费久久久久国产一区| 日本免费人成视频在线观看| 日韩一区二区a片免费观看| 免费A级毛片无码A| 亚洲国产精品特色大片观看完整版| 久久亚洲AV成人无码软件| 亚洲人片在线观看天堂无码| a毛片成人免费全部播放| 91福利免费视频| 在线看片无码永久免费aⅴ| 亚洲区小说区激情区图片区| 亚洲春黄在线观看|