Web Services and Applications

Publishing From Your Home Directory

The www web server no longer provides support for publishing web content from your home directory (public_html).  The new JLab User Web Pages now provides this functionality from an independent, dedicated server.

Web Servers at JLab

The CNI Group manages Apache web servers used on site. This includes the primary site web server (www.jlab.org) and numerous smaller, dedicated or special purpose servers used to publish work, host applications, etc.

General Purpose Servers -- Really the only server that is in this category is www.jlab.org. This server hosts the majority of the web content targeted to the general pubic, provides access for staff and users to information they need, etc. Most groups at the lab have some kind of presence on this server (site), and JLab user account holders can publish simple content individually via their home directories and public_html (described below). Though the underlying server is managed by the CNI group, content for the lab's site is managed by the Electronic Media Group.

Dedicated Servers -- Some Apache servers are dedicated to a single service or application -- e.g. an server might be set up to run a wiki for a group or activity, or to provide http access to a subversion repository. Frequently, such servers host a common service for multiple groups. An example is JLABSVN.jlab.org which hosts general http access to a number of individual subversion repositories.

Group or Project Oriented Servers (sites) -- In addition to a public presence on www.jlab.org, many groups or projects around the lab maintain their own web site for various reasons --

  • To publish their work for colleagues and the public in some cases
  • Publish information for use internally within the group
  • Host web-based applications used by the group to coordinate their work, etc.
  • Host their own applications, developed as a part of their work

In recent years, an effort has been made to use a common content management framework to develop and maintain many of our web sites. The use of a common tool for this purpose allows the lab to focus limited resources on development and support of a smaller set of applications and systems. This makes it possible to maintain and update these servers more effectively, helping to safeguard them from intrusion, make them more reliable, and allows us to be more helpful to people working on these systems.

Supported Web Based Applications

Over time, a number of common web applications have emerged as clear favorites among lab staff and users. The Computer Center has developed and maintains standard configurations for several such applications and can easily and rapidly deploy these applications as needed. Further, mechanisms are already in place to:

  • update and maintain the application adn the system on which it is running,
  • provide a safe and secure base system on which to deploy the web services
  • provide integration with our authentication and other systems,
  • take advantage of CUE environment features to safeguard the data and configuration associated with these sites
  • Easily and quickly recover from problems if/when they arise

The following, popular web applications currently have standard configurations available for deployment. Note that, for the most part, this list has grown out of specific requests made by groups. After receiving a lot of requests, we put together a standard config so we could offer it to others. In a few cases, applications on this list were developed as alternatives to other packages that were requested, but, that for one reason or another are not well suited to our environment, or are difficult to integrate, maintain, etc.

  • MediaWiki -- very popular. Used extensively by many groups. We have the most experience with this package and it can be easily and quickly deployed as needed.
  • phpMyAdmin -- used to provide a simple web-based administrative interface for MySQL servers. Very commonly used and easy to set up.
  • MantisBT -- Case management and issue tracking system for all kinds of projects. .We have only a couple of instances of this so far, but feedback from users suggest that it is an effective tool that meets their needs.
  • Drupal -- A general, "content management framework" that is modular and can be used to (pretty) quickly develop just about any kind of site. We have about a dozen or so drupal sites currently and have been running them for a couple of years. Drupal has proven to be very flexible and capable. We have a couple of "standard" configs that we've used in several cases which can be deployed fairly rapidly, including:
    • Scientific/Engineering Group Site -- provides document management, forums, blogs, and most standard features that groups seem to need at the lab.
    • JDocDB -- Lightweight Document Management site
  • Subversion http Interface -- uses mod_dav_svn, allows https-based access to svn repositories
  • Trac -- An integrated Wiki/Version Control system browser, etc. A single tool to manage software development projects. This is popular and very useful. So far, all our installations use Subversion as the version control system. We've investigated the use of the various popular DVCS systems, but have yet to actually deploy a Trac/Git system, or a Trac/Mercurial system, for example

Please refer any questions about web servers or web services to the IT Division Help Desk.