2008-08-20 36 views
8

Tôi đã cài đặt VisualSVN Server trên máy chủ Windows, phục vụ một số kho lưu trữ.WebSVN với VisualSVN Server, bất cứ ai nhận được xác thực để làm việc?

Vì trình xem web được tích hợp vào máy chủ VisualSVN là trình duyệt lật đổ tối giản, tôi muốn cài đặt WebSVN trên đầu trang của các kho lưu trữ của tôi.

Vấn đề là tôi dường như không thể xác thực để hoạt động. Lý tưởng nhất là tôi muốn xác thực kho lưu trữ hiện tại của tôi như được chỉ định trong VisualSVN để làm việc với WebSVN, vì vậy mặc dù tôi thấy tất cả các tên kho lưu trữ trong WebSVN, tôi thực sự không thể duyệt vào chúng mà không có thông tin xác thực đúng.

Bằng cách truy cập bản sao được lưu trong bộ nhớ cache của liên kết trên cùng trên this google query bạn có thể thấy những gì tôi đã tìm thấy cho đến nay có vẻ đầy hứa hẹn.
(trang blog chính dường như đã bị hủy, tên miền của trang trên cùng tôi đang đề cập đến là-wizzard.de)

Ở đó tôi tìm thấy một số hàm php tôi có thể gắn vào một trong các tệp php trong WebSVN. Tôi đã làm theo những sửa đổi ở đó, nhưng tất cả những gì tôi đã làm là làm cho WebSVN hỏi tôi về tên người dùng và mật khẩu và bất kể tôi nhập gì, nó cũng không cho phép tôi vào.

Thật không may, php và apache phần lớn là ma thuật đen với tôi.

Vì vậy, có ai đã tích hợp thành công WebSVN với kho lưu trữ được lưu trữ trên VisualSVN không?

Trả lời

3

Tôi đang sử dụng VisualSVN Server và tôi vừa hoàn thành việc cài đặt Trac. Mục tiêu của tôi là để có được một trình duyệt kho lưu trữ web tốt hơn, và Trac chắc chắn là một trong những cái tốt hơn tôi đã thấy cho Subversion. Đi tới http://www.visualsvn.com/server/trac/ cài đặt thực sự khá đơn giản. Có, Trac có một theo dõi vé và một hệ thống wiki, mà bạn có thể không tìm kiếm, nhưng kho lưu trữ và trình duyệt đăng nhập bán nó cho tôi.

Bây giờ, tôi đã phát hiện ra rằng nó có thể vô hiệu hóa các hệ thống theo dõi wiki và vé đi kèm với Trác qua cách gắn thêm

[components] 
trac.ticket.* = disabled 
trac.wiki.* = disabled 

đến cuối của tập tin cấu hình trac.ini. Điều này làm cho trang bắt đầu của wiki phát hiện lỗi mà mô-đun wiki không thể tìm thấy, do đó bạn phải đặt Trac để mở bằng Timeline (xem nhật ký) hoặc Trình duyệt Kho khi khởi động bằng cách chỉnh sửa lại trac.ini bằng cách thêm sau đây theo [trac] heading:

cho timeline log như mặc định

default_handler = TimelineModule 

cho trình duyệt kho lưu trữ mặc định

default_handler = BrowserModule 
+0

"Trác plug-in chỉ có sẵn cho các phiên bản lỗi thời của VisualSVN Server và hiện tại chúng tôi không có kế hoạch để cập nhật các plug-in một cách thường xuyên "--- Nó có hoạt động với phiên bản mới nhất của VisualSVN không? – gbjbaanb

+0

Tôi đang sử dụng VisualSVN Server v 1.6.3, theo tôi hiểu, là phiên bản mới nhất của VisualSVN Server. Plugin Trac vẫn hoạt động như tôi mong đợi vào lúc này. Tuy nhiên, tôi nên chỉ ra rằng một số các bước thiết lập Trac cần phải được lặp đi lặp lại khi nâng cấp máy chủ VisualSVN chính nó. –

+0

Tôi chán nản bởi thực tế là VisualSVN không có kế hoạch tiếp tục nỗ lực với plugin Trac, nó được chứng minh là một công cụ rất hữu ích trong việc mở rộng khả năng truy cập của kho lưu trữ (trình duyệt repo dựa trên web của VisualSVN Server mặc định là quá hạn chế) –

0

tôi là autho r của bài viết bạn đã đề cập. Thông tin tôi đã xuất bản chỉ dành cho WebSVN chạy trên IIS. Đó là sự hiểu biết của tôi rằng phần mềm nên "chỉ hoạt động" khi bạn sử dụng PHP trên Apache, mặc dù tôi chưa bao giờ thiết lập nó trong môi trường đó. Bạn đã thử làm một số "echo" -debugging (cho thiếu một thuật ngữ tốt hơn) để xem nơi xác thực chính xác không thành công?

7

Tôi đã xác thực WebSVN hoạt động với máy chủ VisualSVN, mặc dù có rất nhiều tùy chỉnh sửa lỗi/thử nghiệm của riêng tôi.

Đây là cách tôi đã làm nó:

  1. Nếu bạn chưa sẵn sàng, cài đặt PHP bằng tay bằng cách tải về các tập tin zip và đi qua php thủ công trực tuyến cài đặt hướng dẫn. Tôi đã cài đặt PHP để C: \ PHP

  2. Giải nén thư mục WebSVN đến C: \ Program Files \ VisualSVN Server \ htdocs \

  3. Đi qua các bước cấu hình thư mục WebSVN, tức là đổi tên configdist.php để config, vv Các kho của tôi được đặt trong C: \ SVNRepositories, do đó, để cấu hình tệp xác thực, tôi đặt dòng config.php như sau: $ config-> useAuthenticationFile ('C:/SVNRepositories/authz'); // truy cập toàn cầu tập tin

  4. Thêm dòng sau vào C: \ Program Files \ VisualSVN Server \ conf \ httpd-custom.conf:

 
# For PHP 5 do something like this: 
LoadModule php5_module "c:/php/php5apache2_2.dll" 
AddType application/x-httpd-php .php 


# configure the path to php.ini 
PHPIniDir "C:/php" 

<IfModule dir_module> 
    DirectoryIndex index.html index.php 
</IfModule> 

<Location /websvn/> 
    Options FollowSymLinks 
    AuthType Basic 
    AuthName "Subversion Repository" 
    Require valid-user 
    AuthUserFile "C:/SVNRepositories/htpasswd" 
    AuthzSVNAccessFile "C:/SVNRepositories/authz" 
    SVNListParentPath on 
    SVNParentPath "C:/SVNRepositories/" 
</Location> 

này đã làm việc cho tôi, và sẽ chỉ WebSVN hiển thị những thư mục được ủy quyền cho một người dùng nhất định. Lưu ý rằng để nó hoạt động đúng, bạn phải cung cấp quyền truy cập "Cấp độ chính" cho mọi người, và sau đó vô hiệu hóa quyền truy cập vào các thư mục con nhất định cho một số người dùng nhất định. Ví dụ: tôi có một người dùng không có quyền truy cập cấp chính nhưng có quyền truy cập vào cấp phụ. Thật không may, người này không thể nhìn thấy bất cứ điều gì trong websvn, ngay cả khi anh ta liên kết trực tiếp đến fileetet.php cho một tập tin mà anh ta được phép xem. Trong trường hợp của tôi nó không phải là một việc lớn bởi vì tôi không muốn anh ta truy cập websvn anyway, nhưng nó là một cái gì đó bạn sẽ muốn biết.

Ngoài ra, điều này đặt máy chủ cho kết nối ssl, vì vậy khi bạn đã thiết lập, địa chỉ sẽ là địa chỉ https: // chứ không phải http: // thông thường.

+0

Cảm ơn, tôi sẽ kiểm tra tối nay :) –

+1

Điều này thật tuyệt! Chỉ cần một vài lưu ý về hướng dẫn của bạn. (1) Có thể hiển nhiên, nhưng bạn cần phải khởi động lại Dịch vụ VisualSVN sau khi thực hiện các bước trên. (2) https vs http phụ thuộc vào nếu bạn có VisualSVN cấu hình để truy cập an toàn (https) hay không. Nếu bạn đã cấu hình nó cho http chuẩn, điều này sẽ không ảnh hưởng đến điều đó ... bạn sẽ vẫn truy cập SVN và WebSVN qua http. Xin cảm ơn, đây chính xác là những gì tôi đang tìm kiếm. –

+0

Ghi chú khác về các hướng dẫn này: Phần 'Vị trí' của bạn có thể cần khác một chút so với phần @ anthony-johnson được sử dụng nếu bạn sử dụng các cài đặt xác thực khác nhau. Chỉ cần sao chép phần bắt đầu bằng '' từ 'httpd.conf' và dán nó vào' httpd-custom.conf' (sau khi bao gồm phần cấu hình PHP của Anthony), và thay thế '/ svn /' bằng '/websvn/'. Mọi thứ đều hoạt động tốt! Lưu ý phụ, nếu bạn đang cấu hình một ngăn xếp Subversion-VisualSVN-WebSVN-Jenkins, có thể bạn cũng cần phải biết [this] (http://stackoverflow.com/q/5564014/385094). – Boinst

1

Tôi đã làm việc này với xác thực cửa sổ (thực ra là AuthType VisualSVN) Bí quyết là nhận xét ra xác thực svn và thay thế bằng cùng một loại văn bản xác thực được tìm thấy trong tệp cấu hình chính. Cảm ơn Anthony Johnson đã nghiên cứu tất cả các chi tiết khác.

# For PHP 5 do something like this: 
LoadModule php5_module "F:/wamp/bin/php/php5.3.0/php5apache2_2.dll" 
AddType application/x-httpd-php .php 


# configure the path to php.ini 
PHPIniDir "f:/wamp/bin/php/php5.3.0/" 

<IfModule dir_module> 
    DirectoryIndex index.html index.php 
</IfModule> 

#Alias /websvn/ "F:/Program Files/VisualSVN Server/htdocs/websvn-2.3.1/" 

<Location /websvn-2.3.1/> 
    Options FollowSymLinks 

    AuthName "Subversion Repositories" 
    AuthType VisualSVN 
    AuthzVisualSVNAccessFile "F:/Repositories/authz-windows" 
    AuthnVisualSVNBasic on 
    AuthnVisualSVNIntegrated off 
    AuthnVisualSVNUPN Off 
    Require valid-user 


    SVNListParentPath on 
    SVNParentPath "f:/Repositories/" 
</Location> 
0

Nếu bạn đang tìm kiếm trình duyệt kho lưu trữ web giàu tính năng hơn mặc định và bạn sử dụng VisualSVN Server, sau đó nâng cấp lên VisualSVN Server 3.2 hoặc mới hơn.

VisualSVN Server has a rich web interface for Subversion repositories. Không giống như WebSVN, trình khách web tích hợp của VisualSVN Server hoạt động ra khỏi hộp và không yêu cầu quản trị viên thực hiện bất kỳ tác vụ cấu hình nào.

Bạn có thể xem demo sống ở đây: http://demo-server.visualsvn.com/!/

Subversion web user interface in VisualSVN Server

Các vấn đề liên quan