10、SVN在Linux伺服器的安裝
學習目標:
1、瞭解SVN在Linux上面的安裝
2、svnadmin的基本使用
學習過程:
我們使用yum安裝比較容易,而且使用apache和svn整合管理,還需要安裝svnadmin管理專案,所以需要安裝apache,svn和mysql三個軟體所以我們先更新一下作業系統
一、安裝apache
1、更新作業系統
yum update
更新後最好重啟
reboot
2、安裝apache
yum install httpd httpd-devel
3、檢視當前的啟動狀態
[[email protected] ~]# /etc/init.d/httpd status
httpd 已停
或者
ps aux | grep httpd
檢視是否開機啟動
[[email protected] ~]# chkconfig --list|grep httpd
httpd 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉
從上面可以看到httpd是沒有啟動,也沒有開啟啟動的,那麼我們都修改一下
啟動:
/etc/init.d/httpd start
開機啟動
chkconfig httpd on
檢視配置檔案是否使用的是80埠
vim /etc/httpd/conf/httpd.conf
修改伺服器名稱
ServerName localhost:80
修改防火牆s
vim /etc/sysconfig/iptables
新增
#http 80
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
重啟防火牆
/etc/init.d/iptables restart
嘗試在客戶端瀏覽器訪問
http://192.168.3.21/
二、安裝svn伺服器
yum install mod_dav_svn subversion
mod_dav_svn模組是和apache整合使用的,所以也需要安裝一下。
安裝完畢重啟一下apache才能有效
/etc/init.d/httpd restart
檢視svn 版本
[[email protected] ~]# svn --version
svn,版本 1.6.11 (r934486)
編譯於 Aug 17 2015,08:21:51
檢視apache,svn的模組是否安裝成功
[[email protected] ~]# ls /etc/httpd/modules/ | grep svn
mod_authz_svn.so
mod_dav_svn.so
建立svn倉庫主目錄:我們的svn計劃是在svn目錄中有多個svn庫的。
進入目錄
cd /etc/httpd/conf.d/
修改vim subversion.conf
<Location /svn/>
DAV svn
SVNListParentPath on
SVNParentPath /svn
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile /svn/passwd.http
AuthzSVNAccessFile /svn/authz
Require valid-user
</Location>
RedirectMatch ^(/svn)$ $1/
svn就是主庫目錄
AuthUserFile /svn/passwd.http
AuthzSVNAccessFile /svn/authz
分別是使用者目錄和訪問檔案許可權目錄,這兩個檔案還沒有,所以我們需要建立以下
[[email protected] conf.d]# touch /svn/passwd.http
[[email protected] conf.d]# touch /svn/authz
再重啟一下apache,看看有沒有錯誤:
[[email protected] conf.d]# /etc/init.d/httpd restart
停止 httpd:[確定]
正在啟動 httpd:[確定]
三、安裝svnadmin管理
1、安裝mysql資料庫
先看看是否已經安裝了mysql
rpm -qa | grep mysql
如果有你可以不安裝了,當然你也可以解除安裝了它 通過 rpm -e 命令 或者 rpm -e --nodeps 命令來解除安裝掉
可見已經安裝了庫檔案,應該先解除安裝,不然會出現覆蓋錯誤。注意卸:載時使用了--nodeps選項,忽略了依賴關係:
rpm -e mysql-libs-5.1.73-7.el6.x86_64 --nodeps
安裝
yum install mysql-server mysql mysql-devel
安裝完畢後就可以啟動試一下了:
/etc/init.d/mysqld start
檢視開機啟動
[[email protected] conf.d]# chkconfig --list|grep mysql
mysqld 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉
修改為開機啟動
chkconfig mysqld on
修改防火牆
vim /etc/sysconfig/iptables
新增
#mysql 3306
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
重啟
/etc/init.d/iptables restart
建立一個root使用者
mysqladmin -u root password '123456'
登陸
mysql -u root -p
設定可以遠端登陸的使用者
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
嘗試遠端登陸
2、安裝tomcat
下載tomcat,解壓
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.69/bin/apache-tomcat-7.0.69.tar.gz
tar -axvf apache-tomcat-7.0.69.tar.gz
重新命名
mv apache-tomcat-7.0.69 tomcatsvn7
修改tomcat埠為8580
<Connector port="8580" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
安全起見,刪除所有webapps下面的專案
[[email protected] tomcat7]# cd webapps/
[[email protected] webapps]# rm -rf *
修改防火牆埠
[[email protected] webapps]# vim /etc/sysconfig/iptables
新增內容
#svntomcat 8580
#-A INPUT -m state --state NEW -m tcp -p tcp --dport 8580 -j ACCEPT
重啟防火牆
[[email protected] webapps]# /etc/init.d/iptables restart
把svnadmin上傳到tomcat的webapps目錄下中。
解壓(不解壓也可以,不過最好還是解壓吧)
unzip svnadmin.war -d svnadmin
進入修改資料庫的連結資訊
[[email protected] webapps]# vim svnadmin/WEB-INF/jdbc.properties
內容如下:
db=MySQL
#MySQL
MySQL.jdbc.driver=com.mysql.jdbc.Driver
MySQL.jdbc.url=jdbc:mysql://127.0.0.1:3306/svnadmin?characterEncoding=utf-8
MySQL.jdbc.username=root
MySQL.jdbc.password=123456
新增資料庫
從上面的配置資訊可知,資料庫名稱叫svnadmin
執行mysql5.sql和en.sql
啟動tomcat
./bin/startup.sh
開啟瀏覽器檢視
http://192.168.3.21:8580/svnadmin
這裡我輸入
liubao
123456
登陸後新增第一個專案
我們這樣通過介面新建的目錄都是屬於root,如果這個是否訪問會沒有許可權的,需要修改目錄所屬和目錄許可權,並且關閉selinux,記住以後每建立一個專案都需要修改所屬和許可權
修改目錄許可權
chown -R apache.apache first/
chmod -R 777 first/
修改selinux
在 SELINUX=enforcing 前面加個#號註釋掉它
#SELINUX=enforcing
然後新加一行
SELINUX=disabled
儲存,退出,重啟系統,搞定。
最好重啟一下
reboot電腦才能起效
你可以自己下載相關的svn客戶端測試了。
操作還是比較容易的,無非就是使用者和使用者組的操作。
設定開機啟動