< 

Table of Contents


NU Deployment Notes

Table of Contents


Introduction

This section is for NU developers only. It should be used together with the generic deployment documention in the section titled Deployment.

At NU we deploy three instances of WordHoard:

  • The main public site on Welles (wordhoard.northwestern.edu = welles.library.northwestern.edu).

    This site contains Early Greek Epic and the works of Shakespeare, Spenser and Chaucer. It is open to the world.

  • The NCF site on Noir (noir.at.northwestern.edu).

    This site contains the works of Shakespeare, Spenser and Chaucer, plus 250 British novels from 1780 to 1900. It is accessible only at Northwestern University.

  • The EMD site on Noir (noir.at.northwestern.edu).

    This site contains approximately 330 Early Modern English plays including all of Shakespeare. It also includes the works of Chaucer and Spenser. It is accessible only at Northwestern University and at other institutions that are subscribers to the Text Creation Partnership (TCP).


The main site on Welles

Welles hosts the main public WordHoard site, plus the WordHoard client distribution, the sites file, and the user manual.

Welles is a SunOS host. The system administrator is Thomas Howell (t-howell@northwestern.edu).

To maintain the version of WordHoard on Welles, log on using the whoard account.

Use sftp to transfer files.

MySQL information:

  • Home directory = /usr/local/mysql
  • Data directory = /app/mysql/whoard
  • Port number = 3307
  • Data file owner = whoard
  • Data file group = whoard
  • Config file = /etc/mywhoard.cnf

The following useful aliases and scripts are available for working with the MySQL databases:

  • mysql-start: Starts MySQL.
  • mysql-stop: Stops MySQL.
  • mysql: Runs the MySQL command line client.

The database names are wordhoard and wordhoardserver.

The server directory is located at ~whoard/server.

WordHoard server settings:

  • RMI registry port = 1099
  • RMI port = 1098

The web directory for WordHoard is located at /w3/wordhoard.


The NCF and EMD sites on Noir

Noir hosts the NCF and EMD site databases and servers.

Noir is a GNU Linux host. The system administrator is Jim Lindsay (j-lindsay@northwestern.edu)

To maintain the Noir sites, log on using the wordhoard account.

Use sftp to transfer files to Noir.

MySQL information:

  • Home directory = /usr/local/mysql5
  • Data directory = /var/lib/mysql5
  • Port number = 3306
  • Data file owner = mysql
  • Data file group = mysql
  • Config file = /usr/local/mysql5/my.cnf

Use the sudo command to maintain the MySQL data files in /var/lib/mysql5:


> sudo su
Password:
# cd /var/lib/mysql5
# ... (manage the MySQL data files)
# <ctrl>d
>

The following useful aliases are available for working with the MySQL databases:

  • mysql-start: Starts MySQL.
  • mysql-stop: Stops MySQL.
  • mysql: Runs the MySQL command line client.

Information for the NCF site:

  • Server directory: ~wordhoard/ncf-server
  • Database name: ncf
  • Server database name: ncfserver
  • RMI port number: 1163

Information for the EMD site:

  • Server directory: ~wordhoard/emd-server
  • Database name: emd
  • Server database name: emdserver
  • RMI port number: 1100

The access control restrictions for the NCF and EMD sites are implemented using MySQL database grants. E.g., the following restricts access to the ncf database to hosts at NU:


grant select on ncf.* to wordhoard@'%.northwestern.edu' identified by wordhoard;

Deploying a New Release to Both Welles and Noir

Use this checklist when deploying a new NU release. These instructions are for deploying WordHoard from John Norstad's Mac and from John's jln account on the Scribe host to both Welles and Noir.

Step 1 - Prepare the deployment files on John's Mac and move them to Welles and Noir.

Make certain the version number is set correctly in both the source code and in the user manual. In the source code, edit the properties file at edu/northwestern/at/wordhoard/resources/wh.properties. There are two lines near the top of this file which must be changed. In the user manual, edit the version number and the release date near the top of the file index.html.

Add release notes for the new version to the user manual file version-history.html.

Run the WDG HTML validator to make sure all the user manual files are strict HTML. Use the notes in the file at ~jln/Documents/WordHoard/validate-userman-html.txt.

Rebuild the source code and the javadoc:


% b full
% b doc

Archive the source code for this release. Copy the src directory to ~jln/Documents/WordHoard/Archived release source coce.

Rebuild the static database:


% full-build

Zip the static database:


> mysql-stop
> su
Password:
# cd /usr/local/mysql/data
# zip -r wordhoard wordhoard
# chown jln:staff wordhoard.zip
# mv wordhoard.zip ~jln/Documents/WordHoard/dev/
# <ctrl>d
% mysql-start

Zip the "secret source":


% zip -r secret-src src

Create the server jar file:


% scripts/create-server-jar.csh

Create the client jar file:


% scripts/create-client-jar.csh 
Enter store password for keystore:
Enter key password for alias nujarsigner:

Zip the user manual:


% zip -r userman userman

Zip the javadoc:


% zip -r javadoc javadoc

Make the "other files" zip archive for the user manual:


% scripts/make-other-files.csh

Zip the raw data files:


% zip -r data data

Move the prepared files to Welles:


% sftp whoard@welles.library.northwestern.edu
Password: 
sftp> put *.zip
sftp> put wordhoardserver.jar
sftp> lcd client
sftp> put wordhoard.jar
sftp> quit

Move the prepared files to Noir:


% sftp wordhoard@noir.at.northwestern.edu
Password: 
sftp> put wordhoardserver.jar
sftp> quit

Clean up:


% rm *.zip
% rm wordhoardserver.jar

Step 2 - Prepare the new static databases on Scribe and move them to Welles and Noir.

Copy the bin, scripts and data directories from John's Mac to Scribe:


% put-bin
Password:
% put-scripts
Password:
% put-data
Password:

Log on to Scribe and use the wordhoard alias to switch to the wordhoard directory and source the setup file. Delete the old data-main directory and replace it by the copy of the data directory:


% ssh scribe.at.northwestern.edu
Password:
% wordhoard
% rm -rf data-main
% mv data data-main

Prepare the source data files in the directories:

  • data-main
  • data-ncf
  • data-emd

The data-main directory on Scribe is an exact copy of the data directory on John's Mac. For the Shakespeare, Spenser and Chaucer texts, the data-ncf and data-emd directories contain soft links ponting to the work file directories in the data-main directory. The word-classes.xml and pos.xml files are also soft links.

Rebuild the three databases:


% full-build-main
% full-build-ncf
% full-build-emd

The three MySQL databases are named wordhoard_main, wordhoard_ncf and wordhoard_emd.

Each script writes a report to the misc directory.

Copy the databases from Scribe to Welles and Noir:


% mysql-stop
Password:
% sudo su
# cd /stg/data/mysql
% scp -r wordhoard_main whoard@welles.library.northwestern.edu:
Password: 
% scp -r wordhoard_ncf wordhoard@noir.at.northwestern.edu:
Password: 
% scp -r wordhoard_emd wordhoard@noir.at.northwestern.edu:
Password: 
# <ctrl-d>
% mysql-start

Step 3 - Deploy on Welles

Deploy the database and server jar file.


% ssh whoard@welles.library.northwestern.edu
Password: 
> server/bin/stop
> mysql-stop
> server/bin/deploy
> mv wordhoardserver.jar server/lib
> mysql-start
> server/bin/start

Deploy the client jar file:


> mv wordhoard.jar /w3/wordhoard/client

Deploy the user manual:


> mv *.zip /w3/wordhoard
> cd /w3/wordhoard
> unzip userman.zip
> rm userman.zip
> mv javadoc.zip userman
> mv other-files.zip userman
> mv wordhoard.zip userman/data-files
> mv data.zip userman/data-files
> cd userman
> unzip javadoc.zip
> unzip other-files.zip
> rm *.zip

Step 4 - Deploy on Noir

Deploy the databases and server jar files.


> ssh wordhoard@noir.at.northwestern.edu
Password:
> ncf-server/bin/stop
> emd-server/bin/stop
> mysql-stop
> sudo su
Password:
# ncf-server/bin/deploy
# cp wordhoardserver.jar ncf-server/lib
# emd-server/bin/deploy
# mv wordhoardserver.jar emd-server/lib
# <ctrl>d
% mysql-start
% ncf-server/bin/start
% emd-server/bin/start

< 

Table of Contents