Cách cài đặt SVN Server trên CentOS

Subversion (SVN) là phần mềm mã nguồn mở và miễn phí được các lập trình viên dùng để quản lý và kiểm tra các phiên bản mã nguồn khác nhau trong quá trình phát triển phần mềm.

Cách cài đặt SVN Server trên CentOS - Apache RapidSVN subversion svn SVN Server TortoiseSVN - Webmasters Tools

How SVN Works

SVN cho phép chúng ta khả năng khôi phục các thư mục hoặc tập tin cũ cũng như kiểm tra lịch sử thay đổi của các tập tin/thư mục trong suốt thời gian sử dụng. SVN đặc biệt hữu ích khi phát triển phần mềm/website theo nhóm các lập trình viên với nhau.

Cách cài đặt trên CentOS

Bước 1 : Cài đặt HTTP

yum install -y httpd

Bước 2 : Mở file “/etc/httpd/conf/httpd.conf” và tìm (hoặc thêm nếu chưa có) dòng sau :

ServerName 192.168.1.56:80
Listen 192.168.1.56:80

Bạn thay “192.168.1.56” thành địa chỉ IP của bạn. Ngoài ra bạn cũng có thể thay port 80 thành port khác nếu muốn

Bước 3 : Chạy Apache HTTP

Khởi động Apache HTTP

service httpd start

Cấu hình để Apache HTTP tự khởi động khi Server chạy

chkconfig --levels 235 httpd on

Bạn mở trình duyệt và truy cập vào địa chỉ ip của server để kiểm tra Apache HTTP có hoạt động không

Bước 4 : Bạn chạy lệnh sau để cài đặt SVN Server

yum install -y subversion mod_dav_svn

Bước 5 : Tạo thư mục cho SVN

mkdir -p /var/www/svn/

Tạo repository mới (ở đây là xtraffic_pep_vn) trong thư mục /var/www/svn/ bằng cách chạy lệnh sau :

svnadmin create /var/www/svn/xtraffic_pep_vn

Sau đó cấp quyền cho Apache để quản lý thư mục & tập tin của SVN

chown -R apache.apache /var/www/svn/xtraffic_pep_vn/

Bước 6 : Tạo user cho SVN

Bạn chạy lệnh sau để tạo user có tên là pep_vn

htpasswd -cm /etc/svn-auth-users pep_vn

Ví dụ :

[[email protected] ~]# htpasswd -cm /etc/svn-auth-users pep_vn
New password:
Re-type new password:
Adding password for user pep_vn
[[email protected] ~]#

Bước 7 : Cấu hình subversion.conf

Bạn mở file cấu hình của SVN “/etc/httpd/conf.d/subversion.conf” ra và tìm 2 dòng sau :

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

Nếu không có thì thêm vào file này. Sau đó bạn tiếp tục thêm vào cuối file :

<Location /svn>
	DAV svn
	SVNParentPath /var/www/svn/
	AuthType Basic
	AuthName "Subversion repositories"
	AuthUserFile /etc/svn-auth-users
	Require valid-user
	
	# Limit write permission to list of valid users.
	<LimitExcept GET PROPFIND OPTIONS REPORT>
		# Require SSL connection for password protection.
		# SSLRequireSSL
		AuthType Basic
		AuthName "Subversion repositories"
		AuthUserFile /etc/svn-auth-users
		Require valid-user
	</LimitExcept>
</Location>

Bước 8 : Cấu hình svnserve.conf

Bạn mở file “/var/www/svn/xtraffic_pep_vn/conf/svnserve.conf” để tìm các dòng sau :

  • anon-access = read sửa thành anon-access = none và bỏ dấu comment (#) phía trước
  • authz-db = authz bỏ dấu comment (#) phía trước

Bước 9 : Tạo cấu trúc SVN Repository cơ bản

Khởi động lại Apache HTTP

service httpd restart

Sau đó tạo và import cấu trúc thư mục cho svn :

mkdir -p /tmp/svn/{trunk,branches,tags}
svn import -m 'Initializing basic repository structure' /tmp/svn/ http://192.168.1.56/svn/xtraffic_pep_vn/

/tmp/svn/ thì bạn nên giữ nguyên, còn thay http://192.168.1.56/svn/xtraffic_pep_vn/ theo cấu trúc bạn muốn

Bây giờ mở trình duyệt ra và truy cập vào http://192.168.1.56/svn/xtraffic_pep_vn/ để xem repository bằng browser

Đến đây là đã xong việc cài đặt và cấu hình SVN Server trên CentOS.

Bạn có thể dùng những chương trình SVN Clients miễn phí sau để thực hiện việc quản lý code trên SVN Server :