ARCHIVED: Web Services on the IU Research Database Complex

This content has been archived, and is no longer maintained by Indiana University. Information here may no longer be accurate, and links may no longer be available or reliable.

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.

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

Configure 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

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

Start and stop 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

Get help

For help configuring Web Services for your RDC database, email the UITS Campus Bridging & Research Infrastructure team.

This is document awpy in the Knowledge Base.
Last modified on 2018-07-24 13:03:36.