ArsDigita Server Architecture Setup Instructions

by Tracy Adams and Greg Haverkamp, a companion to ArsDigita Server Architecture
This document describes the installation procedures for a server conforming to the ArsDigita Server Architecture.

Prerequisites

This document assumes you have a server preconfigured with the following:

Checklist for a properly installed ArsDigita Server Architecture

Installation steps

All ArsDigita services are given a unique name. Throughout the rest of this document, we will be using service_name as the name of the service. You will want to replace instances of service_name with the real name of the service you're creating.
  1. Decide on the physical machine for your web service. Your team leader should know this.
  2. Setup a system account for your use when working on the system.

    This requires root access to the machine. One team member should be in charge of root commands.

  3. Prepare Oracle for ACS
  4. Set up nightly Oracle exports

  5. Set up the Arsdigita Community System on your virtual server
  6. Set up Keepalive.

    Keepalive is a virtual server located on the same physical machine as your service. It watches your service, notifies you of problems, and restarts it should it go down. All the services on the same machine share the same keepalive.

    If keepalive does not exist on your machine, you will have to install another virtual server on your machine.

    Once the Keepalive service is running, you need to test it:

  7. Sign up for Uptime
    If the machine on which your service runs is down, the keepalive service on your machine will be down as well. Uptime resides on a separate server and sends alerts when your server can not be reached. You should use the forms at Uptime to register alerts for the URL http://service_domain/SYSTEM/uptime.txt. You'll want alerts to be sent to the following: You should break your montoring page to make sure Uptime sends an alert. Then return the page to normal.
  8. Set up Glassroom to maintain the information required to run the service and the ticket tracker.

    The Glassroom for the service will be on a separate machine and has a domain staff.service_name domain. The ticket tracker and glassroom modules should be run on this server. Glassroom is built on top of an ACS installation.

  9. Put the domain name for the main and staff servers in the nameservers. One team member should be in charge of nameserver updates.
  10. Set up Watchdog to monitor your logs for errors.

    Watchdog is virtual server located on the same machine as your service. It watches your log files and will notify you of tcl errors.

    If watchdog does not exist on your machine, you will have to install another virtual server on your machine:

    If Watchdog is installed on your machine, add your service:

  11. Set up Reporte to generate server log reports.
  12. Set up Rollover, which will keep the size of the error logs under control.
  13. Set up Cassandrix to montor the Unix machine the server sits on. Rolf insists this will be done shortly.
  14. Set up Cassandracle to monitor the Oracle tranactions your website performs. http://arsdigita.com/free-tools/cassandracle.html
  15. Set up ArsDigita MTA monitor - this email monitor. Branimir is working on this.
  16. Development server

Installing a virtual server

  1. Create /home/nsadmin/service_name.ini owned by nsadmin. Template ini files are listed in the above directions. Make the following substitutions as appropriate:
  2. Prepare the servers/service_name. This directory and all the files must be owned by nsadmin. You can do this via one of the folowing methods:
Note: If you start with the template, the nsadmin password for the service will be blank and you will have to aquire cert.pem and key.pem from another location.
  • Install your service in /web/service_name
  • Execute /home/nsadmin/bin/nsd-oracle -c /home/nsadmin/servername.ini to test out your server setup. View your error log to make sure the service is starting without any problems. Attempt to connect to the service from a web browser.
  • Log into the /NS/Admin pages. Assign an nsadmin password if it is blank.
  • Ensure that your service automatically starts on boot (or any other time the service dies):

    This requires root and deals with sensitive files that can break every service on the machine. One member from a team should be in charge of this step.


    gregh@arsdigita.com
    teadams@mit.edu