Setting up a Red Hat 7.3 LON-CAPA Server

Integrated installation

These instructions combine the installation of RedHat 7.3 and LON-CAPA into one straightforward process. More information is available at http://install.lon-capa.org/.

Before you begin

Installing Linux is getting easier and easier. However, it is still a non-trivial undertaking and experience with Red Hat Linux will make this process easier. You will be required to log in to the machine and execute some routine Unix commands. Some familiarity with Linux is assumed.

Installation Overview

The installation process takes the following steps:

  1. Obtain Red Hat 7.3
  2. Gather information for installing Red Hat
  3. Install Red Hat 7.3
  4. Determine your LON-CAPA Settings
  5. Install LON-CAPA
  6. Configure LON-CAPA
  7. Pick a hosts.tab file
  8. Create a Domain Coordinator
  9. Start/Restart services
  10. Log in to LON-CAPA

Obtain the Red Hat 7.3 installation CDs

These are freely available on the internet.

Determine Network settings for your site

You will need to have the following information for your site. You must have a static IP address (do not use DHCP).

Install Red Hat 7.3

When you install RedHat you will need to ensure the following (the list below is in the order the issues appear in the installation of Red Hat 7.3):

Installation Type
You should definitely do a "Server" install. We do not recommend Trying to install LON-CAPA with a different installation type.
Partitioning your Drive
You may want to use the automatic partitioning feature of Red Hat, however you should review the results and be prepared to modify them. LON-CAPA resource files are stored in the /home directory, so the lion's share of the drive should be allocated here. If you have 20 GB of space for Red Hat, /home should receive at least 10 to 12 gigs. Since MySQL uses the /var filesystem to store its databases you should have at least 4 gigs of space available on /var. Be sure to include adequate swap space. A minimum is 512 Megs, but you should typically have 1 or 2x as much swap space as you do physical RAM.
Network Configuration
LON-CAPA will not work with a machine set up to use a dynamic IP address. When configuring your network card, be sure to unselect the DHCP option and enter in your network information.
Firewall Configuration
The installation script will create a firewall for the install, blocking all unnecessary port for LON-CAPA. Note that you may need to tweak the firewall installation if you have other network services the machine needs to provide, such as Kerberos authentication.
Package Group Selection
At a minimum, install the following packages: Other packages can be installed as you like.
X Windows Configuration
If you chose to install the X-windows packages you will need to configure them. If you are unsure of the support for your video card you may wish to skip the configuration.

Other notes:

Determine LON-CAPA settings

LON-CAPA requires a number of identifying parameters be set in order for it to function at all. Below is a list with descriptions.

Host Type (library or access)
The server must be designated a 'library' or an 'access' server. In general you should have a library server for your instructors to create their course content on and run their courses. Students should connect to access servers. If you are doing the first install of LON-CAPA at your site, or if you are playing with it for your own edification, you should make your machine a 'library' server.
LON-CAPA domain
Each site or school which installs LON-CAPA needs its own domain. Here at MSU we use 'msu'. You should choose something short but meaningful. Restriction: One word, no hyphens, underscores, or special characters
LON-CAPA host id
Each LON-CAPA server requires a unique internal name. We use names such as "msul1" for the first library server. Restriction: One word, no hyphens, underscores, or special characters
Host administrator email
The amount of email sent to this address is relatively minimal. Messages are sent every time the system starts up, or if the system is in serious trouble. On a laptop, make this root@localhost.
Root password for SQL database
In order to keep people from corrupting the MYSQL database, a root password is needed. You'll need to remember this.

Install LON-CAPA

Log in as root with the password you provided during the Red Hat installation process.

Stop the http daemon while we're installing LON-CAPA. (If you're on a fresh install, it is probably not running.)

/etc/init.d/httpd stop

Retrieve the LON-CAPA installation package

wget http://install.loncapa.org/versions/rh73install/loncapa-rh73install.tar
tar xf loncapa-rh73install.tar
cd install
./install.pl

Configure LON-CAPA

Execute the following commands

cd /root/loncapa-N.N     (N.N should correspond to a version number like '1.2')
./UPDATE

You will need to enter the LON-CAPA configuration information you requested above.

Update your system

It is very important that you update your LON-CAPA system to use the latest RedHat packages. LON-CAPA uses CHECKRPMS to notify users their system needs updating.

/usr/local/loncapa/bin/CHECKRPMS
CHECKRPMS will give you the option of downloading the updates you need. Say yes. Then issue the following commands:
cd /tmp/loncapa_rpm_updates
rpm -Uvh *

You will need to reboot your system to begin running the new Linux Kernel put out by RedHat. You can wait until the end of the LON-CAPA installation process to reboot.

Congratulate yourself - your system is up to date. Please do your best to keep it that way! When LON-CAPA is installed it sets itself up to run the CHECKRPMS script every night and email you the results. Please do not ignore these emails. You will need to update the RPMs yourself when it notifies you. Keeping your system up-to-date goes a long way towards ensuring the integrity of your student records.

Picking a hosts.tab file

The "hosts.tab" file controls which LON-CAPA servers your server attempts to access and which servers it will respond to. If this is your first install of LON-CAPA on your network, we suggest choosing a 'standalone' "hosts.tab". On a laptop, you must choose 'standalone'. Please contact the support staff at www.loncapa.org for information about adding more hosts to your "hosts.tab" file.

Note: for non-standalone configurations, you do need to add yourself to the /home/httpd/lonTabs/hosts.tab to initially test your configuration. Eventually, you will be added to the general cluster tables by LON-CAPA staff, so this is temporary. A hosts.tab entry has the format

lonHostID:domain:hosttype:dns-name:ipaddress

for example

103l5:library:s17.lite.msu.edu:35.8.63.27

Please edit this file with a UNIX editor, not a PC or Mac one, so that the linebreaks are correct.

Creating a Domain Coordinator

You will need at least one user at your site who has the role of 'domain coordinator'. This user creates accounts for other users and grants them additional privileges. The make_domain_coordinator.pl script invoked below requires that you enter the users password. The password will show in plaintext as you type it. Feel free to use the "passwd username" command to change it later. Replace USERNAME and DOMAIN with an appropriate user name and your domain.

cd /root/loncapa-N.N/loncom/build
perl make_domain_coordinator.pl USERNAME DOMAIN
(WILL PROMPT FOR PASSWORD HERE)
mkdir ~USERNAME/public_html
chown USERNAME:www ~USERNAME/public_html
chmod 0775 ~USERNAME/public_html
chmod a+x ~USERNAME

Start/Restart Services

The LON-CAPA network services take about a minute to start.

/etc/init.d/loncontrol start
/etc/init.d/httpd restart

Make Sure that Services Autostart on Boot

On Redhat 7.3 it is not guaranteed that Apache and MySQL automatically restart on boot. You should run /usr/sbin/ntsysv and set the following daemons to be started at boot:

httpd
mysqld

It is not necessary to reboot after doing this as they should already be running by this point in the installation.

/etc/init.d/httpd restart
/etc/init.d/mysqld restart

Log in to your LON-CAPA Machine

Point a web browser at your new machine and log in as the domain coordinator. Congratulations!