Linux知识十:SVN安装配置与使用、SVN与Apache的整合

89550492 2010-11-12

svn安装与使用知识:

svn安装所需软件:apr,apr-util,sqlite,neon,subversionyuminstallsubversion:

在线安装版本库。./configure--prefix=/usr/local/subversion--with-apxs=/usr/local/apache2/bin/apxs--with-apr=/usr/local/apr/bin/apr-1-config--with-apr-util=/usr/local/apr/bin/apu-1-config--with-ssl--with-zlib--enable-maintainer-mode:安装subversion时配置系数。

svn--version|svnserve--version:查看SVN版本。

svnserve-d|svnserve-d[--listen-port端口号]-r/usr/bin:启动SVN服务。

netstat-nl|grep3690:查看SVN占用3690端口状态。

ps-ef|grepsvn:查看SVN进程是否启动。

htpasswd–c/SVNHome/conf/passwd.confapache:在SVN账户文件中创建名为apache用户。

useradd-s/sbin/nologin-d/dev/nullsvn:创建svn专用用户。

chown-Rsvn.svn/usr/local/SVNHome/SVNRoot/husumiao:给目录分配属主、属组。

usageeg:svndelete./tobeRemoveDir:从svn管理中排除,。

passwd.conf文件在Linux下设置规则:

[test:/]//这表示,仓库test的根目录下的访问权限

admin=rw//test仓库wooin用户具有读和写权限

husumiao=r//test仓库bao用户具有读权限

[test2:/]//test2仓库根目录下的访问权限

wooin=r//wooin用户在test2仓库根目录下只有读权限

bao=//bao用户在test2仓库根目录下无任何权限

[/]//这个表示在所有仓库的根目录下

 * = r //这个表示对所有的用户都具有读权限

SVN命令行知识:

svnhelp[命令]:查看命令帮助。

建立版本库的方法一:mkdirSVNHome文件和conf、SVNRoot子文件后,在SVNRoot下使用svnadmincreatehusumiao:创建名为husumiao的版本库,修改husumiao/conf/passwd文件的svnserve.conf的password-db=../../../conf/passwd。

svnadmincreate--fs-typefsfs/usr/local/SVNHome/SVNRoot/husumiao:建立版本库方式二。

[[进入版本库存入目录:cd../SVNHome新建版本库名称:mkdir/test创建版本库:svnadmincreate--fs-typefsfs/SVNHome/test修改验证机制:anon-access=none、auth-access=write、password-db=/opt/svn/conf/passwd、auth-db=/opt/svn/conf/authz、realm=module之后授权版本库文件夹及子所有文件:chmod777/775-Rtext(文件夹名)]]

创建版本库后建立统一的难证配置详细,在新建的版本库中找到conf/svnserve.conf文件添加或对应修改如下:

anon-access=none

auth-access=write

password-db=/usr/local/SVNHome/conf/passwd

auth-db=/usr/local/SVNHome/conf/authz

realm=module

/usr/local/SVNHome/conf/passwd文件信息配置:[users]用户名1=密码、用户名2=密码。

/usr/local/SVNHome/conf/authz文件信息配置:[users]用户名1=密码、用户名2=密码。

svnimport/要导入的目录file:///usr/local/SVNRoot-m“说明文字”:导入数据到版本库,-m说明是必须的。

svnadd./文件:往svn中添加新的内容(文件或文件夹)。

svnci|commit-m“说明“:提交版本,-m说明是必须的。

svndeletesvn://ip/版本库名/文件目录或文件-m"说明":删除版本库指定文件,-m说明是必须的。

svnup|update-r版本号文件:在版本库中对文件更新到指定版本操作。

svnresolved:清理版本库。

svnlock-m“说明"文件、svnunlock文件:文件的锁定与解锁。

svncheckout一定要注意:ps-ef|grepsvnserve显示出来的信息svnserve指向的数据地址是你存放版本库地址(eg:usr/local/SVNHome/SVNRoot)。

如果不是,先用pkillsvnserve停止然后用svnserve-d-r存放版本库数据地址(eg:/usr/local/SVNHome/SVNRoot/),然后再使用svncosvn:/ip/版本库名导出版本库。

svnco|checkout--username用户名--password密码svn://域名或IP地址/库名|svncheckoutsvn://域名或IP地址/库名:导出版本库操作。

svnco|checkoutfile:///版本库位置(eg:usr/local/SVNHome/SVNRoot/husumiao/):使用本地文件方式导出版本库。

svncheckout后,svn会记住用户的信息,如果要更改,可以删去当前os用户/.subversion/auth/svn.simple里边的信息,也可以更改里边的文件或者svn--usernameabcdinfosvn://ip/版本库:将改成用户abcd。

svnadmindump版本库位置(eg:/usr/local/SVNRoot/SVNHome/版本库名)>文件位置(eg:/www/文件名):导出一个版本库信息到一个文件中。

svnlooktreeusr/local/SVNHome/SVNRoot/husumiao/:以列表的方式查看版本库中的文件结构。

svnls|listsvn://ip/版本库名|file:///版本库位置:查看版本库文件。

svnls|list--verbosesvn://ip/版本库名|file:///版本库位置:详细模式查看版本库文件,包括文件日期及权限等相关信息。

svnst|statuspath:目录下的文件和子目录的状态,正常状态不显示(不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定)。

svnst|status-vpath:显示文件和子目录状态(第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人),注:svnstatus、svndiff和svnrevert命令在没有网络的情况下也可以执行,原因svn在本地的.svn中保留了本地版本的原始拷贝。

svnlogpath:查看日志信息(eg:svnlogtest.php显示这个文件的所有修改记录,及其版本号的变化)。

svninfopath:查看文件详细信息(eg:svninfotest.php)。

svndi|diffpath:比较差异,将修改的文件与基础版本比较(eg:svndifftest.php)。

svndi|diff-rm:npath:对版本m和版本n比较差异,(eg:svndiff-r200:201test.php)。

svnmerge-rm:npath:将两个版本之间的差异合并到当前文件(eg:svnmerge-r200:205test.php,将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)。

svnsw|switchs:更新工作副本至不同的URL(eg:switchURL[PATH]|switch–relocateFROMTO[PATH...]。

svnresolved:解决冲突,移除工作副本的目录或文件的“冲突”状态(ef:resolvedPATH…),本子命令不会依语法来解决冲突或是移除冲突标记,它只是移除冲突的,相关文件,然后让PATH可以再次提交。

svncat目标[@版本]:输出指定文件或URL的内容,如果指定了版本,将从指定的版本开始查找(eg:svncat-rPREV文件>文件(PREV是上一版本,也可以写具体版本号,这样输出结果是可以提交的)。

SVN一般问题:

SVN由于目标机器积极拒绝,无法连接解决方案:svnserve-d-r服务端服务打开、svnserve.conf文件在里面配置。

Norepositoryfound解决方案:先用pkillsvnserve停止然后用svnserve-d-r存放版本库数据地址(eg:/usr/local/SVNHome/SVNRoot/),然后再使用svncosvn:/ip/版本库名导出版本库。

认证失败解决方案:查看svnserve.conf文件中的 password-db所对应的文件是否存在、对应文件的目录及后缀名。

SVN与Apache整合:

修改对应的httpd.conf文件,安装subversion后,apache的conf/httpd.conf文件会自动增加了模块。

LoadModuledav_svn_modulemodules/mod_dav_svn.so

LoadModuleauthz_svn_modulemodules/mod_authz_svn.so

相应的so文件也自动copy到了apache/modules,这些工作就不用自己动手了。需要自己动手修改apache下的httpd.conf最后增加以下内容:

<Location/svn>#定义网页目录为/svn

DAVsvn#开启svn(融合apache的svn哦)

SVNPath/usr/local/SVNHome/SVNRoot#版本库的目录

SVNListParentPathOn#开启svn版本库父目录功能

SVNParentPath/usr/local/SVNHome#指定父目录位置,以后所有版本库都将存放在该目录下

AuthTypeBasic#指定授权模式

AuthName"SVNREPOS"#登陆窗口标题显示SVNREPOS

AuthUserFile/usr/local/SVNHome/conf#指定访问版本库的账户和密码存放文件,该文件需要用apache的htpasswd命令创建

AuthzSVNAccessFile/usr/local/SVNHome/conf/auth#指定访问版本库的用户和组的权限控制文件

Requirevalid-user#要求有效的用户才能访问

</Location>#字段结束标志

注意:

(1)SVNPath一定要跟./svnadmincreate/data/svn/svnroot的目录一样。

(2) 目录svnroot的权限设置成755

编辑工作知识:

修改ZendStudio为中文/英文版方法:打开用户配置文件:……\ZDE\config_5.5\desktop_options.xml,

把其中的预览无高亮打印?

1.<customized_propertyid="desktop.language">

2.<localelanguage="en"country=""variant=""/>

3.</customized_property>

改为预览无高亮打印?

1.<customized_propertyid="desktop.language">

2.<localelanguage="zh"country=""variant=""/>

3.</customized_property>libxml2知识:libxml2-2.6.32.tar.gz:安装包名。

./configure--prefix=/usr/local/php--with-apxs=/usr/local/apache--with-mysql:配置准备安装。

yuminstalllibxml2:在线安装升级。

ps-ef|top:查看系统所有进程。

ps-ef|grepbash/conf/ssh/文件名/进程号:查看shell进程信息/系统各种配置/服务器能登录的账号/文件运行所占用的进程名称/进程状态。

ps-ef|more:运行时进程|分页查看功能。

gcc文件名.c-o编译后的文件名:使用系统编译C程序文件、编译之后使用./编译后的文件名:执行文件。

php文件名.php:执行php文件。

pwd/manpwd:查看当前目录/查看当前目录相关信息。

cd-/cd/cd..:回到之前的目录/最上级目录/上一级目录、cd/:进入根目录。

相关推荐

leehbhs / 0评论 2020-03-04