Giới thiệu và hướng dẫn cài đặt SVN Server
Bài viết gồm các vấn đề chính:
1 Mục đích.
2 Tài liệu tham chiếu.
3 Định nghĩa và từ viết tắt.
4 Nội dung hướng dẫn.
4.1 Chuẩn bị:
4.2 Cài đặt SVN Server.
4.2.1 Cài đặt CollabNet Subversion.
4.2.2 Tạo CA.
4.2.3 Cấu hình httpd.conf
4.2.4 Cấu hình file accesslist
1 Mục đích
Lưu trữ tập trung dữ liệu: Dữ liệu lưu trữ phân tán, ví dụ: dữ liệu của 1 người có thể để ở các thư mục khác nhau, dữ liệu của bộ phận thì lưu mỗi máy một ít… Do lưu trữ không tập trung nên rất khó tra cứu và tìm lại. Do đó cần chuẩn hoá, phân loại dữ liệu và lưu tập trung một nơi.
Chia sẻ, đồng bộ dữ liệu giữa người dùng: Trong nội bộ công ty, các phòng ban, các team có thể có những tài liệu dùng chung, cần thường xuyên thay đổi và cập nhật. Vì thế cần một hệ thống có khả năng lưu trữ phiên bản mới nhất, để tiện cho việc nhiều nhân viên cùng chỉnh sửa 1 tài liệu.
2 Tài liệu tham chiếu
3 Định nghĩa và từ viết tắt
Định nghĩa
SVN (Subversion): là hệ thống lưu trữ dữ liệu
4 Nội dung hướng dẫn
4.1 Chuẩn bị:
Bộ cài CollabNet 1.6
http://www.collab.net/downloads/subversion/
File mod_auth_sspi.so
Download mod_auth_sspi-1.0.4-2.2.2.zip link sau : http://sourceforge.net/project/showfiles.php?group_id=162518&package_id=183452&release_id=417573
4.2, Cài đặt SVN Server.
4.2.1, Cài đặt CollabNet Subversion
Tiến hành cài đặt
Cài đặt theo các bước như hình vẽ sau:
Điền vào tên server: localhost , Số hiệu cổng 443, trỏ đến thư mục chứa C:svn .
Chọn đường dẫn tới thư mục sẽ cài đặt: để nguyên đường dẫn cài đặt: Crogram FilesCollabNet Subversion Server
Cài đặt xong khởi động lại máy tính hoặc services
Cài đặt SSL cho Apache
4.2.2 Tạo CA
Tạo file mới tên openssl.conf với đường dẫn: Crogram FilesCollabNet Subversion Serverhttpdinopenssl.conf. Nội dung file như sau:
Chú ý copy từ nguyên code dưới đây:
Trên command promt đặt dấu nhắc lệnh có đường dẫn sau:
Crogram FilesCollabNet Subversion Serverhttpdin
Sau đó chạy dòng lệnh sau:
Xóa passphrase từ private key bằng dòng lệnh sau:
Tạo ra CA có thời hạn là 20 năm
Xóa svnserver.csr trong thư mục Crogram FilesCollabNet Subversion Serverhttpdin
Copy svnserver.key và svnserver.cert từ thư mục Crogram FilesCollabNet Subversion Serverhttpdin tới thư mục Crogram FilesCollabNet Subversion Serverhttpdconf.
Tiếp theo ta edit file httpd.conf trong thư mục Crogram FilesCollabNet Subversion Serverhttpdconf).
4.2.3 Cấu hình httpd.conf
Do script trên đã gắn CA vào đúng thư conf nên ta chỉ việc cấu hình: tìm dòng có nội dung như sau để bổ dấu comment #:
Tìm dòng
Servername localhost:80
Listen 80
Chuyển thành
Servername localhost:443
Listen 443
(Chú ý thêm 1 dòng trắng trước )
Tại run => gõ services.msc sau đõ restart lại service Apache
Cấu hình Apache với SVN
Tạo ra thư mục chứa
Svnadmin create D:k
Copy module “mod_auth_sspi.so”
Copy module “mod_auth_sspi.so” vào thư mục Crogram FilesCollabNet Subversion Serverhttpdmodules
Load các module
Kiểm tra xem đã Load các module chưa nếu chưa Load thì Load hoặc bỏ comment
JoinAD cho Server, đăng nhập bằng tài khoản Administrator hoặc dcpromo lên AD
Start Service. Test thử bằng đường dẫn https:///
4.2.4 Cấu hình file accesslist
Edit file: D:Svnfileaccesslist để phân quyền:
4.2.4.1 Phần groups
Các group viết liền trên 1 dòng.
Mở đầu bằng
[groups]
và kết thúc bằng
#THE END OF GROUPS######################
Ở giữa là các group, ví dụ (chú môi group đều viết trên 1 dòng)
#GROUP ANHT ######################
AN-Services = tunglh,trungnt,vietdd
AN-Technology = cuongnv,quantm,ducnh,tuanhgm,vietnd
AN-Standard = hungnh,nhungdh,huongngt
AN-Telecom = thanhtd,hungngm,truongdm,hanhdv
AN-TeamLeader = cuongnv,hungnh,thanhtd,tunglhr
AN-BanPhapChe = thaodtp
AN = @AN-Services,@AN-Technology,@AN-Telecom,@AN-TeamLeader,@AN-Standard,@AN-BanPhapChe,anhnt
#END GROUP ###################
Chú ý
Số lượng các ký tự # phải hoàn toàn chính xác như trên.
Các nhóm có thể được viết hoa và dùng ký tự đặc biệt như “ – “, các nhóm có thể được nhóm với nhau thành nhóm lớn hơn sử dụng ký hiệu @.
Phong=@Phong-Bophan1,@Phong-Bophan2
Tên của group ngoài cùng phải thống nhất. Ví dụ: AN
Các group có thể sử dụng ký tự đặc biệt và khoảng trắng. Chú ý ký tự # dùng để đánh dấu comment.
Phân biệt HOA-thường
Trước và sau dấu = là khoảng trắng
Tên các user và group được liệt kê phía sau không có khoảng trắng, ngăn cách nhau bởi dấu , .
4.2.4.2 Phần phân quyền thư mục
Kết thúc bằng
#END DATA########################
Ví dụ
[bk:/AN]
@AN = r
anh = rw
administrator = rw
* =
#END DATA########################
Chú ý
Các quyền trong SVN mang tính chất thừa kế từ thư mục cha.
“r” = quyền đọc
“w” = quyền được ghi
“ ” = không có quyền truy cập
#comment : Ghi chú cho acceslist
Dùng dấu@ để biểu diễn group
Có 2 quyền chính r, rw (đọc, ghi)
2 quyền mặc định nên thêm vào đề quản trị
§ administrator = rw (quyền ghi của administrator)
§ * = (loại bỏ tất cả các quyền của các user còn lại)
Trước và sau dấu = là khoảng trắng
BÀI VIẾT LIÊN QUAN: SVN CLIENT
1 Mục đích.
2 Tài liệu tham chiếu.
3 Định nghĩa và từ viết tắt.
4 Nội dung hướng dẫn.
4.1 Chuẩn bị:
4.2 Cài đặt SVN Server.
4.2.1 Cài đặt CollabNet Subversion.
4.2.2 Tạo CA.
4.2.3 Cấu hình httpd.conf
4.2.4 Cấu hình file accesslist
1 Mục đích
Lưu trữ tập trung dữ liệu: Dữ liệu lưu trữ phân tán, ví dụ: dữ liệu của 1 người có thể để ở các thư mục khác nhau, dữ liệu của bộ phận thì lưu mỗi máy một ít… Do lưu trữ không tập trung nên rất khó tra cứu và tìm lại. Do đó cần chuẩn hoá, phân loại dữ liệu và lưu tập trung một nơi.
Chia sẻ, đồng bộ dữ liệu giữa người dùng: Trong nội bộ công ty, các phòng ban, các team có thể có những tài liệu dùng chung, cần thường xuyên thay đổi và cập nhật. Vì thế cần một hệ thống có khả năng lưu trữ phiên bản mới nhất, để tiện cho việc nhiều nhân viên cùng chỉnh sửa 1 tài liệu.
2 Tài liệu tham chiếu
3 Định nghĩa và từ viết tắt
Định nghĩa
SVN (Subversion): là hệ thống lưu trữ dữ liệu
4 Nội dung hướng dẫn
4.1 Chuẩn bị:
Bộ cài CollabNet 1.6
http://www.collab.net/downloads/subversion/
File mod_auth_sspi.so
Download mod_auth_sspi-1.0.4-2.2.2.zip link sau : http://sourceforge.net/project/showfiles.php?group_id=162518&package_id=183452&release_id=417573
4.2, Cài đặt SVN Server.
4.2.1, Cài đặt CollabNet Subversion
Tiến hành cài đặt
Cài đặt theo các bước như hình vẽ sau:
Điền vào tên server: localhost , Số hiệu cổng 443, trỏ đến thư mục chứa C:svn .
Chọn đường dẫn tới thư mục sẽ cài đặt: để nguyên đường dẫn cài đặt: Crogram FilesCollabNet Subversion Server
Cài đặt xong khởi động lại máy tính hoặc services
Cài đặt SSL cho Apache
4.2.2 Tạo CA
Tạo file mới tên openssl.conf với đường dẫn: Crogram FilesCollabNet Subversion Serverhttpdinopenssl.conf. Nội dung file như sau:
Chú ý copy từ nguyên code dưới đây:
Mã:
[B][I][ v3_ca ] [/I]
[/B]
[B][I] subjectKeyIdentifier = hash
[/I][/B]
[B][I] authorityKeyIdentifier = keyid:always,issuer:always
[/I][/B]
[B][I] basicConstraints = CA:true
[/I][/B]
[B][I] [ req ]
[/I][/B]
[B][I] default_bits = 1024
[/I][/B]
[B][I] default_keyfile = svnserver.key
[/I][/B]
[B][I] distinguished_name = req_distinguished_name
[/I][/B]
[B][I] attributes = req_attributes
[/I][/B]
[B][I] x509_extensions = v3_ca
[/I][/B]
[B][I] string_mask = nombstr
[/I][/B]
[B][I] [ req_distinguished_name ]
[/I][/B]
[B][I] commonName = Common Name
[/I][/B]
[B][I] commonName_default = My Server Name
[/I][/B]
[B][I] [ req_attributes ]
[/I][/B]
Trên command promt đặt dấu nhắc lệnh có đường dẫn sau:
Crogram FilesCollabNet Subversion Serverhttpdin
Sau đó chạy dòng lệnh sau:
Mã:
openssl req -config openssl.conf -new -out svnserver.csr
Xóa passphrase từ private key bằng dòng lệnh sau:
Mã:
openssl rsa -in svnserver.key -out svnserver.key
Tạo ra CA có thời hạn là 20 năm
Mã:
openssl x509 -in svnserver.csr -out svnserver.cert -req -signkey svnserver.key -days 7300
Xóa svnserver.csr trong thư mục Crogram FilesCollabNet Subversion Serverhttpdin
Copy svnserver.key và svnserver.cert từ thư mục Crogram FilesCollabNet Subversion Serverhttpdin tới thư mục Crogram FilesCollabNet Subversion Serverhttpdconf.
Tiếp theo ta edit file httpd.conf trong thư mục Crogram FilesCollabNet Subversion Serverhttpdconf).
4.2.3 Cấu hình httpd.conf
Do script trên đã gắn CA vào đúng thư conf nên ta chỉ việc cấu hình: tìm dòng có nội dung như sau để bổ dấu comment #:
Mã:
[B][I]LoadModule ssl_module modules/mod_ssl.so[/I][/B]
o Thêm vào cuối đoạn sau:
[B][I] [/I]
[/B]
[B][I]SSLEngine on [/I]
[/B]
[B][I]SSLRandomSeed startup builtin [/I]
[/B]
[B][I]SSLRandomSeed connect builtin [/I]
[/B]
[B][I]SSLPassPhraseDialog builtin [/I]
[/B]
[B][I]SSLSessionCache dbm:logs/ssl_scache [/I]
[/B]
[B][I]SSLSessionCacheTimeout 300 [/I]
[/B]
[B][I]SSLMutex default [/I]
[/B]
[B][I]SSLCertificateFile confsvnserver.cert [/I]
[/B]
[B][I]SSLCertificateKeyFile confsvnserver.key [/I]
[/B]
[B][I]
[/I][/B]
Tìm dòng
Servername localhost:80
Listen 80
Chuyển thành
Servername localhost:443
Listen 443
(Chú ý thêm 1 dòng trắng trước )
Tại run => gõ services.msc sau đõ restart lại service Apache
Cấu hình Apache với SVN
Tạo ra thư mục chứa
Svnadmin create D:k
Copy module “mod_auth_sspi.so”
Copy module “mod_auth_sspi.so” vào thư mục Crogram FilesCollabNet Subversion Serverhttpdmodules
Load các module
Kiểm tra xem đã Load các module chưa nếu chưa Load thì Load hoặc bỏ comment
Mã:
[B][I]LoadModule dav_module modules/mod_dav.so[/I]
[/B]
[B][I]LoadModule dav_svn_module modules/mod_dav_svn.so[/I]
[/B]
[B][I]LoadModule authz_svn_module modules/mod_authz_svn.so[/I]
[/B]
[B][I]LoadModule sspi_auth_module modules/mod_auth_sspi.so [/I][/B]
[B]Cấu hình Apache authentication với AD[/B]
Sửa file [B]httpd.conf [/B]có nội dung sau:
[B][I][/I]
[/B]
[B][I]DAV svn[/I]
[/B]
[B][I]SVNParentPath D:k[/I]
[/B]
[B][I]AuthName "SVN Server" [/I]
[/B]
[B][I]AuthType SSPI [/I]
[/B]
[B][I]SSPIAuth On [/I]
[/B]
[B][I]SSPIAuthoritative On [/I]
[/B]
[B][I]SSPIDomain [/I]
[/B]
[B][I]SSPIOfferBasic on [/I]
[/B]
[B][I]SSPIOmitDomain on[/I]
[/B]
[B][I]SSPIUsernameCase lower[/I]
[/B]
[B][I]Require valid-user [/I]
[/B]
[B][I]AuthzSVNAccessFile "D:Svnfileaccesslist"[/I]
[/B]
[B][I]
[/I][/B]
JoinAD cho Server, đăng nhập bằng tài khoản Administrator hoặc dcpromo lên AD
Start Service. Test thử bằng đường dẫn https:///
4.2.4 Cấu hình file accesslist
Edit file: D:Svnfileaccesslist để phân quyền:
4.2.4.1 Phần groups
Các group viết liền trên 1 dòng.
Mở đầu bằng
[groups]
và kết thúc bằng
#THE END OF GROUPS######################
Ở giữa là các group, ví dụ (chú môi group đều viết trên 1 dòng)
#GROUP ANHT ######################
AN-Services = tunglh,trungnt,vietdd
AN-Technology = cuongnv,quantm,ducnh,tuanhgm,vietnd
AN-Standard = hungnh,nhungdh,huongngt
AN-Telecom = thanhtd,hungngm,truongdm,hanhdv
AN-TeamLeader = cuongnv,hungnh,thanhtd,tunglhr
AN-BanPhapChe = thaodtp
AN = @AN-Services,@AN-Technology,@AN-Telecom,@AN-TeamLeader,@AN-Standard,@AN-BanPhapChe,anhnt
#END GROUP ###################
Chú ý
Số lượng các ký tự # phải hoàn toàn chính xác như trên.
Các nhóm có thể được viết hoa và dùng ký tự đặc biệt như “ – “, các nhóm có thể được nhóm với nhau thành nhóm lớn hơn sử dụng ký hiệu @.
Phong=@Phong-Bophan1,@Phong-Bophan2
Tên của group ngoài cùng phải thống nhất. Ví dụ: AN
Các group có thể sử dụng ký tự đặc biệt và khoảng trắng. Chú ý ký tự # dùng để đánh dấu comment.
Phân biệt HOA-thường
Trước và sau dấu = là khoảng trắng
Tên các user và group được liệt kê phía sau không có khoảng trắng, ngăn cách nhau bởi dấu , .
4.2.4.2 Phần phân quyền thư mục
Kết thúc bằng
#END DATA########################
Ví dụ
[bk:/AN]
@AN = r
anh = rw
administrator = rw
* =
#END DATA########################
Chú ý
Các quyền trong SVN mang tính chất thừa kế từ thư mục cha.
“r” = quyền đọc
“w” = quyền được ghi
“ ” = không có quyền truy cập
#comment : Ghi chú cho acceslist
Dùng dấu@ để biểu diễn group
Có 2 quyền chính r, rw (đọc, ghi)
2 quyền mặc định nên thêm vào đề quản trị
§ administrator = rw (quyền ghi của administrator)
§ * = (loại bỏ tất cả các quyền của các user còn lại)
Trước và sau dấu = là khoảng trắng
BÀI VIẾT LIÊN QUAN: SVN CLIENT
Chỉnh sửa lần cuối bởi người điều hành: