Installing WeBWorK from Live DVD
These instructions cover the installation of the Ubuntu Linux 8.04 operating system and WeBWorK 2.4 using the WeBWorK live DVD
Contents
Installing WeBWorK from the WeBWorK Live DVD
Overview
After installing from the WeBWorK Live DVD which only requires a few steps, you will have a full fledged Ubuntu 8.04 system with WeBWorK, Apache2, lighttpd, 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 ubuntu
(which has sudo privileges) and also for the WeBWorK users admin
and ubuntu
which have professor privileges (see below).
If you try this, I would appreciate any comments, suggestions, bug reports, etc.
There are more detailed instructions for Ubuntu 8.04 and WeBWorK 2.4 at Installation_Manual_for_2.4_on_Ubuntu_8.04
Download the iso image
- Go to http://hosted3.webwork.rochester.edu/test/WW2.4_Ubuntu8.04_LiveDVD.iso and download
WW2.4_Ubuntu8.04_LiveDVD.iso
(it is a 916 MB file). - http://hosted3.webwork.rochester.edu/test/WW2.4_Ubuntu8.04_LiveDVD.iso.md5 gives
5565f186e1f66b11c036d0c398dba1a0 WW2.4_Ubuntu8.04_LiveDVD.iso
- Verify the MD5 checksum of your downloaded file and then burn it to a DVD (the file is too large to be burned to a CD).
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 WeBWorK_DVD
, the third option, and then hit <Enter>
. After the system loads you will be presented with a series of 7 steps. .
- On the first install panel hit
Forward
to proceed with English as the selected language - Select a city in your time zone and hit
Forward
- Hit
Forward
to accept the default keyboard layout - 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_8.04 which gives more information on this - 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
Ubuntu
for "What is your name?" - Enter
ubuntu
for "What name do you want to use to log in?" - Enter
admin
twice for the password - Enter
WeBWorK-DVD
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
- Enter
- On the
Migrate Documents and Settings
page just hitForward
to continue without importing anything - Finally hit
Forward
on the Ready to install page to begin the installation. TheAdvanced...
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 (especially around 94%) can take a long time. Please be patient. When your finally see "Installation complete" hit Restart now
.
Boot your server
- Remove the WeBWorK Live DVD and press
<Enter>
to continue - Hit
<Enter>
to select the default boot option or just wait for it to boot - Log in as "ubuntu" with the password "admin" (more on accounts and passwords below). "ubuntu" has sudo privileges. The "root" account also has password "admin" but you can not log into as "root" on the log in page (you can
su
to "root" in a terminal window). - You can open Firefox and access the URL: http://localhost/webwork2 . The admin course has two users "admin" and "fedora" as professors with passwords "admin" and "admin". myTestCourse has the same two users as professors and in addition practice (guest) users and one student user "jsmith" with password "jsmith". With the exception of jsmith, every password on the system is set to "admin"
- 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.
- Look through the instructions in Installation_Manual_for_2.4_on_Ubuntu_8.04 for testing WeBWorK. Note that all the installation steps have already been done for you except as noted below.
Tweak the System
The following system tweak is needed. In a terminal window do the following
$ cd /var/wwdata sudo chown -R www-data wwtmp [sudo] password for ubuntu: admin $
Note that Apache2 (which runs as www-data
) needs to be able to write to subdirectories of wwtmp
. But somehow the subdirectories did not inherit ownership by www-data
. This will be fixed in a revised version of the DVD.
Passwords
It is imperative that you CHANGE THE PASSWORDS for the OS users root and ubuntu (which has sudo privileges) and also for the WeBWorK users admin and ubuntu 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: admin # 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 ubuntu.
$ passwd Changing passwd for ubuntu: (current) UNIX password: admin Enter new UNIX password:<new ubuntu password>
Retype new UNIX password:<new ubuntu password>
passwd: password update successfully $
And as we said above Do not forget the <new ubuntu password>
that you just entered.
To change the passwords for the WeBWorK users admin and ubuntu, 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.
- Select
System
,Administration
,Network
- Click on
Unlock
- Enter
<ubuntu password>
and clickAuthenticate
- Select
Wired connection
and clickProperties
. UncheckEnable roaming mode
and then forConfiguration
selectStatic IP address
. Then fill in the required information and clickOK
- Select
General
and enteryour_server_name
andyour_domain_name
, something likedepartment.school.edu
. - Next select
DNS
and add the IP address(es) of your DNS server(s) - Finally select
Hosts
- Click
Add
and enter your server's IP address if it's not there already - Under Aliases enter your server's fully qualified domain name, something like
your_server_name.department.school.edu
. Then clickOK
- Select the entry
127.0.0.1
and clickProperties
- Under Aliases make sure you have the following entries in order
- first your server's fully qualified domain name, something like
your_server_name.department.school.edu
- second your server's name, something like
your_server_name
- third
localhost
- first your server's fully qualified domain name, something like
- Select the entry
127.0.1.1
and clickProperties
. UnderAliases
replaceWeBWorK-DVD
by your server's fully qualified domain name, something likeyour_server_name.department.school.edu
- Then click
OK
- And click
Close
to closeNetwork 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.
Now restart Apache
$su <root password> # apache2ctl graceful # exit $
and 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
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";
- 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.
Then save the file and Quit.
File and Directory Locations
This installation of WeBWorK and Ubuntu closely follows the instructions given in Installation_Manual_for_2.4_on_Ubuntu_8.04 implementing Optional A but not B or C.
However the actual locations of certain files and directories has been modified. These are explained here. Many (almost all) of the files and directories that WeBWorK writes to have been placed under the /var/wwdata/
directory
ubuntu@WeBWorK-DVD:/var/wwdata$ ls -l total 60 drwxrwsr-x 5 root wwdata 4096 2008-07-28 14:44 courses -rw-r--r-- 1 root root 140 2008-07-26 13:29 file_system_not_mounted -rw-r--r-- 1 root root 39758 2008-07-25 11:26 global.conf drwxrwsr-x 3 root wwdata 4096 2008-07-24 20:23 logs drwxr-xr-x 3 mysql mysql 4096 2008-07-28 13:46 mysqldata drwxrwsr-x 4 root wwdata 4096 2008-07-28 14:44 wwtmp
This was done to make it easier to run WeBWorK directly from the WeBWorK Live DVD. Here is how these are related to the standard locations for these files and directories
- There is a symlink (
/opt/webwork/courses
) pointing to/var/wwdata/courses
file_system_not_mounted
is a file your can ignore- There is a symlink (
/opt/webwork/webwork2/conf/glocal.conf
) pointing to/var/wwdata/glocal.conf
- There is a symlink (
/opt/webwork/webwork2/logs
) pointing to/var/wwdata/logs
/etc/mysql/my.cnf
and/etc/apparmor.d/usr.sbin.mysqld
have both been edited to set mysql's database directory (datadir
) to/var/wwdata/mysqldata/mysql
. The original files are saved with a.org
extension- Optional A has been implemented and there is a symlink (
//var/www/wwtmp
) pointing to/var/wwdata/wwtmp