If you do anything differently than these installation recipes specify, please don't complain to me (at least not loudly) if it doesn't work. Furthermore, this is a preliminary version of webXDS intended only for use at CHESS. Please report desired features and undesired bugs to me at ajw33@cornell.edu or art@ajwresearch.com. If you are at CHESS, you are free to edit my Perl scripts in any way you see fit in order to enhance your webXDS data processing experience. I only ask these things:
Please send your changed script(s) to me, so that I can learn from your experience and hopefully improve the webXDS interface.
Please retain my name and e-mail address in the footer of each webXDS interface page.
If you wish to adapt these scripts for use outside of CHESS, please contact me directly for permission and to be added to the list for distribution of program updates.
Thank you and enjoy.
So far, only the Mozilla web browser seems to handle all of webXDS' JavaScript code. Since I am a novice JavaScript programmer, I don't yet know why this is, but it will definitely be fixed in the next release to work with Netscape and (probably) the KDE Konqueror browser. Since I don't use Windows on any of my machines, don't hold your breath for IE support.
If the "View this image" button does not bring up the VIEW program window containing the requested diffraction image, try giving an "xhost 127.0.0.1" or "xhost +" command and try "View this image" again.
Install the apache webserver for RedHat Linux 7.2, available here:
http://rpmfind.net/linux/RPM/redhat/7.2/i386/apache-1.3.20-16.i386.html
# rpm -ivh apache-1.3.20-16.i386.rpm
Configure apache. Edit /etc/httpd/conf/httpd.conf. The following is a diff of my (very minor) changes to the distribution file:
# diff httpd.conf.distribution httpd.conf
421c421
< ServerAdmin root@localhost
---
> ServerAdmin ajw33@cornell.edu
439c439
< #ServerName localhost
---
> ServerName 127.0.0.1
528a529,535
> <Directory /home/*/public_html>
> AllowOverride None
> Options All
> Order allow,deny
> Allow from all
> </Directory>
>
964c971,972
< #AddHandler cgi-script .cgi
---
> AddHandler cgi-script .cgi
> AddHandler cgi-script .pl
Note that this configuration allows apache to "serve" webpages only to the localhost (127.0.0.1). This is a good thing from a security standpoint on machines that are not intended to be web servers for the world.
There may be a more "universal" way of serving the webXDS pages, i.e., not involving specific users, but directory access and file permissions are problematic.
Also, if a user wants to modify the Perl scripts (to improve upon or fix them or break them), she will only be able to do so if she is the owner of the scripts. In my opinion, this argument overwhelmingly favors the user-based approach.
Start apache (as root):
# /etc/init.d/httpd start
Get the webXDS Perl scripts here.
Unpack and untar the distribution:
# tar zxvf webXDS.tgz
Copy the webXDS Perl scripts into a user's public_html/cgi-bin directory:
% cp webXDS.pl /home/username/public_html/cgi-bin % cp XDSview.pl /home/username/public_html/cgi-bin % cp XDSindex.pl /home/username/public_html/cgi-bin % cp XDSintegrate.pl /home/username/public_html/cgi-bin
where "username" might be "weaver" or "specuser", for example. If not already so, all the Perl scripts should have execute permission:
% chmod +x *.pl
Install the XDS distribution available by anonymous ftp here (for academic use and synchrotron data processing only):
ftp://kuno.mpimf-heidelberg.mpg.de/pub/kabsch
Put the XDS executables anywhere you like, for example:
/home/username/software/XDS/XDS-linux_IntelPentiumIIIEdit XDSview.pl, XDSindex.pl and XDSintegrate.pl. Specify the full path to the XDS executables (that you just installed) at the top of these files.
Run webXDS on your web browser by invoking the main Perl script. Point your browser to:
http://127.0.0.1/~username/cgi-bin/webXDS.pl
Kindly provided by Dr. Ulrich Englich, MacCHESS.
Follow the same instructions as for RedHat Linux 7.2 with the following changes:
Edit /etc/httpd/conf/httpd.conf:
Edit /etc/httpd/suse_public_html.conf so that it looks like:
<IfModule mod_userdir.c>
UserDir public_html
</IfModule>
<Directory /home/*/public_html>
AllowOverride None
Options All
Order allow,deny
Allow from all
</Directory>
Check if the variable HTTPD_SEC_PUBLIC_HTML in /etc/sysconfig/apache is set to "yes" (default in SuSE). If so, SuSEconfig will include that file via /etc/httpd/suse_include.conf.