Web Services on the IU Research Database Complex

On this page:


Introduction

In addition to providing a home for research databases, Indiana University's Research Database Complex (RDC) provides an environment for database-driven web applications with a research focus. This environment comprises a Dell 2950 with a 1.6 GHz Quad-core Intel Xeon processor and 8 GB of memory. This system is known as rdcweb.uits.iu.edu, and runs Red Hat Enterprise Linux 5. User home directories reside on a network-attached storage (NAS) device with disk quotas of 100 GB per user. This quota is shared by your Big Red II, Karst, Mason, and RDC accounts, if you have accounts on those systems.

Note:
Mason, Indiana University's large memory computer cluster, will be retired on January 1, 2018. For more, see About the Mason retirement.

Software

Apache and Tomcat are available to host web applications. In addition, you also have the option of using mod_jk to facilitate communication between Apache and Tomcat.

The following scripting languages are available:

Port assignment

When accounts are created, each user is assigned a range of 10 ports. This lets you run multiple servers if needed.

Your web_services directory

The web_services directory in your home directory on rdcweb.uits.iu.edu is where all the user-controlled files for Apache and Tomcat live. You can access this directory via its full path (/N/u/username/RDC/web_services), or via /ip/username, which is a symbolic link provided for your convenience.

Configuration

In addition to the Apache and Tomcat configuration files, two files control the behavior of your servers:

  • The rdc-web.conf file, located in the web_services directory, can be edited to toggle on and off various options, such as PHP, SSL, and mod_jk. Important instructions for editing this file are contained in the file itself. If this file is deleted, you will not be able to start your servers.
  • The .rdc-env file is located in your home directory. It contains various environment variables that tell Apache and Tomcat where to find files needed for their operation. This file is also used to restart your servers in the event of a system reboot. Edit .rdc-env only if you need to add environment variables.

Configuring Apache

The Apache configuration on rdcweb.uits.iu.edu allows all users to share the Apache binaries and libraries. All users have their own configuration files. In this way, the deployment of new versions of Apache, and supporting libraries and modules, can be centrally managed.

The root of your Apache server is web_services/httpd, and contains these subdirectories:

Directory Description
conf Apache configuration files
logs
Apache access and error logs, and stored Pid-File modules
perl Reserved for use by mod_perl
cgi-bin CGI scripts

In the web_services/httpd/conf/ directory, you'll find some files that may need slight modifications:

File Description
httpd.conf
Main Apache configuration file
ssl
Configuration file for SSL server, if enabled
workers.properties
Configuration file for mod_jk, if enabled
cgi-bin CGI scripts

The web_services/httpd/conf/ directory contains these subdirectories:

Directory Description
ssl SSL certificates and keys
modules.d
Contains configuration information for various modules
cgi-bin CGI scripts

Configuring Tomcat

Tomcat server binaries and libraries are shared system-wide. As with Apache, each user has an individual set of configuration files. The root of your Tomcat server is web_services/tomcat, also referred to as CATALINA_BASE, and contains these subdirectories:

Directory Description
conf Tomcat configuration files
webapps Your RDC web applications
shared
Classes and libraries shared among all your web applications
work Java code for servlets
temp
Temporary space used by Tomcat

For more information about Tomcat directory structure for web applications and configuration, see Apache's Tomcat 5.5 Servlet/JSP Container page.

By default, your server.xml file, located in the conf directory, will be configured for a non-SSL port and a Tomcat shutdown port when it is installed. You may add additional ports from your port assignment range as needed.

Starting and stopping Web Services

Example syntax for starting and stopping Web Services is:

  boot-rdc-web.pl command service

In the above example, replace command with start, stop, restart, or status, and service with apache, tomcat, or all (if you are running both Apache and Tomcat).

To specify which services should be loaded in the event of a system restart, modify the boot variable in the web_services/rdc-web.conf file as shown in last line of this sample configuration file:

  # To enable a feature, uncomment the line beginning with "-D".  To disable
  # said feature, comment out that line (by preceding it with # )

  # Enable support for perl
  #-D PERL

  # Enable SSL Support through Apache
  #-D SSL

  # Enable Java through Tomcat
  # NOTE : This only enables mod_jk for passing java requests through apache to
  #        tomcat.  You must have a tomcat instance running and properly
  #        configured.  This option _does not_ handle starting the tomcat 
  #        instance.
  #-D JAVA

  # NOTE : You cannot enable PHP4 and PHP5 simultaneously
  # Enable PHP4 support
  #-D PHP4

  # Enable PHP5 support
  #-D PHP5

  # Location of httpd.conf .  may be changed, but should be done with caution.
  # This must be a path relative to /ip/$USERAME$
  httpd_conf = httpd/conf/httpd.conf

  # This line enables apache and/or tomcat to start on boot.  If you don't wish
  # to have your services start on boot, simply comment out this line.
  # Use ( all | apache | tomcat ) respectively.
  boot=all

Getting help

For help configuring Web Services for your RDC database, email the High Performance Systems group.

This is document awpy in the Knowledge Base.
Last modified on 2017-08-04 14:48:13.

  • Fill out this form to submit your issue to the UITS Support Center.
  • Please note that you must be affiliated with Indiana University to receive support.
  • All fields are required.

Please provide your IU email address. If you currently have a problem receiving email at your IU account, enter an alternate email address.

  • Fill out this form to submit your comment to the IU Knowledge Base.
  • If you are affiliated with Indiana University and need help with a computing problem, please use the I need help with a computing problem section above, or contact your campus Support Center.

Please provide your IU email address. If you currently have a problem receiving email at your IU account, enter an alternate email address.