Linux知识十:SVN安装配置与使用、SVN与Apache的整合
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/:进入根目录。
相关推荐
pub_svnserve.conf的 pub_authz.conf的配置文件有非法字符的原因引起,需要查找pub_authz.conf提的非法内容比如多余的空格删除或直接将pub_authz.conf