標籤:
簡單介紹如何在虛擬機器 CentOS 中,搭建 SVN 伺服器。
軟體版本資訊
Vmware 10.0.0 build-1295980
CentOS 7.0-1406-x64
Java 1.7.0_67_x64
Suberverson 1.7.14
GNU Wget 1.14
軟體安裝subversion
yum install subversion
需要選擇時,選第一個選項
Wget
用於下載 Java
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/7u67-b01/jdk-7u67-linux-x64.rpm"
整個命令是一行,複製粘貼時要注意
其中,最後的雙引號中是,自己所需 jdk 的(本文下載的是 rpm 格式的 jdk 1.7.0_67 版本)
附:進一步的內容見 oracle官網下載老版本jdk + 如何命令列下wget下載jdk,作者 lovelace521
java
1、安裝oracle Java前,先確保當前系統中,無內建 jdk(即 OpenJDK)
java -version
若未輸出 java 版本,則說明當前系統無內建 jdk
2、若有,則先卸載
[root@localhost ~]# rpm -qa | grep javatzdata-java-2012c-1.el6.noarchjava-1.7.0-openjdk-1.7.0.45-1.45.1.11.1.el6.x86_64
卸載OpenJDK,執行以下操作:
[root@localhost ~]# rpm -e --nodeps tzdata-java-2012c-1.el6.noarch[root@localhost ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-1.45.1.11.1.el6.x86_64
3、安裝 oracle java
用於運行編輯的 java 檔案
若未指定參數,wget 下載的檔案位於當前檔案夾
將 jdk 移動到適當目錄
執行以下命令:
rpm -ivh jdk-7-linux-i586.rpm
JDK預設安裝在/usr/java中
驗證安裝
java -version
配置subversion
1、建立 SVN 的根目錄
[root@vm-moodle ~]# mkdir -p /opt/svn/
2、建立一個資料倉儲:
[root@vm-moodle ~]# mkdir -p /opt/svn/edu/ [root@vm-moodle ~]# svnadmin create opt/svn/edu/
3、修改設定檔
查看資料倉儲檔案目錄
[[email protected] ~]# cd /opt/svn/edu/conf/ [[email protected] conf]# ll 總計 24 -rw-r--r-- 1 root root 710 10-25 09:40 authz -rw-r--r-- 1 root root 325 10-25 09:38 passwd -rw-r--r-- 1 root root 1449 10-25 09:36 svnserve.conf
修改服務配置
[[email protected] conf]# vi svnserve.conf [general] anon-access = none #不允許匿名訪問 auth-access = write #認證使用者可寫 password-db = passwd #密碼檔案 authz-db = authz #使用者驗證檔案 [[email protected] conf]# vi authz [edu:/] hansy = rw
給edu倉庫添加一個使用者,許可權為可寫
[root@vm-moodle conf]# vi passwd hansy = 87827192
密碼可以是加密密碼,也可以是明文,根據前面的配置來決定
注意,配置內容前不能有空格
java
修改系統內容變數檔案
vi + /etc/profile
向檔案裡面追加以下內容:
JAVA_HOME=/usr/java/jdk1.7.0_67JRE_HOME=/usr/java/jdk1.7.0_67/jrePATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/binCLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/libexport JAVA_HOME JRE_HOME PATH CLASSPATH
使修改生效
[[email protected] ~]# source /etc/profile //使修改立即生效
查看系統內容狀態
[root@localhost ~]# echo $PATH/usr/lib/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/java/jdk1.7.0_45/bin:/usr/java/jdk1.7.0_45/jre/bin:/home/ckb/bin
使用虛擬機器 CentOS
1、 啟動SVN 服務,並指定 SVN 的根目錄
[root@vm-moodle ~]# svnserve -d -r /opt/svn/
預設 svn 服務使用連接埠 3690,若需指定,在命令後追加 “ —listen-port 指定連接埠”
2、查看服務是否正常起來
[root@vm-moodle ~]# netstat -tunlp | grep svn tcp 0 0 0.0.0.0:3690 0.0.0.0:* EN 3970/svnserve
3、匯入資料到svn倉庫
[root@vm-moodle ~]# svn import Hello file:///opt/svn/edu/project -m "Initial import"
其中,Hello為目前的目錄下的一個檔案夾
用戶端
1、在用戶端或虛擬機器外的主機上,安裝 TortoiSVN
2、TortoiseSVN — Repo-browser,輸入 svn://虛擬機器 CentOS 的 IP 位址
常見問題CentOS 7 中命令找不到
CentOS 7 系統摒棄部分指令,有
netstat, 改為 ssifconfig, 改為 ipiptables, 改為 systemctl
其中,若想繼續使用 iptables,按以下步驟操作
1、Disable Firewalld Service.
[root@rhel-centos7-tejas-barot-linux ~]# systemctl mask firewalld
2、Stop Firewalld Service.
[root@rhel-centos7-tejas-barot-linux ~]# systemctl stop firewalld
3、Install iptables service related packages.
[root@rhel-centos7-tejas-barot-linux ~]# yum -y install iptables-services
4、Make sure service starts at boot:
[root@rhel-centos7-tejas-barot-linux ~]# systemctl enable iptables
If you do not want ip6tables, You can skip following command
[root@rhel-centos7-tejas-barot-linux ~]# systemctl enable ip6tables
5、Now, Finally Let’s start the iptables services.
[root@rhel-centos7-tejas-barot-linux ~]# systemctl start iptables
6、If you do not want ip6tables, You can skip following command.
[root@rhel-centos7-tejas-barot-linux ~]# systemctl start ip6tables
附:詳見RHEL 7 / CentOS 7 : Disable Firewalld and use iptables
訪問 svn 伺服器,無應答
1、SVN 設定檔錯誤
仔細檢查,排錯
2、SVN 服務連接埠未開放
查看 svnserve 服務是否啟動
[root@vm-moodle ~]# ss -ntlp
若已啟動,設定防火牆,開放服務相應連接埠
[root@vm-moodle ~]# iptables -I INPUT -p tcp --dport 3690 -j ACCEPT #開放3690連接埠[root@vm-moodle ~]# service iptables save #儲存配置,非常重要 [root@vm-moodle ~]# service iptables restart # 重啟防火牆服務[root@vm-moodle ~]# service iptables status # 查看狀態
應用SVN(CentOS中搭建SVN伺服器)