[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: Dreamweaver, Apache, mod_dav_svn not supporting LOCK, workaroundfound

From: Adam Lofstedt <adaml_at_visimation.com>
Date: 2004-06-25 23:36:46 CEST

This is great! Anybody know where can I get compiled 2.1 bits for windows?
:-)

Adam

> -----Original Message-----
> From: Jon Brisbin [mailto:jon.brisbin@npcinternational.com]
> Sent: Friday, June 25, 2004 10:46 AM
> To: SVN Users
> Subject: Dreamweaver, Apache, mod_dav_svn not supporting
> LOCK, workaroundfound
>
> I'm posting this mainly for the benefit of those searching
> the archives after me. I'd slap this in a wiki or something,
> but I haven't been around the svn community long enough yet
> to know where that's at...
>
> I spent more hours than I wanted to trying to figure out how
> to get Dreamweaver MX to use the WebDAV functionality of our
> Subversion repository. DW kept puking when I tried to save
> my edited file.
>
> I couldn't figure out what was causing the error till I read
> in my apache logs that the LOCK method DW was trying to use
> isn't supported by mod_dav_svn. I confirmed this by googling
> this problem.
>
> I searched the Macromedia site, trying to figure out if I
> could just turn off this LOCK functionality. I even searched
> my JavaScript files throughout the Dreamweaver installation,
> hoping against hope. To no avail.
>
> I was able to work around this problem by checking out httpd
> 2.1 from CVS, per the instructions at
> http://httpd.apache.org/dev One thing to note if you're not
> familiar with using Apache from CVS: the 2.1 version of
> Apache you need is actually in the 2.0 branch. Quick survival
> commands:
>
> [root@gandalf ~]# cd /usr/local/src
>
> [root@gandalf src]# export
> CVSROOT=:pserver:anoncvs@cvs.apache.org:/home/cvspublic
>
> [root@gandalf src]# cvs login
> Logging in to :pserver:anoncvs@cvs.apache.org:2401/home/cvspublic
> CVS password: [password: "anoncvs"]
>
> [root@gandalf src]# cvs co httpd-2.0
>
> You need httpd 2.1 to get the mod_dav_lock module, which was
> separated from mod_dav in the 2.0 -> 2.1 transition. To
> compile it, I ran this:
>
> ./configure --enable-mods-shared=most --enable-dav-lock
>
> For some reason, mod_dav_lock doesn't get built even if mod_dav does.
> You have to specify it explicitly. Once it's configured, just do a:
>
> make && make install
>
> to get everything in "/usr/local/apache2" by default, or to
> wherever you set "--prefix=/some/path/to/httpd" when you did
> configure.
>
> Once Apache is up and running, you'll have to compile
> Subversion against the httpd 2.1 server you just built. I
> had to use Subversion 1.0.5 source, as I got compile errors
> in installing the mod_dav_svn module using the 1.0.4 source.
> If you put subversion-1.0.5 right next to httpd-2.0 in
> someplace like "/usr/local/src", then go into the subversion
> source directory and do something like this:
>
> ./configure --with-apxs=/usr/local/apache2/bin/apxs --with-editor=vi
>
> I also added the "--with-jdk=/opt/java/jdk14" flag, but
> that's up to you. Compile and install with:
>
> make && make install
>
> Now mod_dav_svn is compiled and linked against the latest
> version of Apache and you're almost ready to start using it.
>
> Edit your httpd.conf file (which is probably
> "/usr/local/apache2/conf/httpd.conf") in your favorite editor.
> <digression>If that favorite editor is vi(m), you get an A,
> if it's Emacs, A-, if it's gedit or kwrite: D+ You pass, but
> only barely ;-) If it's notepad.exe in Wine, then you have
> issues...</digression>
>
> You'll have to add some directives to your httpd.conf file to
> make this work. First, check to see if the the appropriate
> modules are getting loaded. If you're using vi, typing
> "/dav_svn" should tell you right away if the make install
> process got you set up. If not, add these lines at the end
> of all the other "LoadModule" directives, which are usually
> not far from the top of the file:
>
> LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule
> authz_svn_module modules/mod_authz_svn.so
>
> Double check that the dav_lock module is being loaded, too.
> It will look like this:
>
> LoadModule dav_lock_module modules/mod_dav_lock.so
>
> If you can't find it, then add it before the svn modules.
>
> If you're using a virtual host, go into the directives for
> your virtual host and add the following directives (or
> something equivalent), if you're not virtual hosting, then
> just go to the end of the file:
>
> <Location /svn/myproject>
> DAV svn
> SVNPath /opt/subversion/myproject
> SVNAutoversioning on
> DavGenericLockDB /tmp/webdav.lock
> # Limit write permission to list of valid users.
> #<LimitExcept GET PROPFIND OPTIONS REPORT LOCK>
> # Require SSL connection for password protection.
> # SSLRequireSSL
>
>
>
> # AuthType Basic
> # AuthName "Subversion Repository"
> # AuthUserFile /opt/subversion/htaccess
> # Require valid-user
> #</LimitExcept>
> </Location>
>
> I explicitly name what projects are accessible via WebDAV,
> but you might want to just use the root of all your projects
> and drop the "myproject"
> part. Six of one, half-dozen of the other. I also have
> authentication turned off since this machine is internal to
> our network and I don't give a rip who updates stuff.
>
> You can also add an authz directive for managing the roles of
> groups of users so you can split up who can read and who can
> write. I found this information easily using Google, so
> we'll consider that your homework assignment.
>
> One other, rather important note: the repository directory
> must be readable and writable by the user Apache runs under.
> I have a user and group (with no shell privileges) named
> "apache". I changed these directives from their default in
> the httpd.conf file:
>
> User apache
> Group apache
>
> If you run Apache as the default user (for source builds,
> anyway) of "nobody", then you'll have to chmod your
> repositories that WebDAV accesses to "nobody:nobody". i.e.
>
> cd /my/svnrepos
> chown -R nobody:nobody myproject/
>
> Now that everything should be kosher, fire up apache with something
> like:
>
> /usr/local/apache2/bin/apachectl start
>
> Hopefully, you won't get errors in your config file due to
> typos, like I always do. If it doesn't say anything, no news
> is good news. A quick "ps ax" should show something like:
>
> 13703 ? S 0:00 /usr/local/apache2/bin/httpd -k start
> 13704 ? S 0:00 /usr/local/apache2/bin/httpd -k start
> 13705 ? S 0:00 /usr/local/apache2/bin/httpd -k start
> 13706 ? S 0:00 /usr/local/apache2/bin/httpd -k start
>
> Now you're golden! Jump over to your windows box and fire up
> Dreamweaver. Go into the site you've defined (you've already
> done this, right, because it hasn't worked, which is why
> you're reading this ;-) and set your Remote view settings to
> "WebDAV" and your url to:
>
> http://mydevelserver/svn/myproject
>
> Username and password in my case are blank, but fill these in
> if you've got authentication turned on.
>
> Test it out by double-clicking a file in remote view, editing
> it, saving it, then trying to upload. It shouldn't complain
> about anything and since the autoversioning is turned on, it
> will bump up your revision number every time you save it. I
> have an FTP setting on my Testing server view, then when I'm
> ready to "check in" my changes, I just switch to remote view
> and hit upload. Voila! You're finished!
>
> Note: these instructions are obviously for Linux. I use
> Fedora Core 2 with about 9 GB of software installed,
> including nearly every development library available in RPM
> format ;-) Big 'net pipes rock!
> If you're on something else, your mileage may vary.
>
> I hope I've included everything. I just got finished with
> this install about an hour ago, so I think most everything
> you need is here. Please let me know if something craps out
> on you. Not sure if I can help, but I'll sure try...
>
> --
>
>
> Thanks!
>
> Jon Brisbin
> =============================
> Development Programmer
> NPC International
> jon.brisbin at npcinternational dot com
> 620.235.7726
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Jun 25 23:38:31 2004

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.