Giới thiệu và hướng dẫn cài đặt SVN Server

Like

W-------
16/01/2015
4
14 bài viết
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:


1490893144hinh1.jpg

1490893144hinh 2.jpg



1490893144Hinhf 3.jpg


Điền vào tên server: localhost , Số hiệu cổng 443, trỏ đến thư mục chứa C:svn .


1490893144Hinh 4.jpg




Chọn đường dẫn tới thư mục sẽ cài đặt: để nguyên đường dẫn cài đặt: C:program 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: C:program 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:
C:program 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 C:program FilesCollabNet Subversion Serverhttpdin
Copy svnserver.key và svnserver.cert từ thư mục C:program FilesCollabNet Subversion Serverhttpdin tới thư mục C:program FilesCollabNet Subversion Serverhttpdconf.
Tiếp theo ta edit file httpd.conf trong thư mục C:program 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 C:program 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:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Re: Giới thiệu và hướng dẫn cài đặt SVN Server

Bạn có thể demo 1 trường hợp về đồng bộ tập trung dữ liệu không?
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Re: Giới thiệu và hướng dẫn cài đặt SVN Server

TheLoneRanger;19075 đã viết:
Bạn có thể demo 1 trường hợp về đồng bộ tập trung dữ liệu không?
Mình đã báo lại chủ pic, bạn đợi thêm thông tin nhé.
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Re: Giới thiệu và hướng dẫn cài đặt SVN Server

TheLoneRanger;19075 đã viết:
Bạn có thể demo 1 trường hợp về đồng bộ tập trung dữ liệu không?

Mình chưa hiểu câu hỏi của bạn bạn có thể nói rõ được không người ta hay nhắc đồng bộ dữ liệu chứ ???
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Re: Giới thiệu và hướng dẫn cài đặt SVN Server

Like;19293 đã viết:
Mình chưa hiểu câu hỏi của bạn bạn có thể nói rõ được không người ta hay nhắc đồng bộ dữ liệu chứ ???

Mình thấy bạn ở trên có hướng dẫn mọi người cấu hình rất chi tiết, nhưng mình muốn bạn thử demo 1 trường hợp đồng bộ dữ liệu để xem thử. Cảm ơn bạn.
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Re: Giới thiệu và hướng dẫn cài đặt SVN Server

[YOUTUBE]https://www.youtube.com/watch?v=4sUYnEylvU0[/YOUTUBE]

Demo cho bạn.
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Re: Giới thiệu và hướng dẫn cài đặt SVN Server

TheLoneRanger;19313 đã viết:
Mình thấy bạn ở trên có hướng dẫn mọi người cấu hình rất chi tiết, nhưng mình muốn bạn thử demo 1 trường hợp đồng bộ dữ liệu để xem thử. Cảm ơn bạn.

Để làm được bài demo này mất khá nhiều thời gian bạn chờ nhé :D
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Bạn ơi cho mình hỏi chút là dữ liệu của SVN nó lưu trữ như thế nào vậy nhỉ? vì Khi mình truy cập vào server SVN thì thấy có thư mục project, nhưng khi vào thư mục này thì lại ko thấy có dữ liệu mình đẩy lên, nên không hiểu cho lắm :D
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Bên trên