當前位置:首頁 » 雲伺服器 » 阿里雲linuxsvn伺服器搭建

阿里雲linuxsvn伺服器搭建

發布時間: 2022-10-25 03:42:17

A. 阿里雲虛擬主機 怎麼安裝svn

可以用svn,裝個服務端就可以,方法直接網路就可以,如果.svn是現成的話,應該是環境布好了,直接同步就可以。但有一個問題:你怎麼解決資料庫的同步?
其實阿里雲是對svn匹配了一個叫ACE的東西,不過ACE只能存你自己上傳的版本,一旦程序自己生成了文件,你是無法用SVN同步到本地的,所以ACE對於web程序是比較雞肋的。
另一方面,如果你用主機搭建了svn的環境,也是有問題的,因為他只是一個版本控制系統,而web程序最好同時同步資料庫和文件,除非你有辦法將資料庫同步到文件這里,所以你即使用上了svn,每次更新svn版本的時候,也最好備份一下當時的資料庫。而當網站是多用戶的時候,這個問題就更麻煩了。
現在是有針對sql資料庫的svn方法的,我試過一些,只能解決資料庫本身,要實現資料庫和程序同步還是比較難。
還有一種思路,就是對整個lamp環境進行svn控制,怎麼說呢,這就有點高射炮打蚊子的感覺了。
相反,ftp就沒有這個問題了,主機一鍵備份,一鍵回檔,僅僅是一小段時間的數據丟失問題,不會出現資料庫和程序不對付的情況。
如果你是一個重開發,輕數據的,或者項目處於測試開發階段話,svn和git都可以,git可能更適合團隊,svn適合個人或者兩三個人的小團隊。
所以,wordpress這類簡單的web建議還是ftp把,自己搭建環境,裝個面板之後資料庫和文件都在一個地方了,這樣只需做好一個備份就可以了。
功能上的需求的話,插件都能夠實現,偶爾需要底層修改和開發的,但是工作量不會大的。
本數據來源於網路地圖,最終結果以網路地圖最新數據為准。
這些都是小鳥雲的工程師告訴我的,建議你可以試試小鳥雲.

B. linux下,怎麼搭建svn服務,怎麼備份(從伺服器備份到筆記本)對這塊小白一枚,請各位指教!

這個搭建起來是比較麻煩的,跟著教程一步一步來,還好,你可以看下網頁鏈接希望對你有幫助啊

C. 如何在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 #使配置生效

D. 怎麼在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,就可以上傳本地項目了。

E. svn怎麼在linux伺服器建庫

1、安裝svn服務
# yuminstall subversion

2、新建一個目錄用於存儲SVN所有文件
# mkdir /home/svn

3、在上面創建的文件夾中為項目 project_1 創建一個版本倉庫
# svnadmin create /home/svn/project_1
執行完這一步,/home/svn中將存在project_1文件夾,這個項目的配置都在 /home/svn/project_1/conf 中

4、為項目配置許可權
(1)svnserve.conf 是主配置文件
# vi/home/svn/project_1/conf/svnserve.conf
anon-access=read #匿名可讀
auth-access=write #驗證用戶可讀寫
password-db=passwd #指向驗證用戶名密碼的數據文件 passwd ,請看下文配置
auth-db=authz #指向驗證用戶的許可權配置文件 authz ,請看下文配置
注意:每一行前方不能有空格,否則會出現 Option expected錯誤!
(2)passwd用戶名密碼配置文件
# vi/home/svn/project_1/conf/passwd
[users]
manager1=123456 #每一行都要是「用戶名=密碼」的格式
manager2=123123
manager3=888888
(3)authz用戶許可權配置文件
# vi/home/svn/project_1/conf/authz
[groups]
managers=manager1,manager2 #定義群組 managers 包含 manager1 和 manager2 兩個用戶
[/]
@managers=rw #定義群組 managers 有讀寫許可權
manager3=r #定義 manager3 有讀許可權
*= #以上沒有定義的用戶都沒有任何許可權

F. svN的服務端要搭建在哪裡 ,是在本機搭建嗎,還是在另外一台電腦

都可以,你可以在本機搭建SVN伺服器
然後供網路中其他開發者(包括自己)使用
也可以專門在公共的伺服器上搭建SVN
通常都是在專門的伺服器上搭建SVN服務,因為開發者的電腦不能保證永久開機
如果是經費緊張的團隊,不能申請伺服器,可以隨便用一個人的電腦做伺服器也行

G. 如何搭建本地SVN服務

搭建svn服務的方法步驟問題,主要有七個部分 。下面是具體的步驟介紹。

一、准備工作

1、獲取S version伺服器程序

到官方網站(htt p:/ /s version.tigris.org/)下載最新的伺服器安裝程序。目前最新的是1.5版本,具體下載地址 在:htt p:/ /s version.tigris.org/servlets /ProjectDocumentList?folderID=8100&expandFolder=8100&folderID=91

2、獲取TortoiseSVN客戶端程序
從官方網站htt p:/ /tortoisesvn.n et/downloads獲取最新的TortoiseSVN。TortoiseSVN是一個客戶端程 序,用來與s vers伺服器端通訊。S version自帶一個客戶端程序svn.exe,但TortoiseSVN更好操作,提高效率。

二、安裝伺服器端和客戶端

搭建svn服務第二步要安裝伺服器端和客戶端。安裝S version(以下簡稱SVN)的伺服器端和客戶端。下載下來的伺服器端是個zip壓縮包,直 接解壓縮即可,比如我解壓到E:\s version。客戶端安裝文件是個exe可執行文件,直接運行按提示安裝即可,客戶端安裝完成後提示重啟。

三、建立版本庫(Repository)

運行S version伺服器需要首先要建立一個版本庫(Repository)。版本庫可以看作是伺服器上集中存放和管理數據的地方。開始建立版本 庫。首先建立e:\svn空文件夾作為所有版本庫的根目錄。然後,進入命令行並切換到s version的bin目錄。輸入如下命 令:svnadmincreateE:\svn\repos1此命令在E:\svn下建立一個版本庫repos1。repos1下面會自動生成一些文件夾 和文件。我們也可以使用TortoiseSVN圖形化的完成這一步:先建立空目錄E:\svn\repos1,注意一定是要空的。然後在repos1文件 夾上「右鍵->TortoiseSVN->CreateRepositoryhere...」,然後可以選擇版本庫模式,這里使用默認的 FSFS即可,然後就創建了一系列文件夾和文件,同命令行建立的一樣。

四、運行獨立伺服器

搭建svn服務過程中要運行獨立伺服器。 此時s version服務還沒有開始,只是通過它的命令建立了 版本庫。繼續在剛才的命令窗口輸入:svnserve.exe--daemon

svnserve將會在埠3690等待請求,--daemon(兩個短橫線)選項告訴svnserve以守護進程方式運行,這樣在手動終止之前不會退 出。注意不要關閉命令行窗口,關閉窗口會把svnserve停止。為了驗證svnserve正常工作,使用TortoiseSVN->Repo- browser來查看版本庫。在彈出的URL對話框中輸入:svn://localhost/svn/repos1
點OK按鈕後就可以看見repos1版本庫的目錄樹結構了,只不過這時repos1是個空庫。你也可以使用--root選項設置根位置來限制伺服器的訪問 目錄,從而增加安全性和節約輸入svnserveURL的時間:svnserve.exe--daemon--rootdrive:\path\to \repository以前面的測試作為例,svnserve將會運行為:svnserve.exe--daemon--roote:\svn然後 TortoiseSVN中的版本庫瀏覽器URL縮減為:svn://localhost/repos1

五、配置用戶和許可權

用文本編輯器打開E:\svn\repos1\conf目錄,修改svnserve.conf:將:#password-db=passwd改 為:password-db=passwd

即去掉前面的#注釋符,注意前面不能有空格。然後修改同目錄的passwd文件,增加一個帳號:將:
[users]
#harry=harryssecret
#sally=sallyssecret
增加帳號:
[users]
#harry=harryssecret
#sally=sallyssecret
test=test

六、初始化導入

下面就是搭建svn服務時將我們的數據(項目)導入到這個版本庫,以後就由版本庫管理我們的數據。我們的任何改動都回被版本庫記錄下來,甚至我們自己丟 失、改錯數據時版本庫也能幫我們找回數據。

比如,我在d:\wwwroot下有個gstbook文件夾,裡面存放的是我編寫的留言簿程序。在此文件夾上「右鍵 ->TortoiseSVN->Import...」,在彈出對話框的「URLofrepository」輸入 「svn://localhost/repos1/gstbook」。在「Importmessage」輸入「導入整個留言簿」作為注釋。
點OK後要求輸入帳號。我們在用戶名和密碼處都輸入test。完成後gstbook中的內容全部導入到了svn://localhost/svn /repos1/gstbook。
我們看到在e:\svn\repos1沒有任何變化,連個gstbook文件夾都沒有建立,唯一的變化就是e:\svn\repos1容量變大了。實 際上我們源gstbook中的內容已經導入repos1版本庫了,源gstbook文件夾可以刪除了。需要注意的是,這一步操作可以完全在另一台 安裝了TortoiseSVN的客戶機上進行。例如運行svnserve的主機的IP是133.96.121.22,則URL部分輸入的內容就是 「svn://133.96.121.22」。

七、基本操作流程

1、取出(checkout)

取出版本庫到一個工作拷貝:
來到任意空目錄下,比如在f分區建立一個空文件夾f:\work。「右鍵->SVNCheckout」。在「URLofrepository」中輸 入「svn://localhost/svn/repos1/gstbook」,這樣我們就得到了一份gstbook中內容的工作拷貝。
2、存入(checkin)/提交(commit)
在工作拷貝中作出修改並提交:
在gstbook工作拷貝中隨便打開一個文件,作出修改,然後「右鍵->SVNCommit...」。這樣我們就把修改提交到了版本庫,版本庫 根據情況存儲我們提交的數據。
在修改過的文件上「右鍵->TortoiseSVN->ShowLog」,可以看到對這個文件所有的提交。在不同的revision條目上 「右鍵->Comparewithworking」,我們可以比較工作拷貝的文件和所選revision版本的區別。本節介紹搭建SVN服 務完畢,請關注本節其他相關報道。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

搭建好svn後創建svn版本

1、創建一個空文件夾,右鍵->TortoiseSVN->CreateRepositoryhere,然後該文件夾會自動生成一些文件出來

2、用文本編輯器打開E:\svn\repos1\conf目錄,修改svnserve.conf:將:#password-db=passwd改 為:password-db=passwd
即去掉前面的#注釋符

3、修改同目錄的passwd文件,增加一個帳號

增加帳號:
[users]
#harry=harryssecret
#sally=sallyssecret
amylv=amylv
4、初始化導入 比如在d:\wwwroot下有個gstbook文件夾,在此文件夾上「右鍵 ->TortoiseSVN->Import...」,

輸入你的用戶名跟密碼

到此ok了

附:svn伺服器端只能裝在c盤下 svnserve.exe --daemon 這個命令才能使用,版本庫也必須放在c盤下svn://localhost 對應的是c盤直接目錄

如果你創建的文件夾目錄為 c:/svnlib/weibo。那麼import的地址為svn://localhost/svnlib/weibo

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
安裝了兩次終於明白應該注意什麼了,總結一個最簡單的說明,節省大家時間

1、獲取svn程序

2、安裝 S version(以下簡稱SVN)的伺服器端和客戶端。下載下來的伺服器端是個 zip壓縮包,直接解壓縮即可,比如我解壓到 E:\s version 。客戶端安裝文件是個 exe 可執行文件,直接運行按提示安裝即可,客戶端安裝完成後提示重啟。

3、先建立空目錄 E:\svn\repos1 ,注意一定是要空的。然後在 repos1 文件夾上「右鍵->TortoiseSVN->Create Repository here...」,然後可以選擇版本庫模式,這里使用默認的FSFS即可,然後就創建了一系列文件夾和文件,同命令行建立的一樣。
(這一步注意svn服務端要和庫目錄在同一個盤符下面,否則提示找不到目錄)

4、進入命令行並切換到s version的bin目錄。輸入如下命令:

svnserve.exe --daemon

svnserve 將會在埠 3690 等待請求,--daemon(兩個短橫線)選項告訴 svnserve 以守護進程方式運行,這樣在手動終止之前不會退出。注意不要關閉命令行窗口,關閉窗口會把 svnserve 停止

5、配置用戶和許可權
用文本編輯器打開E:\svn\repos1\conf目錄,修改svnserve.conf:
將:
# password-db = passwd
改為:
password-db = passwd

即去掉前面的 # 注釋符,注意前面不能有空格。
然後修改同目錄的passwd文件,增加一個帳號:

將:
[users]
# harry = harryssecret
# sally = sallyssecret

增加帳號:
[users]
#harry = harryssecret
#sally = sallyssecret
test = test

6、初始化導入

(在做這一步之前一定要執行第5步)
下面就是將我們的數據(項目)導入到這個版本庫,以後就由版本庫管理我們的數據。我們的任何改動都回被版本庫記錄下來,甚至我們自己丟失、改錯數據時版本庫也能幫我們找回數據。
比如,我在 d:\wwwroot 下有個 gstbook 文件夾,裡面存放的是我編寫的留言簿程序。在此文件夾上「右鍵 -> TortoiseSVN -> Import...」 ,在彈出對話框的「URL of repository」輸入「svn://localhost/repos1/gstbook」。在「Import message」輸入「導入整個留言簿」作為注釋。
點 OK 後要求輸入帳號。我們在用戶名和密碼處都輸入 test 。完成後 gstbook 中的內容全部導入到了 svn://localhost/svn/repo1/gstbook 。
我們看到在 e:\svn\repo1 沒有任何變化,連個 gstbook 文件夾都沒有建立,唯一的變化就是e:\svn\repo1容量變大了。實際上我們源gstbook中的內容已經導入 repo1 版本庫了,源 gstbook 文件夾可以刪除了。

7、svn配置結束,這是最簡單的步驟,已經可以用了,然後把svn整合到系統服務,以後就不用一直開著命令窗口了。把以下內容粘貼到文本文件,然後重命名文件為:*.bat執行就好了,
sc create svnserver binpath= "C:\Program Files\S version\bin\svnserve.exe --service --root F:\svn" displayname= "svnserver" depend= tcpip start= auto obj= "NT AUTHORITY\NetworkService"
其中C:\Program Files\S version\bin\svnserve.exe 為svn的路徑
F:\svn 為版本庫的目錄
displayname= "svnserver" 為設置服務的名字
--root 是設置根目錄 比如:原來你訪問為:svn://localhost/svn
設置--root F:\svn之後縮寫為svn://localhost 這個一定要注意,否則Error: URL 'svn://localhost/svn'doesn't exist

8、svn能用了,下面是原始資料,稍微整理了一下,如果以上內容不能滿足,參考以下內容,希望沒有浪費寶貴時間。

H. 如何在阿里雲伺服器上部署SVN服務

阿里雲搭建SVN伺服器

1:安裝svn

apt-get install subversion

2. 開啟svn伺服器

svnserve -d

檢查是否開啟:ps aux | grep svnserve

若出現如下內容:

wkr 6537 0.0 0.0 13784 956 ? Ss 16:18 0:00 svnserve -d
wkr 7593 0.0 0.0 5784 864 pts/0 S+ 21:57 0:00 grep –color=auto svnserve

表示服務已開啟。(注意:一定要有第1行,只有第2行說明服務未啟動)

停止svn服務: killall svnserve

3. 建立倉庫

svnadmin create /home/svnrepos
理論上,倉庫可以建立在任何目錄中。

注意:重啟svnserve 執行 svnserve -d -r /home

這樣在eclipse客戶端把工程導入svn的時候 url需要填寫

svn://ip/svnrepos/project_name

如果啟動的時候帶如下參數:svnserve -d -r/home/svnrepos

客戶端:svn://ip/project_name 這樣子會報錯。驗證失敗

4. 修改配置文件

編輯 svnserve.conf

vi /home/svnrepos/conf/svnserve.conf

把anon-access = read 改為 none,auth_access = write

password-db = passwd authz-db = authz的注釋去掉,還有[general]的注釋也要去掉(這個默認沒有注釋)。
註:當你去掉注釋的時候,不要簡單的把前面的#去掉,要把前面的空格一塊去掉,不然在Eclipse中使用的時候會出現配置文件格式錯誤的問題。

注意:如果authz-db = authz 這個注釋掉了,則不需要配置/home/svnrepos/conf/authz

5. 修改帳戶文件

vi /home/svnrepos/conf/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 = sallyssecret
user1 = pass1 # 輸入你定義的用戶名和密碼,密碼顯然沒有加密

6. 修改授權文件

gedit /home/svnrepos/conf/authz

修改或者輸入下面2行:

[svnrepos:/] ##格式為 版本庫名稱 + :/
user1 = rw

其中,repos1是倉庫名稱,user1是用戶名,rw代表讀寫。

7.客戶端連接
svn co svn://ip/oplinux
用戶名密碼:rsync

8.實現SVN與WEB同步,可以CO一個出來,也可以直接配在倉庫中

1)設置WEB伺服器根目錄為/alidata/www/webroot

2)checkout一份SVN

svn co svn://localhost/alidata/www/svndata/myproject /alidata/www/webroot

修改許可權為WEB用戶

chown -R www:www /alidata/www/webroot/myproject

3)建立同步腳本

cd /alidata/www/svndata/oplinux/hooks/

cp post-commit.tmpl post-commit

編輯post-commit,在文件最後添加以下內容

export LANG=en_US.UTF-8

SVN=/usr/bin/svn

WEB=/alidata/www/webroot/

$SVN update $WEB –username myname –password myname

chown -R www:www $WEB

增加腳本執行許可權

chmod +x post-commit

這樣,我們上傳svn後,生產站點就能立馬顯示出來了,自動化程度高了很多。



I. 今天租用了阿里雲伺服器,怎麼在這台遠程伺服器上搭建svn服務。

您好。雲伺服器進去後和本地電腦操作是一樣的,遠程登錄後就可以了,開始菜單,點擊運行,輸入mstsc,輸入ip,用戶名密碼,登錄。這樣進去後您看到的和本地電腦是一樣的。根據您網上搜索到的搭建教程搭建就可以了。
海騰數據賽龍為您解答

J. 如何配置自己的Linux svnserver伺服器

通常,很多Linux發行版已經自帶了svn軟體,安裝系統時候選擇即可。因此,本文並不講解如何安裝svn相關軟體,而是重點總結一下如果使用svnserve伺服器來構建自己的代碼倉庫,並且允許別人遠程訪問。本文的整個內容參考了svn手冊。

一、新建並初始化版本庫
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正確。

後記:

1. 版本庫的初次導入可以採用多種方式:
(1)直接構建好版本庫目錄,並將源碼拷貝的對應的位置,然後svn import即可;
(2)先用svn checkout取出版本,然後構建目錄和源碼,執行svn add 並且svn commit即可。
2. 導入或者提交文件類型的控制
svn客戶端是可以配置忽略哪些些文件,比如說我們不想提交*.o之類的文件。那麼可以通過設置svn:ignore或者global-ignore來進行過濾相關的文件。通常默認的情況就會過濾掉*.o, *.so,*.a等被svn認為是中間生成的文件。我本人使用的客服端不管是WIN的還是Linux的都是這種默認情況。
但是,如果有時基於某種需要,或者是導入一個別人之前維護的工程,裡面有些*.so,*.a文件必須保留,那麼如果在第一次import的時候全部導入呢?曾經問過有些朋友說,svn add或者svn import是可以直接把這種文件導入到版本庫的。但是我個人進行測試的時候,確實導入不進去,除非你直接svn add這個文件,然後提交應該就可以了。
如果這樣的文件比較多,而且比較分散,那麼如何解決呢?看一下svn import和svn add這兩個命令的幫助,都有--no-ignore選項。這個選項的功能就是執行相應動作的時候,不忽略任何文件。那麼執行以下兩條命令:
svn import [source] [repository] --no-ignore

svn add [source] --no-ignore
會自動將source目錄下所有的內容全部import或者add。

因此,通過--no-ignore選項,可以滿足提交一些特殊文件的需求。

3. 用一個舊版本的svnadmin創建的版本庫,直接拷貝到另外一台svn版本比較高的PC上使用時,發現提示資料庫版本不匹配。解決的方法:
(1)導出舊的版本庫內容,包含版本信息
具體使用的命令為svnadmin mp, 詳細使用方法參考手冊。該命令的格式為:
svnadmin mp REPOS_PATH [-r LOWER[:UPPER]] [--incremental]
如果我將版本庫完整的信息都倒出來的話,執行如下命令:
# svnadmin mp old_repos > repos.mp

默認版本庫mp的時候是輸出在終端的,通過重定下輸出到repos.mp文件裡面。該文件實際是文本文件。
(2)導入舊版本庫的內容
在需要導入的位置,新建一個版本庫
# svnadmin create new_repos
然後將repos.mp文件導入到新的版本庫:
# svnadmin load new_repos < repos.mp
該命令成功執行完畢之後,新的版本庫中已經包含了old_repos版本庫中的所有版本內容。
svnadmin mp和svnadmin load命令都支持導入/導出某個指定revsion或者某個指定范圍的所有revision。該部分後記參考了如下連接,在此表示感謝:
http://hi..com/primechen/blog/item/71a7a1dc2b981fe877c63841.html

熱點內容
python3字元串格式 發布:2025-01-14 00:43:29 瀏覽:581
openwrt編譯模塊 發布:2025-01-14 00:40:25 瀏覽:384
長江存儲中芯國際 發布:2025-01-14 00:33:11 瀏覽:150
安卓手機怎麼樣測通路 發布:2025-01-14 00:30:50 瀏覽:465
uImage編譯 發布:2025-01-14 00:23:37 瀏覽:39
php繁體簡體 發布:2025-01-14 00:22:45 瀏覽:376
雷克薩斯es200哪個配置值得買 發布:2025-01-14 00:14:34 瀏覽:784
python可以開發游戲嗎 發布:2025-01-14 00:14:28 瀏覽:484
我的世界電腦版決戰斗羅伺服器怎麼玩 發布:2025-01-14 00:14:26 瀏覽:321
python時序圖 發布:2025-01-14 00:10:46 瀏覽:961