Installing from WW2.4.9 Ubuntu10.04.2LTS Vanilla LiveDVD

From WeBWorK_wiki
Jump to navigation Jump to search

These instructions cover the installation of the Ubuntu Linux 10.04.2LTS operating system and WeBWorK 2.4.9 using the WeBWorK Live DVD.

There are two installation DVD's, one for 64 bit systems and one for older 32 bit systems. They are essentially identical.

This "vanilla" version of the server should work find for smaller installations (say a 1000 users or less). There will be a "production" version that adds things like lighttpd, log rotations, etc that are useful for larger installations and/or slower servers. Note that you can always start with the vanilla version and make additions or changes after setting up your server.

Installing from WW2.4.9 Ubuntu10.04.2LTS Vanilla LiveDVD

Overview

After installing from the WeBWorK Live DVD which only requires a few steps, you will have a full fledged Ubuntu 10.04.2LTS system with WeBWorK, Apache2, MySQL, etc. installed and configured. If your network uses DHCP, networking will be automatically configured for your system. If it uses static IP addresses, you will have to configure networking (see below). Also it is imperative that you CHANGE THE PASSWORDS for the OS users root and wwadmin (which has sudo privileges), for the MySQL users root and webworkWrite, and for the WeBWorK user admin which has professor privileges (see below).

There are more detailed instructions for Ubuntu 10.04 and WeBWorK 2.4 at Installation_Manual_for_2.4_on_Ubuntu_10.04

Download the iso image

Download the md5 check sum and .iso file from either of the sites below. Download WW2.4.9_Ubuntu10.04.2LTS_64bit_Vanilla_LiveDVD.iso.md5 and WW2.4.9_Ubuntu10.04.2LTS_64bit_Vanilla_LiveDVD.iso (or WW2.4.9_Ubuntu10.04.2LTS_32bit_Vanilla_LiveDVD.iso.md5 and WW2.4.9_Ubuntu10.04.2LTS_32bit_Vanilla_LiveDVD.iso (the iso's are 1.2 GB files)

  • Rochester
  1. http://hosted2.webwork.rochester.edu/ww-downloads/WW2.4.9_Ubuntu10.04.2LTS_64bit_Vanilla_LiveDVD.iso.md5
  2. http://hosted2.webwork.rochester.edu/ww-downloads/WW2.4.9_Ubuntu10.04.2LTS_64bit_Vanilla_LiveDVD.iso

or for 32 bit systems

  1. http://hosted2.webwork.rochester.edu/ww-downloads/WW2.4.9_Ubuntu10.04.2LTS_32bit_Vanilla_LiveDVD.iso.md5 *
  2. http://hosted2.webwork.rochester.edu/ww-downloads/WW2.4.9_Ubuntu10.04.2LTS_32bit_Vanilla_LiveDVD.iso *
  • MAA
  1. http://webwork.maa.org/ww-downloads/WW2.4.9_Ubuntu10.04.2LTS_64bit_Vanilla_LiveDVD.iso.md5 *
  2. http://webwork.maa.org/ww-downloads/WW2.4.9_Ubuntu10.04.2LTS_64bit_Vanilla_LiveDVD.iso *

or for 32 bit systems

  1. http://webwork.maa.org/ww-downloads/WW2.4.9_Ubuntu10.04.2LTS_32bit_Vanilla_LiveDVD.iso.md5 *
  2. http://webwork.maa.org/ww-downloads/WW2.4.9_Ubuntu10.04.2LTS_32bit_Vanilla_LiveDVD.iso *

* The files do not exist at these locations yet


  • Verify the MD5 checksum of your downloaded file agrees with the above and then burn it to a DVD (the file is too large to be burned to a CD)

Running directly from the Live DVD without installing

You can run WeBWorK directly from the Live DVD without installing anything on your computer.

Place the installation DVD in your DVD/CD drive and reboot your computer from the DVD drive. You may have to press <F12> during the boot process to bring up a boot menu which will allow you to select booting from the DVD. Or you many have to edit the BIOS to select the DVD as the first boot device.

  1. Just hit <Enter> for the first live boot option
  2. Log in as "wwadmin" with the password "wwadmin"
  3. Open Firefox and access the URL: http://localhost/webwork2 . The admin course has the user "admin" as professor with password "admin". myTestCourse has the same user as professor and in addition practice (guest) users and one student user "jsmith" with password "jsmith". With the exception of jsmith and admin, every password on the system is set to "wwadmin". Note that the admin course is "hidden", i.e. a link to it is not displayed. To access it use the URL: http://localhost/webwork2/admin .
  4. Look through the instructions in Installation_Manual_for_2.4_on_Ubuntu_10.04 for testing WeBWorK. Note that all the installation steps have already been done for you except as noted below
  5. If you are running directly from the Live DVD, you probably do not want to log in remotely to your server but if you do, follow the instructions in the "Install openssh-server" section below.
  6. If you run directly from the Live DVD, you will see the pop up error message: 'Sorry, the program "gvfsd-metadata" closed unexpectedly'. This is a known bug (see e.g. http://ubuntuforums.org/showthread.php?t=1403357). You can ignore it or you can just remove the offending file rm -rf ~/.local/share/gvfs-metadata and a correct version will be recreated automatically.

Install WeBWorK from the WeBWorK Live DVD

Place the installation DVD in your DVD/CD drive and reboot your computer from the DVD drive. You may have to press <F12> during the boot process to bring up a boot menu which will allow you to select booting from the DVD. Or you many have to edit the BIOS to select the DVD as the first boot device.

First select install, the third option, and then hit <Enter>. After the system loads you will be presented with a series of 7 steps. .

  1. On the first install panel hit Forward to proceed with English as the selected language
  2. Select a city in your time zone and hit Forward
  3. Hit Forward to accept the default keyboard layout
  4. Next comes the Partition disks pages. You should be able to accept the defaults unless you want separate partitions for various directories. You might want to look at the Partition disks section in Installation_Manual_for_2.4_on_Ubuntu_10.04 which gives more information on this
  5. The next panel asks "Who are you?". We will fill in this information but actually it will not be used. The real information is contained in the WeBWorK Live DVD. We will just repeat it here so you don't get confused
    • Enter wwadmin for "What is your name?"
    • Enter wwadmin for "What name do you want to use to log in?"
    • Enter wwadmin twice for the password
    • Enter wwserver for the name of the computer
    • You can change all of these things after the installation takes place. Especially you should change the password
    • Then hit Forward to continue
  6. If the Migrate Documents and Settings page appears just hit Forward to continue without importing anything
  7. Finally hit Install on the Ready to install page to begin the installation. The Advanced... button on this page gives you options on installing the boot loader but you almost certainly want to use the defaults

Now sit back and relax while the installation takes place. Some of the steps can take a long time. Please be patient. When you finally see "Installation complete" hit Restart now.

Boot your server

  1. The installation WeBWorK Live DV will eject. Remove it and press <Enter> to continue
  2. Hit <Enter> to select the default boot option or just wait for it to boot
  3. Log in as "wwadmin" with the password "wwadmin" (more on accounts and passwords below). "wwadmin" has sudo privileges. The "root" account also has password "wwadmin" but you can not log in as "root" on the log in page (you can su to "root" in a terminal window).
  4. You can open Firefox and access the URL: http://localhost/webwork2 . The admin course has the user "admin" as professor with password "admin". myTestCourse has the same user as professor and in addition practice (guest) users and one student user "jsmith" with password "jsmith". With the exception of jsmith and admin, every password on the system is set to "wwadmin". Note that the admin course is "hidden", i.e. a link to it is not displayed. To access it use the URL: http://localhost/webwork2/admin .
  5. If your network uses DHCP, networking will be automatically configured for your system and you should be able to access the web with Firefox. If not, see below.
  6. Look through the instructions in Installation_Manual_for_2.4_on_Ubuntu_10.04 for testing WeBWorK. Note that all the installation steps have already been done for you except as noted below.

Install openssh-server

We need to install the openssh-server so that you can ssh into your server from remote locations.

  1. Select System, Administration and then Synaptic Package Manager. You will have to enter the <your password>. The Synaptic Package Manager window will open
  2. Click on Reload to bring the package information up to date

Now we will install the openssh-server.

  1. Select Search
  2. Under Look in: select Name. The default Description and Name sometimes returns too many possibilities
  3. Enter openssh-server and click on Search
  4. Select and Mark for Installation (by double clicking or checking and then selecting Mark for Installation) openssh-server
  5. Click on Apply
  6. You will see a pop up window Apply the following changes? and then click Apply
  7. Click Close and then quit the Synaptic Package Manager

Passwords

It is imperative that you CHANGE THE PASSWORDS for the OS users root and wwadmin (which has sudo privileges) and also for the WeBWorK user admin which have professor privileges both in the admin course and in the myTestCourse. Otherwise anyone can connect to your server and pretty easily gain root access.

To change the root password open a terminal window by clicking Applications, Accessories and then Terminal. Enter

$ su
Password: wwadmin
# passwd
Enter new UNIX password: <new root password> 
Retype new UNIX password: <new root password>
passwd: password update successfully
# exit
$ 

Do not forget the <new root password> that you just entered. Now change the password for wwadmin.

$ passwd
Changing passwd for wwadmin:
(current) UNIX password: wwadmin
Enter new UNIX password: <new wwadmin password> 
Retype new UNIX password: <new wwadmin password>
passwd: password update successfully
$ 

And as we said above Do not forget the <new wwadmin password> that you just entered.

Now we change the passwords for the MySQL users root and webworkWrite. First we edit global.conf.

$ su
Password: <root password>
# cd /opt/webwork/webwork2/conf
# gedit global.conf

Search for $database_password = "wwadmin"; and replace this by
$database_password = "database_password"; where of course you should replace 'database_password' with your own password. We refer to this password as <database_password>. Remember it as we will need it shortly. Then save the file and Quit.

Then restart Apache so the changes take effect.

# apache2ctl graceful
# exit
$

and start MySQL

$ mysql -u root -p 
Enter Password: wwadmin
mysql> SELECT Host, User, Password FROM mysql.user;

You will see a table with five entries. For localhost you will see three Users, root, debian-sys-maint and webworkWrite. You will also see the Hosts WeBWorK-LiveDVD and 127.0.0.1 both with the root User.


Now we will change the password for the webworkWrite User

mysql> UPDATE mysql.user SET password=PASSWORD('<database_password>') WHERE host='localhost' and user='webworkWrite';

where of course you should replace <database_password> by whatever you used above.

Now we will change the passwords for the three root Users. In all commands replace newpwd with your choosen MySQL root password. As was said above, Do not forget what you enter here. Also remember that this is the password for the MySQL root user, not the Ubuntu linux system root user. Below we refer to this as <mysql root password>


mysql> UPDATE mysql.user SET password=PASSWORD('newpwd') WHERE host='localhost' and user='root';
mysql> UPDATE mysql.user SET password=PASSWORD('newpwd') WHERE host='127.0.0.1' and user='root';
mysql> UPDATE mysql.user SET password=PASSWORD('newpwd') WHERE host='WeBWorK-LiveDVD' and user='root';
mysql> FLUSH PRIVILEGES;

Now use your up arrow key to run the command

mysql> SELECT Host, User, Password FROM mysql.user;

and you should see that all three users now have new passwords (which will be displayed in encrypted form).

Then exit MySQL

mysql> exit
Bye
$


and test that all is well:

$ sudo /etc/init.d/mysql restart
password:<your password>
$ mysql -u root -p 
Enter Password: <mysql root password>

You should see

Welcome to the MySQL monitor ...
mysql>


To change the passwords for the WeBWorK user admin, log into the WeBWorK courses admin (http://localhost/webwork2/admin) and myTestCourse (http://localhost/webwork2/myTestCourse) and change the passwords from admin to something more secure.

Setting up networking using a static IP address

The server is set to accept only www (http) and secure telnet and file transfer (ssh) connections. Here we give directions for setting up an ethernet connection if you are using a static IP address. If your network is set up using DHCP you can skip this section.

  1. Select System, Preferences, Network Connections
  2. Select Auto etho and click Edit...
  3. Enter <wwadmin password> and click Authenticate
  4. Select IPv4 Settings
  5. Next to Method: and scroll down and select Manual.
  6. Click Add and then enter your servers IP address, Netmask (usually 255.255.255.0 but possibly 255.255.0.0) and Gateway address (often the same as the IP address with the last number replaced by 1). Important: After entering a number hit the <Enter> key so that the change is recorded.
  7. Next enter the IP address(es) of your DNS server(s)separated by spaces. You need to enter at least one DNS server
  8. Finally enter the search domain Hosts

Now we have to set your server's hostname (which is currently set to WeBWorK-LiveDVD) and its fully qualified domain name. Note that if your network was set up automatically via DHCP, your server's fully qualified domain name should already be set up. You can check by running the hostname commands below.


  1. Select System, Administration, Network
  2. Click on Unlock
  3. Enter <your password> and click Authenticate
  4. Click on General
  5. Under Host name change WeBWorK-LiveDVD to your_server_name
  6. Then under Domain name enter your server's domain name, something like department.school.edu

Next

  1. Click on Hosts
  2. Click Add and enter your server's IP address
  3. Under Aliases enter your server's fully qualified domain name, something like your_server_name.department.school.edu
  4. Then click OK
  5. Next select the entry 127.0.1.1. We want to edit this but with 9.04 clicking Properties closes the window. In order to edit an entry I first had to delete it and then add it back as a new entry.
  6. Click Delete
  7. Click Add and enter the IP address 127.0.1.1
  8. Under Aliases enter your server's fully qualified domain name, something like your_server_name.department.school.edu
  9. Then click OK
  10. Finally we edit the entry for 127.0.0.1
  11. Select the entry 127.0.0.1 and click Delete
  12. Click Add and enter the IP address 127.0.0.1
  13. Under Aliases make sure to enter the following entries in order
    1. first your server's fully qualified domain name, something like your_server_name.department.school.edu
    2. second your server's name, something like your_server_name
    3. third localhost
  14. Then click OK
  15. And click Close to close Network settings


You can check these settings by running the commands

$ hostname --fqdn

and

$ hostname

The first should respond with the fully qualified domain name and the second with just your_server_name.


Note that if your server can not find its fully qualified domain name, certain tools (such as the Synaptic Package Manager) will not start.

Finally add your_server_name.department.school.edu to Apache's config file

$ cd /etc/apache2
$ sudo gedit apache2.conf
Password: <your password>

After the last line of the file add the new line

ServerName "your_server_name.department.school.edu"

Use the quotes. Then save the file and quit.


For some of these changes to take effect you have to restart your server. So restart the server and then test your server by connecting to "http://localhost/" and/or connecting to your server from a browser on a remote machine. You should see the page It works! indicating that Apache is running.

You can check Apache's status by connecting to "http://localhost/server-status" using a browser on your machine.

Further test Apache by connecting to "http://localhost/server-info" using a browser on your machine and you will see a page listing various information about Apache. In particular under Server Settings you should see

Server Version: Apache/2.2.8 (Ubuntu) mod_apreq2-20051231/2.6.0 mod_perl/2.0.3 Perl/v5.8.8

Finally you can find out what ip address your server is using by running the command ifconfig in a terminal window and then in the eth0 section looking at inet addr:

Global Configuration

Most WeBWorK configuration is done in the file /opt/webwork2/conf/global.conf. This file provides system-wide configuration settings, and defaults for course settings. Any setting in this file can be overridden in the course.conf file for a particular course. To override a setting for a course, just put the new setting (using the same syntax as is in global.conf) in the course.conf file.

There are several options that must be set for WeBWorK to work with your system. The rest of the file consists of customization options. Now edit global.conf

$su
<root password>
# cd /opt/webwork/webwork2/conf
# gedit global.conf

WeBWorK uses the DateTime module. DateTime is supposed to be able to determine the local timezone itself without you having to enter it but this often fails so it is best to just set it here. For is a list of timezones recognized by DateTime go to http://search.cpan.org/dist/DateTime-TimeZone/ . These timezones are more refined than standard timezone usage in that they include switches to daylight savings time (e.g. some parts of a time zone may make the switch and others may not). For example if your server is in the eastern US, on the list you will see DateTime::TimeZone::America::New_York and you should replace $siteDefaults{timezone} = ""; by $siteDefaults{timezone} = "America/New_York";

  1. Search for $siteDefaults{timezone} = "America/New_York"; and enter your local timezone if it's different.

WeBWorK sends mail in three instances. The PG system sends mail to report answers to questionnaires and free-response problems. The mail merge module is used to send mail to course participants, i.e. to report scores. The feedback module allows participants to send mail to course instructors.

To send mail, WeBWorK needs the address of an SMTP server. Normally you will use the address of your school's SMTP server. If the local machine is running an SMTP server, use localhost. IMPORTANT: Our instructions above did not install an SMTP server so you will have to install and configue one if you do not use your school's SMTP server. When connecting to the SMTP server, WeBWorK must also send an email address representing the sender of the email (this has nothing to do with the From address on the mail message). Edit the lines

$mail{smtpServer}            = 'mail.yourschool.edu'; 
$mail{smtpSender}            = 'webwork@yourserver.yourschool.edu';

entering the appropriate information.

If you want WeBWorK questionnaires or similar things from different courses to be mailed to a central person or persons (e.g. the WeBWorK administrator), edit the lines

$mail{allowedRecipients}     = [
   #'prof1@yourserver.yourdomain.edu',
   #'prof2@yourserver.yourdomain.edu',
];

appropriately removing the # and using the professor(s) actual email address(es). In order to have professors from individual courses receive such email, this should be set in course.conf to the addresses of professors of each course.


Now save the file and Quit.

File and Directory Locations and System Information

This installation of WeBWorK and Ubuntu follows the instructions given in Installation_Manual_for_2.4_on_Ubuntu_10.04. You can look there to find the locations of the WeBWorK files. None of the options Optional A, B or C are implemented. You can implement these if you choose (you should at least look at them to see what they do). All system files are in their standard Ubuntu locations. The Ubuntu installation is identical to that obtained from the Ubuntu 10.04 desktop LiveDVD distribution with no updates included. When you see the update manager pop up (it will), you should install the recommended updates (or you can install them by System, Administration, Update Manager).