Difference between revisions of "Installing WeBWorK on Live USB"

From WeBWorK_wiki
Jump to navigation Jump to search
Line 25: Line 25:
   
 
# Plug your 2 GB USB drive into the computer and make sure the computer recognizes it. You can also use larger USB memory drives but you will not get anymore usable space.
 
# Plug your 2 GB USB drive into the computer and make sure the computer recognizes it. You can also use larger USB memory drives but you will not get anymore usable space.
# Run DiskImage and select "Write Image".
 
  +
# Run UNetbootin and check "Diskimage". The browse for the fil
 
## For "Write Image to" scroll down (you have to use the down arrow key on your keyboard) until you find Physical Disk and select the USB disk (do not download to a disk letter - C,D,E,F,G etc; these occur at the top of the list). Be VERY CAREFUL here. You should see something like Physical Disk 1 (1.87 GB). DO NOT SELECT THE WRONG DRIVE.
 
## For "Write Image to" scroll down (you have to use the down arrow key on your keyboard) until you find Physical Disk and select the USB disk (do not download to a disk letter - C,D,E,F,G etc; these occur at the top of the list). Be VERY CAREFUL here. You should see something like Physical Disk 1 (1.87 GB). DO NOT SELECT THE WRONG DRIVE.
 
## For the "Source File" Browse until you find WW2.4_Fedora9_2GB_drive.img. Then click "Go!" and "Yes" after you have double checked that you have everything correct.
 
## For the "Source File" Browse until you find WW2.4_Fedora9_2GB_drive.img. Then click "Go!" and "Yes" after you have double checked that you have everything correct.

Revision as of 19:31, 23 July 2009

WeBWorK on a USB memory drive

These instructions explain how to download and install a disk image of a fully functioning WeBWorK 2.4 system onto a 2 GB USB flash memory drive.

Installing WeBWorK on a 2 GB USB flash memory drive

Overview

After installing the disk image on a USB flash memory drive, you will have a full fledged Ubuntu 9.04 system with WeBWorK, Apache2, MySQL, etc. installed and configured. You just have to plug the USB drive in and boot your computer from your USB drive. The system is persistent (if you choose to set up a persistent system, see below), i.e. any changes you make (to Ubuntu, WeBWorK, anything) are saved and will be there the next time you boot the system. Also nothing on your computer's hard drive will be touched so there will be no change to your standard operating system. If you want to run everything locally as a test, nothing else is required. If you want to connect your system to the internet so that people (students, professors) can connect to WeBWorK and you can login remotely (via ssh) to Ubuntu, you may 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), for the MySQL users root and webworkWrite, and for the WeBWorK users admin and ubuntu which have professor privileges (see below).

There are more detailed instructions for Ubuntu 9.04 and WeBWorK 2.4 at Installation_Manual_for_2.4_on_Ubuntu_9.04

Requirements

  1. You need a PC that can be booted from USB. This excludes all Mac's and very old PC's. Most PC's less the 5 or 6 years old should be OK.
  2. You meed a 2GB USB memory drive. I built and tested this on PNY Attache 2G and 4G drives. Hopefully others work as well.

Downloads

  1. Go to http://unetbootin.sourceforge.net/ and download and install UNetbootin. UNetbootin UNetbootin runs on Windows and Linux. I have read reports the Windows version is more stable --- that is the version I used
  2. Go to http://devel.webwork.rochester.edu/ww-downloads/WW2.4_Ubuntu9.04_LiveDVD.iso and download WW2.4_Ubuntu9.04_LiveDVD.iso (it is a 1.1 GB file)
  3. http://devel.webwork.rochester.edu/ww-downloads/WW2.4_Ubuntu9.04_LiveDVD.iso.md5 gives MD5 (WW2.4_Ubuntu9.04_LiveDVD.iso) = 51cd159b4efaf94ed8035623e57843c1
  4. 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 on USB drive

  1. Plug your 2 GB USB drive into the computer and make sure the computer recognizes it. You can also use larger USB memory drives but you will not get anymore usable space.
  2. Run UNetbootin and check "Diskimage". The browse for the fil
    1. For "Write Image to" scroll down (you have to use the down arrow key on your keyboard) until you find Physical Disk and select the USB disk (do not download to a disk letter - C,D,E,F,G etc; these occur at the top of the list). Be VERY CAREFUL here. You should see something like Physical Disk 1 (1.87 GB). DO NOT SELECT THE WRONG DRIVE.
    2. For the "Source File" Browse until you find WW2.4_Fedora9_2GB_drive.img. Then click "Go!" and "Yes" after you have double checked that you have everything correct.

Boot from USB drive

  1. With the USD drive plugged in reboot your system and boot from USB. You will probably have to hold down a certain key (e.g. F12 or F11) to bring up a boot menu. Or possibly you may have to edit your BIOS to allow booting from USB. Select USB Storage Device as the boot device and boot. You should almost immediately see a Fedora screen with a 10 second countdown to booting. If you are impatient hit Enter twice.
  2. Note that a few times when doing this I experienced errors such as the USD drive not being recognized, hung, etc. I just rebooted and never had a problem twice in a row.
  3. Hit Enter to do the automatic login. This logs you into the "fedora" account which has password "admin" (more on accounts and passwords below). "fedora" has sudo privileges. The "root" account also has password "admin".
  4. If you do not want to connect your server to the internet, you can just 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"

Internet access

Passwords

If you connect to the internet it is imperative that you CHANGE THE PASSWORDS for the OS users root and fedora (which has sudo privileges) and also for the WeBWorK users admin and fedora which have professor privileges. Otherwise anyone can connect to your server and pretty easily gain root access.

To change the root password goto System, Administration, Root Password. Enter the current password (admin) and change it. Or in a terminal window (Applications, System Tools, Terminal) enter su to become root and then passwd to change the password. To change the password for fedora login to fedora and run passwd (or use System, Administration, Users and Groups or sudo passwd fedora).

To change the passwords for the WeBWorK users admin and fedora, 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.

Internet access into and out of your server

The server's firewall is set to accept only www (http), secure www (https) and secure telnet and file transfer (ssh) connections. Here we give directions for setting up an ethernet connection. You can try setting up wireless using the procedure below but in my experience with Dell equipment and linux, wireless requires you to download and configure special drivers and is beyond the scope of these directions (do a Google search for help).

  1. I'll assume (the worst case) that you are switching between various networks some using DHCP and some using static IP addresses. Once you setup networking, you don't have to do anything if you reboot the computer onto the same network.
  2. Goto System, Administration, Network. Under the Devices tag uncheck currently configured devices and delete them (this is not absolutely necessary but is the cleanest way). Under the DNS tag remove any DNS's and the DNS search paths. Now go back to the Devices tag and hit New, select Ethernet connection and hit Forward, select your card and hit Forward. If you have DHCP you can just hit forward and ignore the rest of this paragraph. For a static IP address select Statically set IP addresses and fill in the required information. Then hit the DNS tag and fill in your servername and the IP address(es) of your name servers. Hit the Hosts tag and check show loopback. Edit the IP information replacing servername and serverdomain with your info. Also click New and add your IP address and your fqdn (fully qualified domain name, i.e. servername.serverdomain) as hostname.
  3. Then save the changes (File, Save) and Quit.
  4. Finally goto System, Administration, Services scroll down to ssh and check that ssh is Enabled. If not Enable it.
  5. Once you make the changes reboot your computer (you need to do this so that the changes to the servername, ssh, etc. take place).
  6. Try firefox and see if you are connected to the world. Login to your computer from a remote site using ssh and try to connect to webwork from a remote browser (URL: http://ipaddress/webwork2 or http://servername.serverdomian/webwork2 if the nameservers know about you).
  7. Note that with Fedora (and Ubuntu, etc) if the server can not find it's fqdn (in a terminal window try hostname -f ) certain GUI applications like Network and the Package Manager will not work. That's one reason we had to reboot above. If things get messed up replace the files /etc/hosts and /etc/sysconfig/network with backups and reboot. There are two sets of backups: hosts.dist and network.dist are the original files on my USB distribution and hosts.bak1 and network.bak1 are the original files on the Fedora distribution. Either work but use either both .dist files or both .bak1 files. The backup files are found in the same directories the original files are in.
  8. Also note that I have disabled the network manager and enabled network because of a known bug in Fedora 9 with (at least) static IP addresses whereby Firefox always starts off line which is very annoying.
  9. In order to get a fully functioning WeBWorK server pretty much all you have to do is to edit /opt/webwork/webwork2/conf/global.conf and set $mail{smtpServer} to your email server. This USB system could function as an smtpServer but it is not set up to do so.