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.
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 SVN Server trên CentOS
Bước 1 : Cài đặt Apache 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 Server 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ụ :
[root@xtraffic ~]# htpasswd -cm /etc/svn-auth-users pep_vn New password: Re-type new password: Adding password for user pep_vn [root@xtraffic ~]#
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 :
- TortoiseSVN (Free – Windows)
- RapidSVN (Free – Linux + Windows + Mac OS/X + Solaris,…)