Setting up webXDS


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:

Thank you and enjoy.


Known limitations and bugs


Red Hat Linux 7.2

  1. 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
  2. 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.

  3. Start apache (as root):

    # /etc/init.d/httpd start
  4. Get the webXDS Perl scripts here.

  5. Unpack and untar the distribution:

    # tar zxvf webXDS.tgz
  6. 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
  7. 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_IntelPentiumIII
  8. Edit 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.

  9. 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

SuSe Linux 8.0

Kindly provided by Dr. Ulrich Englich, MacCHESS.

Follow the same instructions as for RedHat Linux 7.2 with the following changes:

  1. Edit /etc/httpd/conf/httpd.conf:

  2. 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>

  3. 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.


© Arthur J. Weaver
ajw33@cornell.edu
Last revision 2002.05.28