Installing WeBWorK on Live USB
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.
Contents
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 Fedora 9 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, i.e. any changes you make (to Fedora, 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 fedora, you have to configure networking (see below). Also in this case 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 (see below).
I have tested this on about 6 computers (all Dell's) and it has worked so far on every computer that can be booted from USB.
If you test this, I would appreciate any comments, suggestions, bug reports, etc.
There are more detailed instructions for Fedora 9 and WeBWorK 2.4 at Installation_Manual_for_2.4_on_Fedora_9
Requirements
- 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.
- 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
- Go to http://www.roadkil.net/ and download and install Roadkil's Disk Image. DiskImage only runs on Windows. This takes only a few minutes.
- Go to http://hosted3.webwork.rochester.edu/test/WW2.4_Fedora9_2GB_USB_drive.img.gzip and download
WW2.4_Fedora9_2GB_drive.img.gzip
(it is a 929 MB file). - http://hosted3.webwork.rochester.edu/test/WW2.4_Fedora9_2GB_USB_drive.img.gzip.md5 gives
MD5 (WW2.4_Fedora9_2GB_USB_drive.img.gzip) = 5aac6586c0c547d8b848f73719b0278
- Verify the MD5 checksum of your downloaded file and then gunzip it.
For information on gunziping files on Windows look at http://www.gzip.org/. In particular, there they say:
PowerArchiver 6.1, 7-zip and Winzip include the gzip compression code and can decompress .gz and tar.gz files. Win-GZ can compress and decompress files in gzip format. Please note that gzip, 7-zip, PowerArchiver 6.1 and Win-GZ are freeware but you must register Winzip and PowerArchiver > 6.1 if you use them regularly.
I use Win-GZ. Note that the default file extension for gzip'ed files is .gz not .gzip but Firefox at least doesn't recognize .gz as a file to download so I changed the extension to .gzip. If Win-GZ for example doesn't recognize .gzip either select Win-GZ as the program to open the ffile with or rename the file changing .gzip to .gz.
Install WeBWorK on USB drive
- 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".
- 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.
Boot from USB drive
- 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.
- 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.
- 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".
- 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).
- 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.
- 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.
- Then save the changes (File, Save) and Quit.
- Finally goto System, Administration, Services scroll down to ssh and check that ssh is Enabled. If not Enable it.
- Once you make the changes reboot your computer (you need to do this so that the changes to the servername, ssh, etc. take place).
- 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).
- 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
andnetwork.dist
are the original files on my USB distribution andhosts.bak1
andnetwork.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. - 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.
- 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.