??xml version="1.0" encoding="utf-8" standalone="yes"?>久久久久久久,26uuu久久噜噜噜噜,视频一区视频二区国产精品http://www.aygfsteel.com/conans/category/32366.html你越挣扎我就兴?/description>zh-cnSun, 21 Jun 2009 01:29:03 GMTSun, 21 Jun 2009 01:29:03 GMT60SVN服务器subversion-1.6.2完整安装步骤详解-CNS整理?/title><link>http://www.aygfsteel.com/conans/articles/283402.html</link><dc:creator>CONAN</dc:creator><author>CONAN</author><pubDate>Sat, 20 Jun 2009 13:13:00 GMT</pubDate><guid>http://www.aygfsteel.com/conans/articles/283402.html</guid><description><![CDATA[<strong>? </strong>q里?strong>/data</strong>要修改ؓ你的<strong>httpd.conf</strong>?strong>DocumentRoot </strong>目录或其子目?br /> <br /> /data/svnroot/  目录l构如下<br />         |-- authfile<br />         |-- authz.conf<br />         `-- cns_server_auto_install  我的svn库项目目?br />                              |-- README.txt<br />                              `-- conf<br />                                              `-- svnserve.conf<br /> <br /> <br /> <strong>1)下蝲q安装相兌Y?/strong><br /> wget <a target="_blank" onclick="return checkUrl(this)" id="url_4">http://apache.mirrors.pair.com/apr/apr-1.3.3.tar.gz</a><br /> tar xvf apr-1.3.3.tar.gz <br /> cd apr-1.3.3<br /> ./configure --prefix=/usr/local/apr && make && make install <br /> <br /> cd ..<br /> <br /> wget <a target="_blank" onclick="return checkUrl(this)" id="url_5">http://apache.mirrors.pair.com/apr/apr-util-1.3.4.tar.gz</a> <br /> tar xvf apr-util-1.3.4.tar.gz<br /> cd apr-util-1.3.4<br /> ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make && make install<br /> <br /> cd ..<br /> <br /> wget <a target="_blank" onclick="return checkUrl(this)" id="url_6">http://subversion.tigris.org/downloads/subversion-1.6.2.tar.gz</a><br /> tar xvf subversion-1.6.2.tar.gz<br /> <br /> wget  <a target="_blank" onclick="return checkUrl(this)" id="url_7">http://www.sqlite.org/sqlite-amalgamation-3.6.13.tar.gz</a><br /> tar xvf sqlite-amalgamation-3.6.13.tar.gz <br /> mkdir subversion-1.6.2/sqlite-amalgamation<br /> cp sqlite-3.6.13/sqlite3.c subversion-1.6.2/sqlite-amalgamation/<br /> <br /> wget <a target="_blank" onclick="return checkUrl(this)" id="url_8">http://www.webdav.org/neon/neon-0.28.4.tar.gz</a><br /> tar xvf neon-0.28.4.tar.gz <br /> <strong>mv neon-</strong>0.28.4<strong> </strong>subversion-1.6.2/<strong>neon</strong><br /> <br /> cd subversion-1.6.2<br /> <br /> ./configure --prefix=/usr/local/subversion \<br />                    --with-apxs=/usr/local/apache/bin/apxs \<br />                    --with-apr=/usr/local/apr \<br />                    --with-apr-util=/usr/local/apr-util \<br />                    --with-ssl --with-zlib=/usr/local/zlib \<br />                    --enable-maintainer-mode && \<br />                   make && make install<br /> <br /> cd ..<br /> <br /> <strong>2) q行相关配置</strong><br /> <strong>a)?usr/local/apache/conf/httpd.conf中添加如下模?/strong><br />     LoadModule dav_svn_module     modules/mod_dav_svn.so<br />     LoadModule authz_svn_module   modules/mod_authz_svn.so<br /> <br /> <strong>b)配置svn.cnscn.org虚拟L q加入svn选项</strong><br />    .?usr/local/apache/conf/httpd.conf中去?Include conf/extra/httpd-vhosts.conf前面?<br /> <br />    .创徏目录/data/svnroot<br />        [root@<a target="_blank" onclick="return checkUrl(this)" id="url_1">www.cnscn.org</a> ~]# mkdir /data/svnroot<br /> <br />    .在conf/extra/httpd-vhosts.conf中添加虚拟主机svn.cnscn.org (一定要注意Q在/etc/hosts中添?127.0.0.1 svn.cnscn.org)<br /> <br />      #svn.cnscn.org<br />      <VirtualHost *:80><br />         DocumentRoot /data/svnroot<br /> <br />         ServerName svn.cnscn.org<br />         ErrorLog /var/log/apache/org_cnscn_svn-error_log<br />         CustomLog /var/log/apache/org_cnscn_svn-access_log common<br />   <br />      #q里/svn是个不存在,也不用徏立的目录,卛_际上不需?data/svnroot/svn目录存在<br />      #当访?a target="_blank" onclick="return checkUrl(this)" id="url_9">http://svn.cnscn.org/svn/projectname</a>Ӟ会自动寻?data/svnroot/projectname目录  <br />        <location /svn><br />        #告诉Apache是dav_svn_module模块来响?svn/的请?br />            DAV svn<br />        #告诉Subersion版本库的根目?br />            SVNParentPath /data/svnroot<br />        #指定SVN服务器的讉K控制文g的\?br />            AuthzSVNAccessFile /data/svnroot/authz.conf<br /> <br />        #Ȁzd本认证,是用户?密码<br />            AuthType Basic<br />        #在认证输入框时显C的提示信息<br />            AuthName "welcome to cnscn svn"<br />        #指定使用的认证密码文?br />            AuthUserFile /data/svnroot/authfile<br />        #指定只有输入了正的用户/密码的用户可以访问URL<br />            Require valid-user<br />         </location><br />     </VirtualHost><br /> <br /> <strong>3)创徏验证文g</strong><br />     1> /usr/local/apache/bin/htpasswd -c -b /data/svnroot/authfile username password<br />    2> ~辑/data/svnroot/authz.conf 内容如下:<br />          [groups]<br />             users = cnscn<br />  <br />         [/]<br />             @users = rw<br /> <br />         [svn:/]<br />             @users = rw<br /> <br /> <strong>4)创徏svn目?/strong>cns_server_auto_install<br />      a)创徏<br />          /usr/local/subversion/bin/svnadmin create cns_server_auto_install<br /> <br />      b)修改/data/svnroot/cns_server_auto_install/conf/svnserve.conf的内容ؓ如下<br />           [general]<br />           anon-access = read<br />           auth-access = write<br />           password-db = /data/svnroot/authfile<br />           authz-db = /data/svnroot/authz.conf<br />           realm = cns_server_auto_install<br />    <br /> <strong>5)重启apache</strong><br />          [root@<a target="_blank" onclick="return checkUrl(this)" id="url_2">www.cnscn.org</a> ~]#  /usr/local/apache/bin/apachectl restart<br /> <br /> <strong>6)试</strong><br />      <a target="_blank" onclick="return checkUrl(this)" id="url_10">http://svn.cnscn.org/svn/cns_server_auto_install/</a> 内容应会昄出Revision ...:/<br /> <br /> <strong>7)导入一个项?/strong><br />    [root@<a target="_blank" onclick="return checkUrl(this)" id="url_3">www.cnscn.org</a> ~]# svn import  --username cnscn  --password 123456 -m "cnscn server auto install"  cns_server_auto_install_local <a target="_blank" onclick="return checkUrl(this)" id="url_11">http://svn.cnscn.org/svn/cns_server_auto_install/</a><br />   新增           cns_lanmp_install_090423/install.sh<br />   新增           cns_lanmp_install_090423/mods<br />   新增           cns_lanmp_install_090423/mods/mysql_proxy<br />   新增           cns_lanmp_install_090423/mods/mysql_proxy/install.sh<br />   新增           cns_lanmp_install_090423/mods/mysql_proxy/glib-2.16.4 <img src ="http://www.aygfsteel.com/conans/aggbug/283402.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/conans/" target="_blank">CONAN</a> 2009-06-20 21:13 <a href="http://www.aygfsteel.com/conans/articles/283402.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【{贴】Subversion权限详解 http://www.aygfsteel.com/conans/articles/254058.htmlCONANCONANTue, 10 Feb 2009 05:12:00 GMThttp://www.aygfsteel.com/conans/articles/254058.html

1   背景假设

厦门央瞬公司是一家电(sh)子元器g讑֤供应商,其中有个ARM部门Q专门负责ARM芯片的方案设计、销售,q在北京、上各讄了一个办事处。对于工作日志,原先采用邮g方式发给l理Q但是这U方式有个缺点,那就是不具备q箋性,要看以前的日志必M一邮件去查看Q很ȝ。于是就惛_利用 SubversionQ?让员工在自己?sh)脑上编辑日志,然后利用svn传送回来,既方便员工自q写日志,又方便对日志的归档处理,而且提交日志的时候只需要执行一?svn update 卛_Q比发送邮件还要简单的多?/p>

  • svn服务器相关信?/p>

    • 服务器地址Q?192.168.0.1
    • 服务器OSQ?MS Windows 2000 Server Edition 中文?
    • 代码库本地目录: D:\svn\arm
  • arm部门文档的目录结构如?

    arm                 部门名称
        ├─diary           工作日志目录
        ? ├─headquarters    总部工作日志目录
        ? ├─beijing         北京办日志目?
        ? └─shanghai        上v办日志目?
        ├─ref             公司公共文g参考目?
        └─temp            临时文g目录
        
  • 人员情况

    • morsonQ公司ȝ理,其实他不必亲自看M东西Q就q部门经理们的每周ȝ都不一定看。但是ؓ了表C对他的敬Q以及满一下他的权力欲Q还是给他开放了“阅读所有文?#8221;的权?
    • michaelQarm事业部的部门l理Q没事的时候喜Ƣ弄点儿新技术,用svn来管理日志,是他相处来的主?
    • scofieldQ北京办人员Q老员工,ZhҎ(gu)隄
    • linconQ上办人员Q老员工,大老实Z?
    • lindaQ总部协调员、秘书,文笔不错Q长得也不错
    • roryQ单片机技术员Q技术支?
  • 讉K权限需求分?/p>

    • 允许ȝ理读取所有文?
    • 除部门经理外Q所有其他h员,均只能看到本办事处h员工作日?
    • 不允许匿名访?
    • ref目录只允许经理和U书写,对其他h只读
    • temp目录Zh都可以写

3   ~辑代码库基配置文g

~辑代码?arm\conf\svnserve.conf 文gQ如?

[general]
password-db = passwd.conf
anon-access = none
auth-access = write
authz-db = authz.conf

4   理用户帐号

新徏代码?arm\conf\passwd.conf 文gQ如?

[users]
morson = ShowMeTheMoney
michael = mysecretpassword
scofield = hellolittilekiller
lincon = asyouknows111
rory = 8809117
linda = IlikeWorldCup2006

5   建立目录讉K权限控制文g

新徏代码?arm\conf\authz.conf 文gQ内容如?

[groups]
g_vip = morson
g_manager = michael
g_beijing = scofield
g_shanghai = lincon
g_headquarters = rory, linda
g_docs = linda
[arm:/]
@g_manager = rw
* = r
[arm:/diary/headquarters]
@g_manager = rw
@g_headquarters = rw
@g_vip = r
* =
[arm:/diary/beijing]
@g_manager = rw
@g_beijing = rw
@g_vip = r
* =
[arm:/diary/shanghai]
@g_manager = rw
@g_shanghai = rw
@g_vip = r
* =
[arm:/ref]
@g_manager = rw
@g_docs = rw
* = r
[arm:/temp]
* = rw

6   试

在服务器上,打开一?DOS Prompt H口Q输入如下指?

svn co svn://127.0.0.1/arm --no-auth-cache --username rory --password 8809117

我们应该得到如下目录l构:

arm
├─diary
? └─headquarters
├─ref
└─temp

然后修改ref目录下Q意文件ƈ提交Q服务器会报错“Access deni”

深入

本章详l介l前一章所涉及的两个配|文Ӟ svnserve.conf ?authz.confQ通过寚w|逐行的描qͼ来阐明其中的一些细节含义?/p>

q里首先要注意一点,M配置文g的有效配|行Q都不允许存在前|空|否则E序会无法识别。也是_如果你直接从本文的纯文本格式中拷贝了相关的配|行q去Q需要手动将前置?个空格全部删除。当然了Q如果你觉得一下子要删除好多行的同h目的前置I格是一件苦差Q那么也?UltraEdit ?#8220;Column Mode”~辑模式Q可以给你很大帮助呢?/p>

1   svnserve.conf

arm\conf\svnserve.conf 文gQ是 svnserve.exe q个服务器进E的配置文gQ我们逐行解释如下?/p>

首先Q我们告?svnserve.exeQ用户名与密码放?passwd.conf 文g下。当Ӟ你可以改成Q意的有效文g名,比如默认的就?passwd:

password-db = passwd.conf

接下来这两行的意思,是说只允许经q验证的用户Q方可访问代码库?那么哪些?#8220;l过验证?#8221;用户呢?噢,当然Q就是前面说那些?passwd.conf 文g里面持有用户名密码的家伙。这两行的等号后面,目前只允?read write none 三种|你如果想实现一些特D的|比如?#8220;read-once”之类的,你自己动手改源代码,反正它也是自pY?

anon-access = none
auth-access = write

接下来就是最关键的一句呢Q它告诉 svnserve.exeQ项目目录访问权限的相关配置是放?authz.conf 文g?

authz-db = authz.conf

当然Qsvn 1.3.2 引入本功能的时候,pȝ默认使用 authz 而不?authz.conf 作ؓ配置文g。不q由于鄙人是处女座的Q有着强烈的完主义情l,看着 svnserve.conf 有后~?passwd ?authz 没有是不爽Q硬是要改了?/p>

3   authz.conf 之项目根目录

接着Q我们对目根目录做了限Ӟ该目录只允许arm事业部的l理才能修改Q其他h都只能眼巴巴的看着:

[arm:/]
@g_manager = rw
* = r
  • [arm:/] 表示q个目录l构的相Ҏ(gu)节点Q或者说?arm 目的根目录
  • q里?@ 表示接下来的是一个组名,不是用户名。你当然也可以将 @g_manager=rw q一行替换成 michael=rw Q而表辄意义完全一栗?
  • * 表示“除了上面提到的那些h之外的其余所有h”Q也是“除了部门l理外的其他所有h”Q当然也包括ȝ理那个怪老头
  • * = r 则表C?#8220;那些人只能读Q不能写”

4   authz.conf 之项目子目录

然后Q我们要l总部人员开放日志目录的d权限:

[arm:/diary/headquarters]
@g_manager = rw
@g_headquarters = rw
@g_vip = r
* =
  • 我敢打赌Q设计svn的家伙们Q大部分都是?unix/linux q_下工作,所以他们dƢ?/ 来标识子目录Q而完全忽视在 MS Windows 下是?\ 来做同样的事情。所以这儿,Z表示 arm\diary\headquarters q个目录Q我们必M?[arm:/diary/headquarters] q样的格式?
  • q里最后一行的 *= 表示Q除了经理、总部人员、特别h士之外,M人都被禁止访问本目录。这一行是否可以省略呢Q?
  • 之所以这儉K要将 @g_vip=r 一句加上,是因ؓ存在上述q个解释。如果说你没有明地lȝ理授予读的权力,则他会和其他ZP?* l排除在外?
  • 如果众位看官中间Q有谁玩q防火墙配置的话Q可能会感觉上述的配|很熟?zhn)。不q这里有一点与防火墙配|不一P那就是各个配|行之间Q没?先后序 一说。也是_如果我将本段配置?*= q一行挪到最前面Q完全不影响整个配置的最l效果?
  • h意这儿,我们q没有给 arm\diary 目录讄权限Q就直接跛_其子目录下进行设|了。我当然是故意这LQ因为我惛_q儿引入“l承”的概c?
  • 权限具备l承?/strong> M子目录,均可l承其父目录的所有权限,除非它自p明确讄了其他的权限。也是_?arm 目录讄权限后, arm\diary 目录没有q行讄Q就意味着它的权限?arm 目录一P都是只有l理才有权读写,其他人只能干瞪眼?
  • ?* = 是否可以省略】【用例子引入覆盖】【单用户权限的扉K题】【父目录权限集成与全面覆盖问题?

现在来看?/p>

好了Q我们现在掌握了“l承”的威力,它让我们节省了不敲键盘的时间。可是现在又有一个问题了Q?/p>

属性具备覆盖性质子目录若讄了属性,则完全覆盖父目录?/p>

5   authz.conf 的其他注意点

  1. 父目录的 r 权限Q对子目?w 权限的媄?

把这个问题专门提出来Q是因ؓ?.3.1及其以前的版本里面,有个bugQ即Z子目录的写权限,目首目录必d备读权限。因此现在用了1.3.2版本Q就方便了那些想在一个代码库存放多个怺独立的项目的理员,来分配权限了。比如说央舜公司建立一个大的代码库用于存放所有员工日志,叫做 diaryQ而arm事业部只是其中一个部门,则可以这样做:

[diary:/]
@g_chief_manager = rw
[diary:/arm]
@g_arm_manager = rw
@g_arm = r

q样Q对于所有arm事业部的人员来说Q就可以?svn://192.168.0.1/diary/arm q个URL当作根目录来q行日常操作Q而完全不它其实只是一个子目录Qƈ且当有少数好奇心比较强的人想试着 checkout 一?svn://192.168.0.1/diary 的时候,马上׃得到一个警?#8220;Access deni”Q哇Q太酷了?/p>

  1. 默认权限

如果说我Ҏ(gu)个目录不讄M权限Q会怎样Q马上动手做个试验,?

[diary:/]
@g_chief_manager = rw

Ҏ(gu):

[diary:/]
# @g_chief_manager = rw

q样q当于什么都没有讄。在我的 svn 1.3.2 版本上,此时是禁止Q何访问。也是_如果你想要让某h讉K某目录,你一定要昑ּ指明q一炏V这个策略,看v来与防火墙的{略是一致的?/p>

  1. 只读权限带来的一个小副作?

若设|了:

[arm:/diary]
* = r

则svnserve认ؓQQ何hQ都不允许改动diary目录Q包括删除和改名Q和新增?/p>

也就是说Q如果你在项目初期创建目录时候,一不小心写错目录名Uͼ比如因拼写错误写?dairyQ以后除非你改动 authz.conf 里面的这行设|,否则无法利用 svn mv 命o错误的目录更正?/p>

改进

1   对中文目录的支持

上午上班的时候,Morson 来到 Michael 的桌子前面,说道Q?#8220;你是否可以将我们的北京办、上办目录Q改成用中文的,看着那些拼音我觉得很隑֏Q?#8221; Michael 心想Q还好这两天刚了解了一些与 unicode ~码相关的知识,于是微笑地回{:“当然可以Q你明天下午可以看C文目录名UC?#8221;

  1. 使用 svn mv 指oQ将原来的一些目录改名ƈ commit 入代码库Q改名后的目录结构如?

    arm
        ├─工作日志
        ? ├─总部人员
        ? ├─北京?
        ? └─上v?
        ├─公司公共文g参考目?
        └─临时文g存放?
        
  2. 修改代码库的 authz.conf 文gQ将相应目录逐一改名

  3. 使用 UltraEdit ?authz.conf 文g转换成不?BOM ?UTF-8 格式

    配|文件{换成 UTF-8 格式之后QSubversion p够正识别中文字W了。但是这里需要注意一点,卛_M?UTF-8 文g不包?BOM 。BOM ?Byte Order Mark 的羃写,?UNICODE 文g头部用于指明高低字节排列序的几个字W,通常?FFFE Q而将之用 UTF-8 ~码之后Q就?EFBBBF 。由?UTF-8 文g本n不存在字节序问题Q所以对 UTF-16 {编码方式有重大意义?BOMQ对?UTF-8 来说Q只有一个作用——表明这个文件是 UTF-8 格式。由?BOM 会给文本处理带来很多NQ所以现在很多Y仉要求使用不带 BOM ?UTF-8 文gQ特别是一些处理文本的软gQ如 PHP?UNIX 脚本文g{,svn 也是如此?/p>

目前常用的一些文本编辑工具中QMS Windows 自带?#8220;C?#8221;里面Q?#8220;另存?#8221;菜单保存出来?UTF-8 格式文gQ会自动带上 BOM 。新版本 UltraEdit 提供了选项Q允许用户选择是否需?BOMQ而老版本的不会d BOM。请各位查看一下自己常用的~辑器的说明文gQ看看它是否支持q个功能?/p>

利用 UltraEdit Q我们可以将 BOM L。方法是Q首先利?#8220;UTF-8 TO ASCII”菜单文件{换成本地~码Q通常是GB2312码,然后再?#8220;ASCII TO UTF-8(UNICODE Editing)”来{换到 UTF-8 卛_?/p>



CONAN 2009-02-10 13:12 发表评论
]]>
在Debian 4.0 rc3 上安装Subversion 1.5W记http://www.aygfsteel.com/conans/articles/219481.htmlCONANCONANFri, 01 Aug 2008 15:06:00 GMThttp://www.aygfsteel.com/conans/articles/219481.html
原创作?八\ QQ:57623579 Mail: zubin.he@gmail.com

pȝ环境 : Debian 4.0 rc3

因环境需?我只安装Debian 4.0 rc3 basicpȝ,因此在装完Debian?Z安装mysql,subversion{就安装了以下所需要Y?

apt-get install vim elinks gcc g++ make libncurses5-dev libpng12-dev libjpeg62-dev zlib1g-dev libxml2-dev

1,安装apache

到apache官方|站[http://www.apache.org]上下载httpd- 2.2.9.tar.gz
#tar -zxvf httpd-2.2.9.tar.gz
#./configure --prefix=/usr/local/apache2 --enable-so --enable-ssl --enable-rewrite --with-mpm=worker --enable-dav --enable-maintainer-mode --enable-cgi
说明:
--enable-dav --enable-maintainer-mode q两个参数在安装Subversion旉要的,如不装subversion?可不?br /> #make & make install

2,安装subversion

到subversion官网上下?http://subversion.tigris.org/downloads/subversion- 1.5.0.tar.gz
#tar -zxvf subversion-1.5.0.tar.gz
到neon官网上下?http://www.webdav.org/neon/neon-0.28.2.tar.gz
#tar -zxvf neon-0.28.2.tar.gz
neon-0.28.2 copy到subversion-1.5.0目录,q命名:neon
#mv neon-0.28.2 ./subversion-1.5.0/neon

然后可以开始安装subversion?
#cd subversion-1.5.0
#./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apache2/bin/apr-1-config --with-apr-util=/usr/local/apache2/bin/apu-1-config --with-ssl
在configureq程中会有提C?大概的意思是说你没有安装Berkeley DB,我们可以不理?因ؓ我们用fs做ؓ存取数据,而不是用Berkeley DB来存取数?l箋...
#make
在makeq程中出错了:
/usr/bin/ld: cannot find -lexpat
collect2: ld returned 1 exit status
make: *** [subversion/svn/svn] Error 1

是找不到xpat?于是:
#apt-cache search xpat | grep xpat
扑ֈl(f)ibexpat1-dev - XML parsing C library - development kit
q安装之:
#apt-get install libexpat1-dev
l箋~译...
#make
#make install
一切顺?你的subversion已经成功安装?usr/local/subversion下了