Web and Database Development Environment Help

Before the Course Begins

The instructor should request access to the environment prior to the start of the course to verify that planned homework and projects will work in the environment. Sometime during the week after grades are submitted for the semester, all directories in /webdev/user/ will be cleaned up and all databases will be removed. If instructors would like to continue to have access between semesters, please inform the CLAS Linux Group staff.


The web and database development servers are named webdev.cs.uiowa.edu and dbdev.cs.uiowa.edu and are accessible via SSH from the campus network only (see ssh configuration for alternative access methods). If you are not on the campus network, you can use the UI Anywhere VPN service to connect to the campus network.

Web Programming Environment

Each user that is configured for the web programming environment will be given a directory named /webdev/user/<hawk_id>. This directory is accessible from any managed Linux workstation. The URL http://webdev.cs.uiowa.edu/~<hawk_id>/ will correspond to that directory. The server is also TLS-enabled and can be accessed via https://webdev.cs.uiowa.edu/~<hawk_id>/ as well. Within /webdev/user/<hawk_id> are a few sub-directories and files (replace <hawk_id> below with your actual HawkID):

examples - This a collection of example scripts written in PerlPHP, and Python.

All files ending in .pl will be run via mod_perl
All files ending in .php will be run via PHP
All files ending in .wsgi will be run via mod_wsgi

tomcat7 - This directory is a single context of a Tomcat 7.x Java Servlet/JSP container. It is accessed via http://webdev.cs.uiowa.edu/<hawk_id>-tomcat7/.
If the instructor didn't request the Tomcat7 environment, you won't have this directory.

tomcat9 - This directory is a single context of a Tomcat 9.x Java Servlet/JSP container. It is accessed via http://webdev.cs.uiowa.edu/<hawk_id>-tomcat9/.
If the instructor didn't request the Tomcat6 environment, you won't have this directory.

error_log, ssl_error_log - These files contain lines from the web server's error_log and ssl_error_log that are specific to your portion of the site. If the files don't exist, you don't have any relevant errors. These files are updated every 4 minutes.

Database Environment

Each user who is configured for the web programming environment will also be given a separate database running on both Mariadb 10.2.x and PostgreSQL 9.2.x on dbdev.cs.uiowa.edu. The database name, user name and password will be placed in a file in /webdev/user/<hawk_id>. For security purposes, connections to the databases are only allowed from the campus network.

Notes for Instructors

There are a variety of sample scripts/programs that have been written that are included in the examples directory. Most of these use each language and make a database connection. If you would like to add an example, please send an email to request@divms.uiowa.edu to coordinate the inclusion of the example. Each course will have its own instance of Tomcat 6 and Tomcat 7, if requested. As the instructor, you will have the ability to restart both via sudo. We can also set up a cron job to automatically restart them every 15 minutes.

Examples of using the Environment

Please see this tutorial/example page for more instructions on using the environment.