如何搭建svn伺服器linux
① linux搭建svn整合apaceh綁定域名如何弄,怎麼弄域名,請說具體點,額是菜鳥
如果要自己架設伺服器的話,我自己架設過,具體思路是將SVN伺服器先架設在區域網上,然後通過路由器的映射將其埠開放給互聯網訪問。為了解決ADSL線路每次重新連接時隨機分配IP地址的問題,我們還需要申請一個免費域名。
下面是我的架設方法,首先你需要具備這些條件:
1、路由器1台,應有埠映射(轉發規則-虛擬伺服器)功能,最好有內置的花生殼動態DNS功能(否則就需要另外安裝花生殼軟體)。
2、SVN伺服器一台
3、ADSL或其他通往互聯網的網路線路
然後需要做以下事情:
1、架設好SVN伺服器,保證內網訪問暢通。
2、申請免費域名
登錄花生殼網站(www.oray.net),免費注冊用戶,可得到一個免費域名,如「abcde.gicp.net」此域名可長期使用;
3、登錄路由器管理頁面
通常是訪問地址http://192.168.1.1,用戶名和密碼根據設定輸入,各型號路由器的訪問方式可能略有不同,可參考說明書進行操作。
4、設置動態域名
如果路由器內置了花生殼動態DNS功能,則可通過路由器直接設置。以TL-WR340G 54M型號的無線路由器為例,在「動態DNS」頁面,選擇服務提供者為花生殼,輸入在花生殼注冊的用戶名和密碼,然後點擊登錄。
如果路由器沒有內置的花生殼動態DNS功能,則需要在花生殼網站下載花生殼客戶端軟體,安裝(可不必安裝附帶的「向日葵」組件)後使用前面申請的花生殼帳戶名和密碼進行登錄,登錄後即可使用免費域名。
5、設置埠映射
仍以TL-WR340G 54M型號的無線路由器為例,在「轉發規則-虛擬伺服器」頁面點擊「添加新條目」,在新條目的頁面中,設置埠號為項目組SVN伺服器的訪問埠號,設置IP地址為該路由器分配給項目組SVN伺服器的內網IP地址,狀態為「生效」,然後保存。
然後你就可以在互聯網上通過你申請的免費域名(如「abcde.gicp.net」)代替IP地址來訪問SVN伺服器了。
至於如何架設基於Apache的SVN伺服器這個就不用細講了吧?
② 如何搭建SVN伺服器端
推薦用Collabnet SVN Edge來搭建SVN伺服器,Linux版、windows版都有,這個安裝包架設起來比較容易,內置了Apache和伺服器端管理台,基本上一個安裝文件裝完就能用,可以通過瀏覽器對伺服器進行遠程管理,而且是免費的。
安裝過程可以看附帶的安裝說明,也可以參考我的網路文庫,其中有篇關於這個安裝包的說明,不過寫的是老版本的。
③ 怎麼用linux命令啟動伺服器svn服務
先轉到SVN的安裝目錄,比如,你安裝在/home/svn 下面。
然後轉到bin目錄下,在這里可以看見一個叫svnserve的文件,我們需要用這個來啟動SVN服務。
試一下svnserve --help,看看這個命令的幫組,其中有-d和-r,分別表示後台運行和數據倉庫目錄。
數據倉庫目錄表示你保存數據的地方,如你將工程的信息保存在/home/svndata下面,這個svndata就是你的數據倉庫目錄。
弄清楚了這些就可以來啟動了:
輸入命令:
svnserve -d -r /home/svndata
後面那個要跟你自己的數據倉庫目錄。
這樣我們就啟動了SVN了,SVN默認監聽的是3690。有時候我們需要更改一下監聽的埠,這時就需要設定一下監聽埠了,按照如下命令來進行:
svnserve --listen-port 9999 -d -r /opt/svndata
這樣我們就把監聽埠改成了9999了,當然你也可以可以把9999改成你自己想監聽的埠~
④ 如何搭建遠程SVN伺服器(開發人員在不同地點,希望可以共享代碼)
首選需要假設在互聯網環境中的一台主機,有獨立的ip地址。
然後根據操作系統的不同,安裝相應的svn server。比如windows環境下,可以安裝visualsvn server,有免費的版本可用。類linux下可用的也不少,可以上svn官網去看。包括推動svn發展的公司都有自己出品的windows/linux 版本的svn server版本。
⑤ linux nginx下搭建了SVN伺服器,本地要如何配置了
客戶端首先是要checkout,這個操作沒錯,但url怎麼寫要看你的SVN伺服器是怎麼搭建了,有用svn協議的(url以svn打頭+://),有用http或https協議的(url以http或https打頭+://),後面的地址通常是:伺服器主機地址+冒號+版本庫路徑,這個具體要看你的SVN配置文件才好確定
⑥ 如何在linux上安裝svn伺服器
你好,centos下安裝 svn 1.9.5 按照步驟一步一步裝就OK 。以下是我的步驟。分享給你
安裝1.9
准備工作:
1、安裝編譯工具包
yum install apr* autoconf automake bison bzip2 cloog-ppl compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gtk+-devel gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng* libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool libtool* libgomp libxml2 libxml2-devel libXpm* libtiff libtiff* libX* make mpfr ncurses* ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils ppl telnet t1lib t1lib* nasm nasm* wget zlib-devel zlib unzip perl-ExtUtils-Embed
2、yum remove apr apr-util subversion subversion-libs #刪除系統中原有的svn及依賴包
3、下載軟體包
https://dist.apache.org/repos/dist/release/apr/apr-1.5.2.tar.gz
https://dist.apache.org/repos/dist/release/apr/apr-util-1.5.4.tar.gz
http://prdownloads.sourceforge.net/scons/scons-2.3.5.tar.gz
http://www.openssl.org/source/openssl-1.0.1o.tar.gz
https://www.apache.org/dist/serf/serf-1.3.9.tar.bz2
http://www.apache.org/dist/subversion/subversion-1.8.13.tar.gz
http://www.sqlite.org/2017/sqlite-amalgamation-3160200.zip
1、安裝apr
cd /usr/local/src #進入軟體包存放目錄
tar zxvf apr-1.5.2.tar.gz #解壓
cd apr-1.5.2 #進入安裝目錄
./configure --prefix=/usr/local/apr #配置
make #編譯
make install #安裝
2、安裝apr-util
cd /usr/local/src
tar zxvf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --with-apr=/usr/local/apr/bin/apr-1-config
make && make install
3、安裝scons
cd /usr/local/src
tar zxvf scons-2.3.5.tar.gz
cd scons-2.3.5
python setup.py install #配置安裝
4、安裝openssl
cd /usr/local/src
tar zxvf openssl-1.0.1o.tar.gz
cd openssl-1.0.1o
CFLAGS=-fPIC ./config --prefix=/usr/local/openssl enable-shared
make && make install
vi /etc/profile #添加系統環境變數
export PATH=$PATH:/usr/local/openssl/bin >> /etc/profile
#export PATH=$PATH:/usr/local/openssl/bin >> /etc/profile
:wq! #保存退出
source /etc/profile #使配置生效
ln -s /usr/local/openssl/include/openssl /usr/include/openssl #添加系統軟連接
5、安裝serf
cd /usr/local/src
tar -xf serf-1.3.9.tar.bz2
cd serf-1.3.9
scons PREFIX=/usr/local/serf APR=/usr/local/apr/bin/apr-1-config APU=/usr/local/apr/bin/apu-1-config OPENSSL=/usr/local/openssl
scons install
cd /usr/local/serf/lib
cp libserf-1.so* /usr/local/lib/ #拷貝文件到系統目錄
6、安裝svn
cd /usr/local/src
tar zxvf subversion-1.9.5.tar.gz
cd subversion-1.9.5
mkdir /usr/local/src/subversion-1.9.5/sqlite-amalgamation #創建sqlite-amalgamation目錄
cd /usr/local/src
unzip sqlite-amalgamation-3160200.zip -d /usr/local/src/subversion-1.9.5/sqlite-amalgamation
mv /usr/local/src/subversion-1.9.5/sqlite-amalgamation/sqlite-amalgamation-3160200/* /usr/local/src/subversion-1.9.5/sqlite-amalgamation
#解壓sqlite-amalgamation軟體包到sqlite-amalgamation目錄
cd /usr/local/src/subversion-1.9.5
./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-serf=/usr/local/serf --with-openssl=/usr/local/openssl --enable-mod-activation #配置
make #編譯
make install #安裝
vi /etc/profile #添加系統環境變數,添加到最後一行
export PATH=$PATH:/usr/local/svn/bin
:wq! #保存退出
source /etc/profile #使配置立刻生效
whereis libexpat.so.1 #查找文件安裝目錄,如下:
libexpat.so: /lib/libexpat.so.0 /usr/local/lib/libexpat.so /usr/local/lib/libexpat.so.1
vi /etc/ld.so.conf #編輯加入libexpat.so.1的目錄
/usr/local/lib/
:wq! #保存退出
ldconfig #使配置生效
⑦ 如何測試linux系統搭建的svn伺服器
1,用svnserve這種形式,那麼你的url就是 svn://your_host_ip/,不需要加上後面的 2,auth語法似乎有點問題,[/xxx]是倉庫,你需要寫成 [/] user=rw @group=rw ... 這樣的形式。 試試看 另外,提示輸入登陸伺服器密碼,有點怪,怎麼會有這一步的?
⑧ linux centos7.2怎麼安裝svn伺服器
開機登錄進入命令行!
sudo yum install -y subversion
輸入這個命令進行安裝,前面加入sudo。不然會沒有許可權
安裝完成後,發現已經有了svn相關命令
知道svn伺服器的地址,然後創建一個目錄,比如svn,進入該目錄,輸入:
svn checkout http://********
當然,也可以是其他的協議,比如svn等
就可以將伺服器上的數據弄下來了
OK,在該目錄下就已經有你checkout來的東西了。
⑨ 怎麼在linux伺服器上部署svn
1. 安裝SVN伺服器:
檢查是否已安裝
# rpm -qa subversion
安裝SVN伺服器
# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql
驗證安裝
# cd /etc/httpd/moles
# ls | grep svn
mod_authz_svn.so
mod_dav_svn.so
查看版本
# svnserve --version
2. 代碼庫創建:
安裝完成後要建立SVN庫
# mkdir -p /opt/svn/repositories
# svnadmin create /opt/svn/repositories
執行後,自動建立repositories庫,查看/opt/svn/repositories文件夾包含了conf,db,format,hooks,locks,README.txt等文件,說明一個SVN庫已經建立。
3. 配置版本庫:
進入上面conf文件夾下,進行配置:
a. 用戶密碼passwd配置:
# vi + passwd //+表示游標放在文件最低端
修改passwd為一下內容:
[users]
# harry = harryssecret
# sally = sallyssecret
zhoulf=123456
b. 許可權控制authz配置:
# vi + authz
設置哪些用戶可以訪問哪些目錄,向authz文件追加以下內容:
[/]
zhoulf=rw //給該用戶訪問所有庫的許可權
或
[repositories:/project] //repository庫的根目錄許可權
zhoulf=rw
/ 表示根目錄及以下,根目錄是svnserve啟動時指定的,我們指定的是/opt/svn;/ 就是指對全部版本庫都具有許可權
repositories:/ 表示對庫repositories的根目錄設置許可權
PS:
* 許可權配置文件中出現的用戶名必須已在用戶配置文件中定義。
* 對許可權配置文件的修改立即生效,不必重啟svn。
c. 服務svnserve.con配置:
# vi + svnserve.conf
添加一下內容:
[general]
#匿名訪問的許可權,可以是read,write,none,默認為read
anon-access=none
#使授權用戶有寫許可權
auth-access=write
#密碼資料庫的路徑
password-db=passwd
#訪問控制文件
authz-db=authz
#認證命名空間,subversion會在認證提示里顯示,並且作為憑證緩存的關鍵字
realm=/opt/svn/repositories
這里注意各標簽不能錯,也不能有重復,不然無法連接。
d. 配置防火牆埠(如果需要):
不一定每個人都需要設置,可以先測試後再看是否需要打開埠
# vi /etc/sysconfig/iptables
添加一下內容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存後重啟防火牆
# service iptables restart
4. 查看:
a. 啟動SVN
# svnserve -d -r /opt/svn/repositories
b. 查看SVN進程
# ps -ef|grep svn|grep -v grep
root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /opt/svn/repositories
c. 檢測SVN埠
# netstat -ln |grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
5. 停止重啟SVN:
# killall svnserve //停止
# svnserve -d -r /opt/svn/repositories // 啟動
6. 測試連接:
使用TortoiseSVN進行測試:
1. SVN服務啟動後,需要使用客戶端測試連接:
客戶端連接地址:svn://192.168.15.231;然後,輸入用戶名密碼;
2. 新建一個文件夾,即本地的庫文件夾,右鍵checkout,將會得到一個隱藏文件夾.svn;
3. 在此文件夾中放入項目內容,然後右鍵點擊commit,就可以上傳本地項目了。
⑩ 如何配置自己的Linux svnserver伺服器
一、新建並初始化版本庫
1.新建代碼倉庫
# svnadmin create /home/myrepos
這樣,我們就在/home目錄下新建了版本庫myrepos。
2.初始化代碼倉庫
#mkdir -p code/{branches,tags,trunk}
按照svn手冊上的建議,我們版本庫的布局採用branches/tags/trunk這樣的三個目錄。然後可以將代碼直接拷貝的trunk目錄,也可以隨後採用svn add的方式添加。
#svn import code file: ///home/myrepos
將我們構造好的版本庫布局(以及代碼,如果已經拷貝到trunk下的話)提交到版本庫。由於這里我們是在本地操作,因此可以直接使用file協議方式提交。格式為:file:// + 版本庫絕對的路徑
OK,到這里我們已經構建了一個本地版本庫,可以再本地使用svn ci的方法得到版本庫的副本了。如果前面只是提交了版本庫布局,而沒有提交代碼的話,則可以通過如下命令,提交版本代碼:
#svn co file: ///home/myrepos/trunk repos
通常只從主線目錄trunk下取出源碼,放在了新建的repos目錄。然後可以將源碼拷貝到repos目錄。
執行以下兩條命令將代碼添加的版本庫。
#svn add *
#svn ci * -m "Committed codes"
首先需要將拷貝的代碼加入到當前的副本中,然後將代碼提交到版本庫。
二、配置並啟動svnserve
1. 配置svnserve
這一步主要完成遠程用戶訪問版本的許可權。
在版本庫目錄下有個conf目錄:home/myrepos/conf,該目錄包含三個文件:authz,passwd,svnserve.conf。
(1)svnserve.conf
此文件重點的設置內容如下:
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
其中,anon-acces s和auth-access分別代表設置匿名用戶和授權用戶的訪問許可權。read代表只讀,write代表可讀可寫,還有一個none,代表禁止訪問。如果不想讓匿名用戶訪問的話,可以設置anon-access = none。
password-db為保存版本庫的用戶名和密碼,通常為conf目錄下的passwd文件。
authz-db指向的文件,主要用於將用戶進行分組,並賦予不同的組不同的許可權。譬如有多個目錄時,設置某個組的用戶只可以訪問其中的那些目錄。
(2)passwd
如前面介紹,這個文件的主要內容如下
[users]
harry = harrysecret
sally = sallyssecret
以上兩行就是可以訪問版本庫的用戶名和密碼。格式為:user = passwd。
(3)authz
[groups]
# harry_and_sally = harry,sally
# [/foo/bar]
# harry = rw
# * =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
以上就是authz文件的格式。先給用戶分組,然後分別設置每個組的工作目錄以及許可權等。
本文的講解並未用到authz的配置。
2. 啟動svnserve
#svnserve -d -r /home/
svnserve將以守護進程的方式運行。同時,通過-r選項指定了版本庫的目錄。這個目錄可以是版本庫的上級目錄(/home),也可以是版本庫的目錄(/home/myrepos)。具體的區別會在後面講到。當然,也可以不用-r指定。
三、遠程訪問svnserve。
假設版本伺服器的地址為10.1.1.1,那麼用戶可以在遠程linux端輸入命令:
#svn checkout svn://10.1.1.1/myrepos myrepos
這樣版本庫的所有內容都被check出來,存放在當前目錄myrepos下。這里相當於使用svn協議,不用搭建http伺服器。
如果啟動svnserve的時候,-r選項指定的是版本庫的目錄,譬如/home/myrepos,那麼檢出版本的時候,執行的命令為:
#svn checkout svn://10.1.1.1/ myrepos
如果啟動svnserve是沒有指定-r選項,則要輸入版本庫的絕對路徑:
#svn checkout svn://10.1.1.1/home/myrepos myrepos
四、容易出現的問題
在訪問svnserve時,遇到了不少的問題,大致總結一下:
1. 這一步最容易避免,一定要記得啟動svnserve。
2. 記得要正確的修改配置文件svnserve.conf和passwd。
3. 保證版本庫伺服器沒有配置限制遠程訪問svnserve的規則。有時在訪問svn伺服器的時候,會提示伺服器積極拒絕鏈接。簡單起見,可以看看iptables -L INPUT和iptables -L OUTPUT有沒有限制訪問的規則。
4. 要保證輸入版本庫的URL正確。