How did you enable the PUT requests in Apache? I think the mod_put modules listed here might create the missing directories: http://www.gknw.net/development/apache/httpd-2.0/unix/modules/
I couldn't try them though, so I might be mistaken... Maarten ----- Original Message ---- From: Michael Shea <[email protected]> To: [email protected] Sent: Tue, April 6, 2010 5:58:46 PM Subject: Re: publishing via http Hi Maarten, Yes, my apache server is configured to accept HTTP PUT requests. I've done some debugging using curl to PUT files on the server, and yeah, it looks like the server doesn't create the required subdirectories. So... Is creating the necessary subdirectories (or "collections", in webdav-speak?) when receiving a PUT request a standard thing that webservers do? I presume that it isn't. So the question I have is: Is this a "bug" in Ivy, that Ivy doesn't send the necessary MKCOL commands first? Or is this something that is undesirable to have Ivy do for some reason? I know that there's the VFS stuff as well, presumably that would issue the MKCOL commands. It's not really an option for me though, since I want to use this in a production environment where we require stability, and we're not too keen on using projects that haven't ever actually been released (ie: commons-vfs). Anyway - it just looks to me like the usefulness of using URL resolvers for publishing is severely limited, given that what Ivy actually tries to do when doing an http publish isn't supported by Apache webserver without writing a custom put-script. Maybe if it's not a bug, something in the docs would be useful? Mike Shea. > Is your apache server configured to accept HTTP PUT requests? > If so, mabye you should use another put-script that creates the missing > directories? > > Maarten > > > > > ----- Original Message ---- > From: Michael Shea <[email protected]> > To: [email protected] > Sent: Thu, April 1, 2010 11:54:58 PM > Subject: publishing via http > > Hi folks, > > I am trying to publish to an HTTP Ivy repository, and having some trouble > with it. I'm using ivy-2.1.0. > > The resolver I am using in ivysettings.xml looks like this: > > <url name="shared-publisher"> > <ivy > pattern="http://${server}/${infrastructure.lib.dir}/${ivy.artifact.pattern}" > /> > <artifact > pattern="http://${server}/${infrastructure.lib.dir}/${ivy.artifact.pattern}" > /> > </url> > > > Basically, I get this in the logs from my ant build when I call ivy:publish: > > Caused by: java.io.IOException: Access to URL > http://[server]/lib/nitido/project24/1.0.0.0/zips/project24-resources.zip was > refused by the server > > If I check the apache logs on the server, I see this: > > <snip> > 192.168.13.68 - - [01/Apr/2010:17:38:56 -0400] "HEAD > /lib/nitido/project24/1.0.0.0/zips/project24-resources.zip HTTP/1.1" 401 224 > "-" "Apache Ivy/2.1.0" > 192.168.13.68 - [email protected] [01/Apr/2010:17:38:56 -0400] "HEAD > /lib/nitido/project24/1.0.0.0/zips/project24-resources.zip HTTP/1.1" 404 163 > "-" "Apache Ivy/2.1.0" > 192.168.13.68 - - [01/Apr/2010:17:38:56 -0400] "PUT > /lib/nitido/project24/1.0.0.0/zips/project24-resources.zip HTTP/1.1" 401 741 > "-" "Apache Ivy/2.1.0" > 192.168.13.68 - [email protected] [01/Apr/2010:17:38:56 -0400] "PUT > /lib/nitido/project24/1.0.0.0/zips/project24-resources.zip HTTP/1.1" 403 538 > "-" "Apache Ivy/2.1.0" > </snip> > > It looks to me like it's trying to just run a PUT without creating the > necessary subdirectories first...? > > I've also tried messing around with the vfs resolver (compiled my own > commons-vfs jar, based on the 1.0 tag from the vfs svn repo), but I didn't > have any luck with it. > > I haven't found much about this on google... bits and pieces here and there, > but nothing that has really helped me yet. Is what I am trying to do even > possible currently? Or should I just abandon this approach, and set up an FTP > server to handle publishing instead? =) > > Thanks, > > > Mike Shea. > > > > >
