Page One

Campus Computing News

Designing UNT Websites for Accessibility

Lab-of-the-Month: Willis

Today's Cartoon

RSS Matters

SAS Corner

The Network Connection

Link of the Month

WWW@UNT.EDU

Short Courses

IRC News

Staff Activities

Subscribe to Benchmarks Online
    

WWW@UNT.EDU


The DAV Debacle

By Shannon Eric Peevey, UNT Central Web Support

Background...

In this article, I will outline the background to my problem, and then take you through the thought processes that got an alternate Web server situation to work for the University of North Texas.

We are a large university with a student population of 29,000, and a staff population of 5 - 6,000. This rather large university has many departments, and many different needs that are being fulfilled by a large group of technology people, of which I am one. I work in Central Web Support, and we run the main Web servers for the university, dynamic and static, as well as the streaming media server and distance education servers. I am personally responsible for the dynamic content Web servers, and allow applications from all over campus to be run on my boxes. They are win2000 service pack 2 boxes, and I have modified their Microsoft induced configuration to allow remote administration through a Cygwin ported Secure Shell running as a service on the machine. They have win32/Apache 1.3.22/mod_dav/mod_perl/mod_ssl/mod_coldfusion with FrontPage 2000 extensions running on them, with available backends being MS Access and MS SQL Server 2000. These Web servers are used by the campus for the publishing of dynamic content, meaning that we must have multiple options available for the Web designers to publish with. This being the case, I had planned to move the current NT 4 service pack 6a, IIS4 box to the new machine, with DAV enabled and with the FrontPage 2002 Server Extensions installed on the win32/Apache Web server. As many of you already know, the FrontPage 2002 Server Extensions will not install on a box without IIS installed on the machine. (This has been 2-3 months back, and I know that some people have been working on this problem... Good Luck!!) This ended up being the first of many frustrations on the path to getting this server up and production ready...

Let the journey begin...

As I have already mentioned, my first dead-end was the lack of ability to run 2002 server extensions on my machines. This being the case, I was able to fall back on the tried-and-true art of installing FrontPage 2000 Server Extensions on the win32/Apache Web server. I was able to do this following the instructions found at http://zts.com/msfpse/msfpse4apache.htm. If you follow this method to the tee, you will have your server extensions installed in no time, and I know that this method also works on win32/Apache 1.3.20 and 1.3.22. (Thanks!! :) ) (NOTE: I didn't follow the instructions on the password stuff, because we are using Mark Wilcox's [former UNT Campus Web Administrator] Auth-Net-LDAP module to authenticate users to a central LDAP server. They should work though.) After accomplishing this, I set up Auth-Net-LDAP, and was able to connect to my new Web server via FrontPage... Yeah!!!

Next, I needed to configure mod_dav to work on the server. This was done, by downloading the source, and compiling it. I then moved the dav.dll to the libexec folder, configured the httpd.cnf file, and the #haccess.ctl files, and voila! I was able to connect using Microsoft Web Folders, and Cadaver, from Unix. Life was great!! I then sat on my laurels for a while, dreading the mod_ssl install and certificate creation and signing. When that time came, I compiled mod_ssl and installed it into the server, and created the certificate, adding a virtual server to take connections at port 443. Now came the hard part... Of course, I didn't know that at the time...

Publishing Dynamic Web Content...

A strange error began to pop-up when my testing buddies and I began to try to move ColdFusion files around on the server, or moving g ColdFusion files to and/or from the server using DAV clients on win32 platforms. We began receiving "Invalid HTTP headers" errors, and "Unable to create Semaphore" errors. This caused us great consternation, as my servers are almost exclusively made up of ColdFusion files. When we couldn't find any information, we began to turn to every Web administrators best friend, www.deja.com, which turned up an interesting point about Microsoft Web Folders ability to manipulate dynamic Web content using DAV. This is that Web Folders asks for a Last Modified Header from the ColdFusion files, which, on our server, is not to be found. (You can find out more about this error at:

http://www.Webdav.org/mod_dav/install.html#complex. NOTE: the quick fix does NOT work, as is noted in the article.) Frustration number two... How are we going to get DAV to work with the majority of the Web content on our server? (NOTE: This problem does NOT effect DAV clients on MAC, or Unix, OR other DAV clients on win32 platforms, it only effects Microsoft Web Folders, and other programs that use Web Folders, such as Macromedia Dreamweaver.) Well, we already have one option, FrontPage. FrontPage can manipulate all of the files on the Web server with no problem, except when you have to mod_rewrite a URL to a virtual host on the same instance of win32/Apache. FrontPage server extensions will not install to a virtual host on win32/Apache because it is an unsupported configuration. (Duh!! But, we got it to work this far... ;-( ) So what about Dreamweaver? Well, not much is coming from Macromedia, but enough postings to the newsgroups show that Dreamweaver does not support SSL connections using DAV or FTP, and unbeknownst to me at the time, Dreamweaver uses Microsoft Web Folders to make DAV connections... The cycle continues...

What Now...?

What now...? I almost through up my hands at this point. We could use FrontPage to publish to the http Websites, but what are we going to do for our poor majority of win32 users? I needed to find a good win32 client, that would allow connections over SSL, and that wouldn't be too difficult for the end-users to install on their machines...

Enter DAVExplorer!

Though I had misgivings, I needed an alternative client for my win32 platforms, so I started looking at the other clients available at www.Webdav.org/projects. These include many Web servers, file systems, and java clients based on DAV protocol, and allowed for me to look for an open source answer to my problems. As I have end-users that are more familiar with GUI interfaces, I was looking for a GUI solution, and I found DAVExplorer!

DAVExplorer is a GUI java client that uses Java 2, and runs on almost every platform. It allows us to connect to sites hosted on both http and https, and is fairly easy to install. DAVExplorer has given us a way out, and here is how to install it on a win32 platform.

  1. Download the Java 2 Runtime Environment

    1. Double-click the executable and install the JRE to the folder of your choice, the default is fine.

  1. Download the Java Secure Socket Extensionsi (if you want to connect to a secure site)

    1. Be aware that you will have to register with sun.com to download the JSSE.

    2. You will also need to agree to not export the JSSE over the border.

    3. Download the zip file to the folder of your choice.

Installation instructions for JSSE

  1. Unzip the JSSE folder to the folder of your choice

  2. Open Windows Explorer, and navigate to the folder that you unzipped the contents of the JSSE zip file to.

  3. Enter the folder jsse1.0.2->lib and copy all of the files in the *.jar files in the folder

    1. They should be: jcert.jar, jnet.jar, jsse.jar.

  1. Paste the .jar files into (this assumes default location): C:\Program Files\JavaSoft\JRE\1.2\lib\ext\

  2. Open C:\Program Files\JavaSoft\JRE\1.2\lib\security\java.security in wordpad.exe and paste the following line:

      1. security.provider.2=com.sun.net.ssl.internal.ssl.Provider

under the line:

secu rity.provider.1=sun.security.provider.Sun

NOTE: This should be sequential, so if you have a security.provider.3 in your java.security file, then paste the above line (security.provider.2=etc.) and change the line to security.provider.4=com.sun.net.ssl.internal.ssl.Provider.

  1. Save the file. (Make sure that wordpad.exe does not append .txt to the file. To do this, surround the name of the file, java.security, with quotes. (ie. "java.security")

Installation instructions for the DAVExplorer binary

  1. Download the DAVExplorer binary for windows

  2. Create a folder at the location of your choice.

  3. Unzip the contents of the DAVExp-*.zip to that folder.

  4. Open the folder in Windows Explorer, and create shortcuts of the DAVExplorer.bat and DAVExplorerSSL.bat on your desktop.

These two batch files are, in essence your executable files. The DAVExplorer.bat works with http-hosted Web sites, and DAVExplorerSSL.bat works with https-hosted Websites. If you double-click on the shortcuts on your desktop, a DOS box will open, and after a short period of time a GUI will open that looks much like Windows Explorer. This program is not a streamlined, all powerful program, but is good tool for us to use to interact with our DAV-enabled Web servers. You can GET/download files by clicking on the file that you would like to download in the right window, then clicking File->Get File. To upload, highlight the desired destination in the right window, and click File->Write File, and, most importantly, you connect to the Web server by typing the URL in the box found at the top center of the GUI, (ie Web2.unt.edu/test). For more information on usage of the product, you can hit the online user's manual at http://www1.ics.uci.edu/~Webdav/um.html or the main Website at http://www1.ics.uci.edu/~Webdav.

In Conclusion

As you can see, we have been busy, and we hope that this finds you busy, as well... Busy using Web2.unt.edu for all of your dynamic content needs. We have been working hard to bring you a new and improved server, and though it has been a bumpy road, it is worth the trip!

Take care!