Crowd Integration of Apache/SVN: Client connect fails due to server error "Couldn't create directory: : [...]"

Hello out there,

we plan to evaluate the Atlassian Tool-Suite together with Subversion as replacement of an existing SCM-system. A main requirement is a central user and access management which I currently try to set up using Crowd.

I set up the crowd integration following the instructions at:
http://confluence.atlassian.com/display/CROWD020/Installing+the+Crowd+Apache+Connector+on+Windows

When I try to connect to the Subversion repository using a Tortoise Client, I get an error message after entering the login credentials, saying "Server sent unexpected return value (500 internal Server Error) [...]".

In the Apache error log on the server is stated the following:

[error] [client 10.3.53.125] Couldn't create directory: : No such file or directory at C:/strawberry/perl/site/lib/Cache/FileBackend.pm line 222.\n

It looks like a variable is not initialized (see the two ":" behind each other), according to the sourcecode of FileBackend.pm it is "$directory".

So far so good, but why is it empty and which directory should be created? I didn't find any mistake in my configuration but I don't think it's a bug either since this connector probably is in use alreday at other sites.

So I'd appreciate any hints how to solve this!

My setup:

  • Server for Vrowd, Apache and Subversion: Windowd 7 64-bit SP1
  • Apache 2.2 32-Bit
  • Subversion 1.7-rc3
  • Strawberry Perl 5.10.1 32-Bit
  • Crowd 2.3.3
  • Crowd-Apache Connector 1.4 (2.0 not existing for Windows)

All Installations have been performed using Admin-rights!

Further down you'll find the Apache http.conf and the Authz-File.

Thanks for your help!

Kind regards,

Robert173

-------- httpd.conf --------------

ServerRoot "D:/Apache2.2/"

Listen 9880

LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule include_module modules/mod_include.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
LoadModule setenvif_module modules/mod_setenvif.so

LoadFile "C:/strawberry/perl/bin/perl510.dll"
LoadModule perl_module modules/mod_perl.so

<IfModule !mpm_netware_module>
<IfModule !mpm_winnt_module>
User daemon
Group daemon

</IfModule>
</IfModule>

ServerAdmin admin

DocumentRoot "D:/Apache2.2/htdocs"

<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>

<Directory "D:/Apache2.2/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

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

<FilesMatch "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</FilesMatch>

ErrorLog "logs/error.log"

LogLevel warn

<IfModule log_config_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
<IfModule logio_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
CustomLog "logs/access.log" common
</IfModule>

<IfModule alias_module>
ScriptAlias /cgi-bin/ "D:/Apache2.2/cgi-bin/"
</IfModule>

<IfModule cgid_module>
</IfModule>

<Directory "D:/Apache2.2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

DefaultType text/plain

<IfModule mime_module>
TypesConfig conf/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
</IfModule>

Include conf/extra/httpd-default.conf

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

<Location /TCM_Projects_3>
DAV svn
SVNPath "D:/repos/TCM_Projects_3"
SVNMasterURI http://abts5063:9880/TCM_Projects_3<br< a=""> />
AuthName "UBK-SCM Crowd Access Control System"
AuthType Basic
PerlAuthenHandler Apache::CrowdAuth
PerlSetVar CrowdAppName ubkscm-svn-cache-abtz05bx
PerlSetVar CrowdAppPassword crowd4scm@svn
PerlSetVar CrowdSOAPURL
http://abtz05bx:8095/crowd/services/SecurityServer<br< a=""> />
PerlSetVar CrowdCacheEnabled on
PerlSetVar CrowdCacheLocation "D:/temp/CrowdCache"
PerlSetVar CrowdCacheExpiry 300

PerlAuthzHandler Apache::CrowdAuthz
PerlSetVar CrowdAuthzSVNAccessFile "D:\Apache2.2\conf\authzPROJECTS_3.conf"

Require valid-user
</Location>

-------- authzPROJECTS_3.conf --------------

[groups]
svn-tcm_projects-int-read =
svn-tcm_projects-int-write =
svn-tcm_projects-ext-read =
svn-tcm_projects-ext-write =

[/]
* =
@svn-tcm_projects-int-read = r
@svn-tcm_projects-int-write = rw

4 answers

1 accepted

0 votes
Accepted answer

I tried different directory names but got the same error with all of them. Also, tried not defining the CrowdCacheLocation so that default location would be used - again got the same error. CrowdAuth.pm seems to read the location parameter correctly (added a log message) so perhaps there is something wrong in FileCache or how the location is passed to it.

In the end I decided to disable using the cache - for my development purposes the apache-crowd integration seems to work adequately w/o cache.

I also had to disable the cache to make it work.

However, it seems that the folder creation worked at least once, since I have the following folder under C: with some cache data inside:

C:\tmp\CrowdAuth

I would also be interested in having it work with the cache.

Did you solve this problem? I have the same issue...

Anyone else with similar issues and possible solutions?

Suggest an answer

Log in or Sign up to answer
Community showcase
Published Feb 27, 2018 in Crowd

The Crowd team is looking for feedback on Server & Data Center customers' identity strategies!

Do you own more than one Server or Data Center product? Do you have challenges provisioning users across your Atlassian products? Are you spending a lot of time integrating each Atlassian product wit...

1,573 views 6 14
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you