Hướng dẫn tạo svn repository, cấu hình apache & đẩy dự án lên SVN
Đối với một vài dự án nhỏ bạn không được cấp svn, bạn không thể sử dụng những dịch vụ svn cung cấp miễn phí: Google code, bitbucket,... lúc đó điều đầu tiên nảy sinh trong đầu các bạn là cài đặt svn server trên máy mình để tiện sử dụng.
Điều kiện, máy bạn cần cài đặt apache & svn
- Trên Windows: các bạn có thể cài Xampp, wampserver hoặc apache riêng & TortoiseSVN
- Trên Mac OSX: apache & svn đã có mặc định
Ở đây mình hướng dẫn sử dụng trên hệ điều hành MacOSX ( do mình sử dụng máy Mac)
Bước 1. Tạo thư mục SVN. Để có thể add nhiều project vào svn, các bạn nên tạo một thư mục cha ví dụ: svn. Ở đây mình tạo thư mục svn với đường dẫn /Data/svn
Bước 2. Tạo file /Data/svn/.svn-policy-file
[groups]
team1 = longhoanggiang, giangnh
[/]
* =
[symfony2jobeet:/]
@team1 = rw
ngongocquynh = r
* =
Dấu * ở đây có nghĩa là tất cả anonymous user (ẩn danh) sẽ chỉ có quyền đọc (read). User longhoanggiang sẽ có quyền đọc & ghi đối với repository symfony2jobeet (cách tạo repository các bạn xem phía dưới)
Bước 3. Tạo file /Data/svn/.svn-auth-file
Gõ lệnh: htpasswd -cs /Data/svn/.svn-auth-file longhoanggiang
Tiếp đó bạn sẽ nhập mật khẩu cho user longhoanggiang
Bước này để tạo user longhoanggiang & đặt mật khẩu cho user longhoanggiang
Để tạo thêm user các bạn gõ lệnh: htpasswd -s /Data/svn/.svn-auth-file nguoidung2
Muốn add thêm người dùng 2 vào repository thì các bạn thêm nguoidung2 = rw vào trong file /Data/svn/.svn-policy-file
Sau khi đã tạo xong 2 file .svn-policy-file & .svn-auth-file, ta cấu hình apache.
Bước 4. Copy 2 file mod_authz_svn.so & mod_dav_svn.so vào thư mục /usr/libexec
Mặc định các module của apache sẽ được lưu trong thư mục /usr/libexec, do đó ta copy 2 file mod_authz_svn.so & mod_dav_svn.so từ thư mục libexec khi cài svn. Trong trường hợp của mình, 2 file trên nằm trong thư mục /usr/local/libexec.
Bước 5. Edit file cấu hình httpd.conf nằm trong đường dẫn /etc/apache2/httpd.conf
- Bạn chắc chắn đã kích hoạt module mod_dav.so & mod_dav_fs.so
- Bạn load thêm module mod_authz_svn.so & mod_dav_svn.so. Bạn thêm 2 dòng sau vào dưới đoạn LoadModule:
LoadModule authz_svn_module libexec/apache2/mod_authz_svn.so
Bước 6. Thêm cấu hình vào file httpd.conf để apache nhận thư mục /Data/svn
Thêm vào dưới cùng của file httpd.conf đoạn cấu hình sau:
<Location /svn>AuthzSVNAccessFile /Data/svn/.svn-policy-file
DAV svn
SVNParentPath /Data/svn
AuthName "SVN Repository"
AuthType Basic
AuthUserFile /Data/svn/.svn-auth-file
Require valid-user
</Location>Bước 7. Tạo repository trong thư mục /Data/svn
Gõ lệnh: svnadmin create /Data/svn/symfony2jobeet
Gán quyền cho user apache: sudo chown -R _www:_www /Data/svn/symfony2jobeet
Bước 8. Copy project của bạn sang một thư mục khác để chuẩn bị import lên svn
Ở đây mình tạo thư mục svn-import/TRUNK để chứa project của mình
cp -R /var/www/symfony2jobeet/* /var/www/svn-import/TRUNK
svn import -m 'Initial import' /var/www/svn-import http://localhost/svn/symfony2jobeet
Tiến hành nhập username & password để import project lên svn server
Bước 9. Checkout project trên svn về
svn co http://localhost/svn/symfony2jobeet /var/www/symfony2jobeet
OK. Bạn đã setup xong svn server & đẩy dự án lên svn
Bài viết của Long Hoàng Giang
Vui lòng giữ nguyên tác giả nếu bạn copy bài viết này
Tham Khảo:
https://wiki.archlinux.org/index.php/Subversion_Setup
http://svn.spears.at
Tags: cai dat svn server, cau hinh svn repository, setup svn repository & apache
Nhận xét
Đăng nhận xét