Difference between revisions of "Installing from WW2.7 Ubuntu12.04 Vanilla Virtual Machine Image"

From WeBWorK_wiki
Jump to navigation Jump to search
(Created page with "<!-- {{UnderConstruction}} --> These instructions cover the installation of the Ubuntu Linux 12.04.2LTS 64 bit operating system and WeBWorK 2.7 using the WeBWorK Live DVD. ...")
 
Line 1: Line 1:
 
<!-- {{UnderConstruction}} -->
 
<!-- {{UnderConstruction}} -->
   
These instructions cover the installation of the Ubuntu Linux 12.04.2LTS 64 bit operating system and WeBWorK 2.7 using the WeBWorK Live DVD.
+
These instructions cover the installation of the Ubuntu Linux 12.04.2LTS 64 bit operating system and WeBWorK 2.7 using the WeBWorK Virtual Machine Image.
   
  +
The WeBWorK Virtual Machine Image is an <code>.ova</code> file which is an "open, secure, portable, efficient and extensible format for the packaging and distribution of software to be run in virtual machines" (see http://en.wikipedia.org/wiki/Open_Virtualization_Format) and is supported by VMware, VirtualBox, etc. This image file has been tested on VMware Player 5 and VirtualBox 4.
   
This "vanilla" version of the server should work fine for smaller installations (say a 1000 users or less). There will be a "production" version that adds things like lighttpd,
+
This "vanilla" version of the server should work fine 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.
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.7 Ubuntu12.04 Vanilla LiveDVD ==
+
== Installing from WW2.7 Ubuntu12.04 Vanilla Virtual Machine Image ==
   
 
===Overview===
 
===Overview===
After installing from the WeBWorK Live DVD which only requires a few steps, you will have a full fledged Ubuntu 12.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 <code>root</code> and <code>wwadmin</code> (which has sudo privileges), for the MySQL users <code>root</code> and <code>webworkWrite</code>, and for the WeBWorK user <code>admin</code> which has professor privileges (see below).
+
After installing from the WeBWorK Virtual Machine Image, you will have a full fledged Ubuntu 12.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. Also it is imperative that you CHANGE THE PASSWORDS for the OS users <code>root</code> and <code>wwadmin</code> (which has sudo privileges), for the MySQL users <code>root</code> and <code>webworkWrite</code>, and for the WeBWorK user <code>admin</code> which has professor privileges (see below).
   
 
There are more detailed instructions for Ubuntu 12.04 and WeBWorK 2.7 at
 
There are more detailed instructions for Ubuntu 12.04 and WeBWorK 2.7 at
 
[[Installation_Manual_for_2.7_on_Ubuntu_12.04]]
 
[[Installation_Manual_for_2.7_on_Ubuntu_12.04]]
   
===Download the iso image===
+
===Download the ova image===
   
There is only a 64 bit distribution. The 64 bit distribution should work with most modern cpu's. Download the md5 check sum and .iso file from either of the sites below. Download <code>WW2.7_Ubuntu12.04_Vanilla_LiveDVD.iso.md5</code> and <code>WW2.7_Ubuntu12.04_Vanilla_LiveDVD.iso</code> . The iso is a 1.4 GB file.
+
There is only a 64 bit distribution. The 64 bit distribution should work with most modern cpu's. Download the md5 check sum and .ova file from either of the sites below. Download <code>WW2.7_Ubuntu12.04_Vanilla.ova.md5</code> and <code>WW2.7_Ubuntu12.04_Vanilla.ova</code> . The ova is a 1.6 GB file.
   
 
* Rochester
 
* Rochester
# http://hosted2.webwork.rochester.edu/ww-downloads/WW2.7_Ubuntu12.04_Vanilla_LiveDVD.iso.md5
+
# http://hosted2.webwork.rochester.edu/ww-downloads/WW2.7_Ubuntu12.04_Vanilla.ova.md5
# http://hosted2.webwork.rochester.edu/ww-downloads/WW2.7_Ubuntu12.04_Vanilla_LiveDVD.iso
+
# http://hosted2.webwork.rochester.edu/ww-downloads/WW2.7_Ubuntu12.04_Vanilla.ova
   
 
* MAA
 
* MAA
# http://webwork.maa.org/ww-downloads/WW2.7_Ubuntu12.04_Vanilla_LiveDVD.iso.md5
+
# http://webwork.maa.org/ww-downloads/WW2.7_Ubuntu12.04_Vanilla.ova.md5
# http://webwork.maa.org/ww-downloads/WW2.7_Ubuntu12.04_Vanilla_LiveDVD.iso
+
# http://webwork.maa.org/ww-downloads/WW2.7_Ubuntu12.04_Vanilla.ova
   
* 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). For information on how to verify the MD5 checksum, see e.g. https://help.ubuntu.com/community/HowToMD5SUM
+
* Verify the MD5 checksum of your downloaded file agrees with the above. For information on how to verify the MD5 checksum, see e.g. https://help.ubuntu.com/community/HowToMD5SUM
   
===Running directly from the Live DVD without installing===
 
  +
===Installing the WeBWorK Virtual Machine Image ===
   
You can run WeBWorK directly from the Live DVD without installing anything on your computer.
 
  +
Import the file <code>WW2.7_Ubuntu12.04_Vanilla.ova</code> into your virtualization software package (e.g. VMware, VirtualBox). After importing, your virtual WeBWorK server will be identical to a system created from the WW2.7 Ubuntu12.04 Vanilla LiveDVD. You are exactly at the
  +
stage in the installation described in [[Installing_from_WW2.7_Ubuntu12.04_Vanilla_LiveDVD#Boot_your_server]].
   
Place the installation DVD in your DVD/CD drive and reboot your computer from the DVD drive. You may have to press <code>&lt;F12&gt;</code> or another key during the boot process to bring up a boot menu which will allow you to select booting from the DVD. For Apple Computers and others: hold down the C key while rebooting; Toshiba, IBM and others: press <code>&lt;F12&gt;</code> while booting to get to the boot menu; Asus and others: press <code>&lt;Tab&gt;</code> key while booting to get to the boot menu. Or you may have to edit the BIOS to select the DVD as the first boot device.
 
 
# Just hit <code>&lt;Enter&gt;</code> for the first <code>live</code> boot option
 
# Log in as "wwadmin" with the password "wwadmin"
 
# Open Firefox and access the URL: http://localhost/webwork2 . The admin course (the real name for Course Administration) has the user "admin" as professor with password "admin". myTestCourse has the same user/password (admin/admin) 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 you can always access the admin course even if it is "hidden" (see below) directly using http://localhost/webwork2/admin .
 
# Look through the instructions in [[Installation_Manual_for_2.7_on_Ubuntu_12.04]] for testing WeBWorK. Note that all the installation steps have already been done for you except as noted below
 
# 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.
 
 
===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 <code>&lt;F12&gt;</code> or another key during the boot process to bring up a boot menu which will allow you to select booting from the DVD. For Apple Computers and others: hold down the C key while rebooting; Toshiba, IBM and others: press <code>&lt;F12&gt;</code> while booting to get to the boot menu; Asus and others: press <code>&lt;Tab&gt;</code> key while booting to get to the boot menu. Or you may have to edit the BIOS to select the DVD as the first boot device.
 
 
First select <code>install</code>, the third option, and then hit <code>&lt;Enter&gt;</code>. After the system loads you will be presented with a series of 5 or more steps.
 
 
# On the first install panel hit <code>Continue</code> to proceed with English as the selected language
 
# Just hit Continue on the next page
 
# Next comes the <code>Partition disks</code> 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.7_on_Ubuntu_12.04]] which gives more information on this. You also have options on where to install the boot loader but you almost certainly want to use the default
 
# Select a city in your time zone and hit <code>Continue</code>
 
# Hit <code>Continue</code> to accept the default keyboard layout
 
#Note that you may see a panel asking "Who are you?". I say "may" because this has only appeared a few times. If it does 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 <code>wwadmin</code> for "What is your name?"
 
#* Enter <code>wwadmin</code> for "What name do you want to use to log in?"
 
#* Enter <code>wwadmin</code> twice for the password
 
#* Enter <code>wwserver</code> 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 <code>Continue</code> to continue
 
#You may be asked to chose a picture. I just hit <code>Continue</code>
 
 
Now sit back and relax while the installation takes place. This can take a long time so please be patient. When you see "Installation Complete", hit
 
<code>Restart Now</code>
 
 
===Boot your server ===
 
 
# The installation WeBWorK LiveDVD will eject. Remove it and press <code>&lt;Enter&gt;</code> to continue
 
# Hit <code>&lt;Enter&gt;</code> to select the default boot option or just wait for it to boot
 
# 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 <code>su</code> to "root" in a terminal window).
 
# You can open Firefox and access the URL: http://localhost/webwork2 . The admin course (the real name for Course Administration) has the user "admin" as professor with password "admin". myTestCourse has the same user/password (admin/admin) 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 not "hidden" ("hidden" means a link to it is not displayed). If you hide it, then access it directly using the URL: http://localhost/webwork2/admin . To hide (or unhide) a course select Hide Inactive courses in the admin course and follow the directions. If you are using the system with students, you probably will want to hide the admin course.
 
# 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.7_on_Ubuntu_12.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 <code>openssh-server</code> so that you can ssh into your server from remote locations.
 
 
# Select <code>Dash Home</code> and type <code>Synaptic</code>. Click on the <code>Synaptic Package Manager</code>. Actually it will probably be displayed as soon as you select <code>Dash Home</code>. You will have to enter the password <code>wwadmin</code>. The <code>Synaptic Package Manager</code> window will open.
 
 
Now we will install the <code>openssh-server</code>.
 
 
# Select <code>Search</code> and enter <code>openssh-server</code> and then click on <code>Search</code>
 
# Select and Mark for Installation (by double clicking or checking and then selecting <code>Mark for Installation</code>) <code>openssh-server</code>
 
# Click on Apply
 
# You will see a pop up window <code>Apply the following changes?</code> and then click <code>Apply</code>
 
# Click Close and then quit the Synaptic Package Manager
 
 
Now you can connect remotely to your server with ssh.
 
 
===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 has professor privileges both in the admin course and in the myTestCourse. Otherwise anyone can connect to your server and pretty easily gain root access.
 
 
Open a terminal window by clicking on <code>Dash Home</code> and typing <code>Terminal</code>. The next time you select <code>Dash Home</code>, the terminal icon might be displayed. Or you can just type <code>&lt;Ctrl&gt; &lt;Alt&gt; &lt;T&gt;</code>.
 
 
To change the root password enter
 
$ su
 
Password: wwadmin
 
# passwd
 
Enter new UNIX password: <code>&lt;new root password&gt;</code>
 
Retype new UNIX password: <code>&lt;new root password&gt;</code>
 
passwd: password update successfully
 
# exit
 
$
 
'''Do not forget the <code>&lt;new root password&gt;</code> that you just entered.'''
 
 
Now change the password for wwadmin.
 
 
$ passwd
 
Changing passwd for wwadmin:
 
(current) UNIX password: wwadmin
 
Enter new UNIX password: <code>&lt;new wwadmin password&gt;</code>
 
Retype new UNIX password: <code>&lt;new wwadmin password&gt;</code>
 
passwd: password update successfully
 
$
 
And as we said above '''Do not forget the <code>&lt;new wwadmin password&gt;</code> that you just entered.'''
 
 
Now change the password for the <code>login</code> keyring. This is used for wireless connections.
 
 
# Select <code>Dash Home</code> and type <code>Password</code>. Then select <code> Passwords and Keys</code>
 
# Right Click on <code>Passwords:login</code>
 
# Click <code>Change Password</code>
 
# Enter the old password (<code>wwadmin</code>) and the new password.
 
# Click <code>OK</code>
 
 
Now we change the passwords for the MySQL users <code>root</code> and <code>webworkWrite</code>. First we edit <code>site.conf</code>.
 
$ su
 
Password: <root password>
 
# cd /opt/webwork/webwork2/conf
 
# gedit site.conf
 
Search for <code>$database_password = "wwadmin";</code> and replace this by <br /> <code>$database_password = "database_password";</code>
 
where of course you should replace 'database_password' with your own password. We refer to this password as <code>&lt;database_password&gt;</code>. 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 <code>localhost</code> you will see three Users, <code>root</code>, <code>debian-sys-maint</code> and <code>webworkWrite</code>. You will also see the Hosts
 
<code>::1</code> and <code>127.0.0.1</code> both with the <code>root</code> User.
 
 
 
Now we will change the password for the <code>webworkWrite</code> User
 
 
mysql> UPDATE mysql.user SET password=PASSWORD('<database_password>') WHERE host='localhost' and user='webworkWrite';
 
where of course you should replace <code>&lt;database_password&gt;</code> by whatever you used above.
 
 
Next we will change the passwords for the three <code>root</code> Users. In all commands replace <code>newpwd</code> with your choosen MySQL <code>root</code> password. As was said above, '''Do not forget what you enter here'''. Also remember that this is the password for the MySQL <code>root</code> user, not the Ubuntu linux system <code>root</code> user. Below we refer to this as <code>&lt;mysql root password&gt;</code>
 
 
 
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='::1' 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 these 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 admin course (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===
 
 
'''NOTE: These direction are out of date since Ubuntu has switched to Unity. Using the Dash Home to search for <code>Network Connections</code>. Opening that and following the directions "should" work but I have not tested them yet on Ubuntu 12.04. Also see http://webwork.maa.org/wiki/Installation_Manual_for_2.7_on_Ubuntu_12.04#Apache_2_and_mod_perl'''
 
 
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 <code>System</code>, <code>Preferences</code>, <code>Network Connections</code>
 
# Select <code>Auto etho</code> and click <code>Edit...</code>
 
# Select <code>IPv4 Settings</code>
 
# Next to <code>Method:</code> and scroll down and select <code>Manual</code>.
 
# Click <code>Add</code> 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 <code>&lt;Enter&gt;</code> key so that the change is recorded.
 
# Next enter the IP address(es) of your DNS server(s)separated by spaces. You need to enter at least one DNS server
 
# Finally enter the search domain <code>Hosts</code>
 
# Click <code>Apply</code>
 
# Enter <code>&lt;wwadmin password&gt;</code> and click <code>Authenticate</code>
 
# Click <code>Close</code>
 
 
Now we have to set your server's hostname (which is currently set to <code>WeBWorK-LiveDVD</code>) 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 <code>hostname</code> commands below.
 
 
 
# Select <code>System</code>, <code>Administration</code>, <code>Network</code>
 
# Click on <code>Unlock</code>
 
# Enter <code>&lt;your password&gt;</code> and click <code>Authenticate</code>
 
# Click on <code>General</code>
 
# Under <code>Host name</code> change <code>WeBWorK-LiveDVD</code> to <code>your_server_name</code>
 
# Then under <code>Domain name</code> enter your server's domain name, something like <code>department.school.edu</code>
 
 
Next
 
# Click on <code>Hosts</code>
 
# Click <code>Add</code> and enter your server's IP address
 
# Under Aliases enter your server's fully qualified domain name, something like <code>your_server_name.department.school.edu</code>
 
# Then click <code>OK</code>
 
# Next select the entry <code>127.0.1.1</code>. We want to edit this but with 9.04 clicking <code>Properties</code> closes the window. In order to edit an entry I first had to delete it and then add it back as a new entry.
 
# Click <code>Delete</code>
 
# Click <code>Add</code> and enter the IP address <code>127.0.1.1</code>
 
# Under Aliases enter your server's fully qualified domain name, something like <code>your_server_name.department.school.edu</code>
 
# Then click <code>OK</code>
 
# Finally we edit the entry for <code>127.0.0.1</code>
 
# Select the entry <code>127.0.0.1</code> and click <code>Delete</code>
 
# Click <code>Add</code> and enter the IP address <code>127.0.0.1</code>
 
# Under Aliases make sure to enter the following entries in order
 
## first your server's fully qualified domain name, something like <code>your_server_name.department.school.edu</code>
 
## second your server's name, something like <code>your_server_name</code>
 
## third <code>localhost</code>
 
# Then click <code>OK</code>
 
# And click <code>Close</code> to close <code>Network settings</code>
 
 
 
 
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 <code>your_server_name</code>.
 
 
 
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 <code>your_server_name.department.school.edu</code> 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 <code>Server Settings</code> you should see something like
 
 
Server Version: Apache/2.2.22 (Ubuntu) mod_apreq2-20090110/2.8.0 mod_perl/2.0.5 Perl/v5.14.2
 
 
indicating that both <code>mod_apreq2</code> and <code>mod_perl</code> are installed. If you want to be able to
 
access "server-status" and "server-info" from a remote location, see the section
 
[[Installation_Manual_for_2.7_on_Ubuntu_12.04#Apache_2_and_mod_perl]]
 
 
Finally you can find out what ip address your server is using by running the command <code>ifconfig</code> in a terminal window and then in the eth0 section looking at inet <code>addr:</code>
 
 
=== System Configuration ===
 
 
Most WeBWorK configuration is done in the files <code>/opt/webwork/webwork2/conf/site.conf</code> and <code>/opt/webwork/webwork2/conf/localOverrides.conf</code>. These files provide system-wide configuration settings, and defaults for course settings. Any setting in these files can be overridden in the <code>course.conf</code> file for a particular course. To override a setting for a course, just put the new setting (using the same syntax as is in <code>localOverrides.conf</code>) in the <code>course.conf</code> file. An instructor can edit the <code>course.conf</code> file for herself (for her own course) but most things instructors may want to customize and many others (language, timezone, permissions, display modes, email, ...) can be set using the Course Configuration page from within the course and such setting override those in the configuration files.
 
 
Actually there are three main configuration files, <code>site.conf</code>, <code>defaults.config</code> and <code>localOverrides.conf</code>. The reason there are three configuration files is to make upgrading WeBWorK easier.
 
 
* <code>site.conf</code>: This file contains global variables which are required for basic configuration. It will not be overridden when you update WeBWoeK but it's distribution version, <code>site.conf.dist</code> will be.
 
* <code>defaults.config</code>: This file contains initial settings for many customizable options in WeBWorK. Do not edit defaults.config. It will be overridden next time you upgrade.
 
* <code>localOverrides.conf</code> This is where you should add all local customizations. It will not be overridden when you update WeBWoeK but it's distribution version, <code>localOverrides.conf.dist</code> will be.
 
 
There are several options that must be set for WeBWorK to work with your system. The rest of the file consists of customization options.
 
==== Edit the site.conf file ====
 
Now edit <code>site.conf</code>
 
 
$ cd /opt/webwork/webwork2/conf
 
$ gedit site.conf
 
 
First we have to add information about the Apache2 server setup.
 
Search for <code>server_root_url</code> and edit the line so that it reads:
 
 
$server_root_url = "http://yourserver.yourschool.edu";
 
 
where of course you should edit <code>yourserver.yourschool.edu</code> appropriately or you can keep this set to <code>localhost</code>
 
 
Note that above we already set the password that WeBWorK uses when it communicates with the MySQL database. Note that this is not the same as the <code>&lt;mysql root password&gt;</code> which is the password the MySQL root user uses.
 
This is set with <code>$database_password</code> and it is not a bad idea to double check that it is correct.
 
 
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 <code>localhost</code>. IMPORTANT: Our instructions above did not install an SMTP server so you will have to install and configure 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 <code>From</code> address on the mail message). Edit the lines
 
$mail{smtpServer} = ''; # e.g. 'mail.yourschool.edu' or 'localhost'
 
$mail{smtpSender} = ''; # e.g. 'webwork@yourserver.yourschool.edu'
 
 
entering the appropriate information.
 
 
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 <code>DateTime::TimeZone::America::New_York</code> and you should enter <code>$siteDefaults{timezone} = "America/New_York";</code> which is the default. Read the documentation in this section of the the <code>site.conf</code> file for more information on selecting timezones and formatting dates.
 
 
Search for <code>$siteDefaults{timezone}</code> and enter your local timezone if it is not correct.
 
 
Then save the file and Quit.
 
 
==== The defaults.config file ====
 
 
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), in <code>defaults.config</code>, you will see the lines
 
 
$mail{allowedRecipients} = [
 
#'prof1@yourserver.yourdomain.edu',
 
#'prof2@yourserver.yourdomain.edu',
 
];
 
 
But we are not supposed to edit the <code>defaults.config</code> file, so if we want to do this, we will copy this to <code>localOverrides.conf</code> and edit it appropriately. Note that we should probably move this setting to the <code>site.conf</code> file.
 
 
==== Edit the localOverrides.conf file ====
 
 
$ cd /opt/webwork/webwork2/conf
 
$ gedit localOverrides.conf
 
 
 
As we said above,
 
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), in <code>localoverrides.config</code>, add and then edit the lines
 
 
$mail{allowedRecipients} = [
 
#'prof1@yourserver.yourdomain.edu',
 
#'prof2@yourserver.yourdomain.edu',
 
];
 
 
removing the <code>#</code> 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 (which you find in the course directory) to the addresses of professors of each course. Note that the settings in course.conf override the settings in site.conf, default.conf and localOverrides.conf so if in addition you want e.g. the WeBWorK administrators to receive copies, you have to add them as well.
 
 
After you have used WeBWorK for awhile, you may want to change the default header files in <code>defaults.config</code>. Search for <code>$webworkFiles{screenSnippets}{setHeader}</code> and <code>$webworkFiles{hardcopySnippets}{setHeader}</code> in <code>localOverrides.config</code>. Settings in the conf and config files affect all WeBWorK courses. You can override any setting in these conf and config files for an individual course by putting the local setting in <code>course.conf</code>.
 
 
Also now there are several versions of the classlist editor, homeworkset editor, library browser and pgproblem editor. Which ones are available in a course is determined by the settings for <code>%showeditors</code> in localOverrides.conf. As above, if you want to customize what is available for an individual course (e.g. one professor may want to try out the new editors and others may not), copy the <code>%showeditors</code> structure to <code>course.conf</code> and then edit it to make available the desired editors.
 
 
==File and Directory Locations and System Information==
 
 
This installation of WeBWorK and Ubuntu follows the instructions given in [[Installation_Manual_for_2.7_on_Ubuntu_12.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 12.04.2 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 using the <code>Update Manager</code>. To find this select <code>Dash Home</code> and type <code>update</code>.
 
   
 
Consult [[Category:Administrators]] for other WeBWorK documentation for system administrators.
 
Consult [[Category:Administrators]] for other WeBWorK documentation for system administrators.

Revision as of 14:42, 17 July 2013


These instructions cover the installation of the Ubuntu Linux 12.04.2LTS 64 bit operating system and WeBWorK 2.7 using the WeBWorK Virtual Machine Image.

The WeBWorK Virtual Machine Image is an .ova file which is an "open, secure, portable, efficient and extensible format for the packaging and distribution of software to be run in virtual machines" (see http://en.wikipedia.org/wiki/Open_Virtualization_Format) and is supported by VMware, VirtualBox, etc. This image file has been tested on VMware Player 5 and VirtualBox 4.

This "vanilla" version of the server should work fine 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.7 Ubuntu12.04 Vanilla Virtual Machine Image

Overview

After installing from the WeBWorK Virtual Machine Image, you will have a full fledged Ubuntu 12.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. 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 12.04 and WeBWorK 2.7 at Installation_Manual_for_2.7_on_Ubuntu_12.04

Download the ova image

There is only a 64 bit distribution. The 64 bit distribution should work with most modern cpu's. Download the md5 check sum and .ova file from either of the sites below. Download WW2.7_Ubuntu12.04_Vanilla.ova.md5 and WW2.7_Ubuntu12.04_Vanilla.ova . The ova is a 1.6 GB file.

  • Rochester
  1. http://hosted2.webwork.rochester.edu/ww-downloads/WW2.7_Ubuntu12.04_Vanilla.ova.md5
  2. http://hosted2.webwork.rochester.edu/ww-downloads/WW2.7_Ubuntu12.04_Vanilla.ova
  • MAA
  1. http://webwork.maa.org/ww-downloads/WW2.7_Ubuntu12.04_Vanilla.ova.md5
  2. http://webwork.maa.org/ww-downloads/WW2.7_Ubuntu12.04_Vanilla.ova

Installing the WeBWorK Virtual Machine Image

Import the file WW2.7_Ubuntu12.04_Vanilla.ova into your virtualization software package (e.g. VMware, VirtualBox). After importing, your virtual WeBWorK server will be identical to a system created from the WW2.7 Ubuntu12.04 Vanilla LiveDVD. You are exactly at the stage in the installation described in Installing_from_WW2.7_Ubuntu12.04_Vanilla_LiveDVD#Boot_your_server.


Consult for other WeBWorK documentation for system administrators.

-- Main.ArnoldPizer - 17 July 2013