2011-08-12 69 views
1

權威性這裏是我的設置:管理平臺SVN倉庫 - 無法從遠程

Ubuntu服務器11.04
的Apache 2.2.17
MySQL的54年5月1日

RAILS_ENV =生產的/ usr /共享/管理平臺/腳本/約

About your application's environment 
Ruby version    1.8.7 (i686-linux) 
RubyGems version   1.3.7 
Rack version    1.1 
Rails version    2.3.11 
Active Record version  2.3.11 
Active Resource version 2.3.11 
Action Mailer version  2.3.11 
Active Support version 2.3.11 
Edge Rails revision  unknown 
Application root   /usr/share/redmine 
Environment    production 
Database adapter   mysql 
Database schema version 20110511000000 

的/ etc/apache2的/網站可用/默認

<VirtualHost *:80> 
     DocumentRoot /mnt/data/vortex/Dev/Web 
     ErrorLog ${APACHE_LOG_DIR}/apache_error.log 
     CustomLog ${APACHE_LOG_DIR}/apache_access.log combined 
</VirtualHost> 

的/ etc/apache2的/網站可用/管理平臺

DocumentRoot /mnt/data/vortex/Dev/Web/redmine 

PassengerDefaultUser www-data 
RailsEnv production 
RailsBaseURI /redmine 

ErrorLog ${APACHE_LOG_DIR}/redmine_error.log 
CustomLog ${APACHE_LOG_DIR}/redmine_access.log combined 

/etc/apache2/conf.d/redmine-svn.conf

PerlLoadModule Apache::Authn::Redmine 
<Location /svn> 
     DAV svn 
     SVNParentPath "/mnt/data/svn" 

     AuthType Basic 
     AuthName Redmine 
     Require valid-user 

     PerlAccessHandler Apache::Authn::Redmine::access_handler 
     PerlAuthenHandler Apache::Authn::Redmine::authen_handler 

     RedmineDSN "DBI:mysql:database=redmine_default;host=localhost" 

     RedmineDbUser "redmine" 
     RedmineDbPass "***" 
</Location> 

/etc/cron.d/redmine

*/10 * * * * root ruby /usr/share/redmine/extra/svn/reposman.rb --redmine localhost/redmine --svn-dir /mnt/data/svn --owner www-data --url file:///mnt/data/svn --key=*** 

Redmine中的所有工作都正常,倉庫由reposman創建,可以從他們的項目頁面瀏覽。 當我嘗試通過遠程PC訪問svn repo時出現問題。
如果我輸入svn ls http://server-ip/svn/prj,它會顯示回購內容而不要求登錄。
svn mkdir http://server-ip/svn/prj/dir相反,它會要求輸入密碼,但當我輸入密碼時,系統會提示重新登錄。在第三次嘗試後,我得到以下錯誤:

svn: MKACTIVITY di '/svn/test1/!svn/act/25265483-dc10-4e3b-a7a5-a2e5bb84486f': authorization failed: Could not authenticate to server: rejected Basic challenge (http://192.168.1.201) 
  1. 我想不通爲什麼驗證不起作用。
  2. 我期待登錄提示也爲svn ls命令。

我也檢查了MySQL服務器上的會話,當我嘗試訪問存儲庫時,我看不到任何用戶'redmine',所以它似乎Apache/Redmine甚至不嘗試連接到MySQL進行驗證。 我跟着this guide設置了svn訪問。

有人知道如何解決我的問題嗎?

謝謝

回答

0

我有同樣的問題。問題在於使用LDAP身份驗證的帳戶。如果您創建一個內部帳戶並將其作爲開發人員添加到項目中,您將能夠提交。

爲了獲得技術管理平臺,LDAP和SVN工作,你需要爲「簡單:: LDAP PerlLoadModule認證介紹::」添加到你的Apache配置,這裏提到:
http://www.redmine.org/projects/redmine/wiki/Repositories_access_control_with_apache_mod_dav_svn_and_mod_perl#optional-LDAP-Authentication

你應該在Ubuntu上更好的運氣但要在OpenSUSE 11上安裝Authen :: Simple :: LDAP。3我們corperate防火牆之內,我不得不:

CPAN>安裝安裝模塊::實現

cpan> install屬性::處理程序

cpan> install Params :: Validate

CPAN>安裝認證介紹::簡單

CPAN>安裝認證介紹::簡單:: LDAP

  • 在此之後它仍然沒有工作,所以我開始調試。我安裝了tcpdump並發現它沒有使用配置的端口來執行身份驗證。我修改Redmine.pm從主機名到一個URL和固定它

    # open (LEELOG, ">>/tmp/leelog"); 
        # print LEELOG "-----------\n"; 
        # print LEELOG "$rowldap[0]\n"; 
        # print LEELOG "$rowldap[1]\n"; 
        # print LEELOG "$rowldap[2]\n"; 
        # print LEELOG "$rowldap[3]\n"; 
        # print LEELOG "$rowldap[4]\n"; 
        # print LEELOG "$rowldap[5]\n"; 
        # print LEELOG "$rowldap[6]\n"; 
    
        my $ldap = Authen::Simple::LDAP->new(
         host =>  ($rowldap[2] eq "1" || $rowldap[2] eq "t") ? "ldaps://$rowldap[0]:$rowldap[1]" : "ldap://$rowldap[0]:$rowldap[1]", 
         port =>  $rowldap[1], 
         basedn =>  $rowldap[5], 
         binddn =>  $rowldap[3] ? $rowldap[3] : "", 
         bindpw =>  $rowldap[4] ? $rowldap[4] : "", 
         filter =>  "(".$rowldap[6]."=%s)" 
    

本頁面是有幫助的:
http://www.rhonabwy.com/wp/2009/12/24/debugging-active-directory-ldap-authentication-in-redmine/

0

在我的情況,我只是取消勾選設置 - 信息 - 公共及有用!公共項目不需要授權,我無法提交。

我沒有使用LDAP。