1. 程式人生 > >centos7搭建svn服務器及客戶端設置

centos7搭建svn服務器及客戶端設置

步驟 避免 names asi cat plain groups against none

centos7貌似預裝了svn服務(有待確認),因此我們直接啟動該服務即可

一、svn服務端配置(服務器IP假設為192.168.100.1)

步驟1:創建存放代碼庫目錄

mkdir -p /var/svn

步驟2:啟動svn服務

svnserve -d -r /var/svn

步驟3:創建代碼庫something

技術分享
[root@model ~]# cd /var/svn[root@model svn]#  [root@model svn]# [root@model svn]# svnadmin create something[root@model svn]# [root@model svn]# [root@model svn]# cd something[root@model something]# [root@model something]# [root@model something]# 
lsconf db format hooks locks README.txt[root@model something]# [root@model something]# [root@model something]# cd conf[root@model conf]# [root@model conf]# [root@model conf]# lsauthz passwd svnserve.conf[root@model conf]# [root@model conf]#
技術分享

步驟4:配置svnserve.conf文件

技術分享
[root@model conf]# [root@model conf]# 
vi svnserve.conf### This file controls the configuration of the svnserve daemon, if you### use it to allow access to this repository. (If you only allow### access through http: and/or file: URLs, then this file is### irrelevant.)### Visit http://subversion.apache.org/ for more information.[general]### The anon
-access and auth-access options control access to the### repository for unauthenticated (a.k.a. anonymous) users and### authenticated users, respectively.### Valid values are "write", "read", and "none".### Setting the value to "none" prohibits both reading and writing;### "read" allows read-only access, and "write" allows complete### read/write access to the repository.### The sample settings below are the defaults and specify that anonymous### users have read-only access to the repository, while authenticated### users have read and write access to the repository.# anon-access = read# auth-access = writeanon-access = noneauth-access = write### The password-db option controls the location of the password### database file. Unless you specify a path starting with a /,### the files location is relative to the directory containing### this configuration file.### If SASL is enabled (see below), this file will NOT be used.### Uncomment the line below to use the default password file.# password-db = passwdpassword-db = passwd### The authz-db option controls the location of the authorization### rules for path-based access control. Unless you specify a path### starting with a /, the files location is relative to the the### directory containing this file. If you dont specify an### authz-db, no path-based access control is done.### Uncomment the line below to use the default authorization file.# authz-db = authzauthz-db = authz### This option specifies the authentication realm of the repository.### If two repositories have the same authentication realm, they should### have the same password database, and vice versa. The default realm### is repositorys uuid.# realm = My First Repository

#此選項指定的庫的認證領域
raalm = /var/svn/something
### The force
-username-case option causes svnserve to case-normalize### usernames before comparing them against the authorization rules in the### authz-db file configured above. Valid values are "upper" (to upper-### case the usernames), "lower" (to lowercase the usernames), and### "none" (to compare usernames as-is without case conversion, which### is the default behavior).# force-username-case = none[sasl]### This option specifies whether you want to use the Cyrus SASL### library for authentication. Default is false.### This section will be ignored if svnserve is not built with Cyrus### SASL support; to check, run svnserve --version and look for a line### reading Cyrus SASL authentication is available.# use-sasl = true### These options specify the desired strength of the security layer### that you want SASL to provide. 0 means no encryption, 1 means### integrity-checking only, values larger than 1 are correlated"svnserve.conf" 71L, 3173C written
技術分享

步驟5:配置passwd文件

技術分享
[root@model conf]# vi passwd### This file is an example password file for svnserve.### Its format is similar to that of svnserve.conf. As shown in the### example below it contains one section labelled [users].### The name and password for each user follow, one account per line.[users]# harry = harryssecret# sally = sallyssecretuser = 123456~~"passwd" 11L, 326C written
技術分享

步驟6:配置authz文件

技術分享
[root@model conf]# [root@model conf]# vi authz### This file is an example authorization file for svnserve.### Its format is identical to that of mod_authz_svn authorization### files.### As shown below each section defines authorizations for the path and### (optional) repository specified by the section name.### The authorizations follow. An authorization line can refer to:###  - a single user,###  - a group of users defined in a special [groups] section,###  - an alias defined in a special [aliases] section,###  - all authenticated users, using the $authenticated token,###  - only anonymous users, using the $anonymous token,###  - anyone, using the * wildcard.###### A match can be inverted by prefixing the rule with ~. Rules can### grant read (r) access, read-write (rw) access, or no access### (‘‘).[aliases]# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average[groups]# harry_and_sally = harry,sally# harry_sally_and_joe = harry,sally,&joe
admin = user
# [
/foo/bar]# harry = rw# &joe = r# * =

[/]
user = rw
# [repository:/baz/fuz]# @harry_and_sally = rw# * = r
[something:/]
@admin = rw
~~~~~~"authz" 35L, 1093C written
技術分享

此處的意思是用戶usr_0對目錄[/](代碼庫something的根目錄)下的所有文件,具有讀(r)和寫(w)的權限

步驟7:關閉防火墻及防火墻開機自啟動

systemctl stop firewalld.service
systemctl disable firewalld.service

至此,svn服務端配置完畢

二、svn客戶端配置(客戶端IP假設為192.168.100.2)

步驟1:關閉防火墻

技術分享
[root@localhost svn]# [root@localhost svn]# systemctl stop firewalld.service[root@localhost svn]# [root@localhost svn]# systemctl disable firewalld.serviceRemoved symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.[root@localhost svn]# 
技術分享

步驟2:創建客戶端svn上提取文件存放目錄

[root@localhost /]# [root@localhost /]# mkdir /svn[root@localhost /]# [root@localhost /]# 

步驟3:登錄svn服務器並檢出something庫中的文件

技術分享
[root@localhost svn]# [root@localhost svn]# [root@localhost svn]# svn co --username user --password 123456 svn://192.168.100.1/something-----------------------------------------------------------------------註意!  你的密碼,對於認證域:   <svn://192.168.100.1:3690> /var/svn/something只能明文保存在磁盤上!  如果可能的話,請考慮配置你的系統,讓 Subversion可以保存加密後的密碼。請參閱文檔以獲得詳細信息。你可以通過在“/root/.subversion/servers”中設置選項“store-plaintext-passwords”為“yes”或“no”,來避免再次出現此警告。-----------------------------------------------------------------------保存未加密的密碼(yes/no)?nA    something/packageA    something/package/apache-maven-3.5.0-bin.tar.gzA    something/package/mysql-5.6.37-linux-glibc2.12-x86_64.tar.gzA    something/package/jdk-8u141-linux-x64.gzA    something/package/apache-tomcat-7.0.79.tar.gz取出版本 6。[root@localhost svn]# [root@localhost svn]# lssomething[root@localhost svn]# [root@localhost svn]# 
技術分享

更新svn版本庫

技術分享
[root@localhost package]# [root@localhost package]# [root@localhost package]# svn up /svn/something正在升級 /svn/something:認證領域: <svn://192.168.100.1:3690> /var/svn/something“user”的密碼: -----------------------------------------------------------------------註意!  你的密碼,對於認證域:   <svn://192.168.100.1:3690> /var/svn/something只能明文保存在磁盤上!  如果可能的話,請考慮配置你的系統,讓 Subversion可以保存加密後的密碼。請參閱文檔以獲得詳細信息。你可以通過在“/root/.subversion/servers”中設置選項“store-plaintext-passwords”為“yes”或“no”,來避免再次出現此警告。-----------------------------------------------------------------------保存未加密的密碼(yes/no)?nD    jenkins.war更新到版本 7。[root@localhost package]# [root@localhost package]# [root@localhost package]# 
技術分享

centos7搭建svn服務器及客戶端設置