WeBWorK server on USB stick is available for testing

WeBWorK server on USB stick is available for testing

by Arnold Pizer -
Number of replies: 4
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. The result is 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

Here are the directions.

Have fun,


1. Requirements

a. 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.

b. You meed a 2GB USB memory drive. I built and tested this on PNY Attache 2G and 4G drives. Hopefully others work as well.

2. Go to and download and install Roadkil's Disk Image. DiskImage only runs on Windows. This takes only a few seconds.

3. Go to
and download WW2.4_Fedora9_2GB_drive.img.gzip (it is a 929 MB file). gives
MD5 (WW2.4_Fedora9_2GB_USB_drive.img.gzip) = 55aac6586c0c547d8b848f73719b0278
Verify the file and then gunzip it.

4. Plug your 2 GB USB drive into the computer and make sure the computer recognizes it (e.g. look at "My Computer"). You can also use larger USB memory drives but you will not get anymore usable space.

5. 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.

6. Then 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 there were errors such as the USD drive not being recognized, hung, etc. I just rebooted and never had a problem twice in a row.

7. 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".

8. 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"

9. 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. I'll give directions for setting up an ethernet connection in step 11. 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).

10. 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).

11. Setting up networking. 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 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 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.

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.

12. 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.

In reply to Arnold Pizer

Re: WeBWorK server on USB stick is available for testing

by David K. Watson -
I just wanted to point out that Intel Macs *CAN* boot from USB,
and it is even possible to boot Linux from a USB drive on an
intel Mac. See for example, .
However, it is a little trickier than what you did here,
because you would have to mess with the Mac's EFI settings.

David Watson
In reply to Arnold Pizer

Re: WeBWorK server on USB stick is available for testing

by Arnold Pizer -
From Bruce Yoshiwara <>:

Arnold Pizer,

I've downloaded the files indicated and also gzip.exe on my WindowsXP machine. In particular, I have WW2.4_Fedora9_2GB_USB_drive
.img.gzip. How do I "gunzip it"? I've tried various command lines with gzip and the filename, but I never get any img file. Do I simply re-name the gzip file by deleting the gzip extension?


In reply to Arnold Pizer

Re: WeBWorK server on USB stick is available for testing

by Arnold Pizer -
Hi Bruce,

Look at 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 file with or rename the file changing .gzip tp .gz.


In reply to Arnold Pizer

Re: WeBWorK server on USB stick is available for testing

by Robin Cruz -

Hey, Arnie,

I just finished successfully installing Fedora/WeBWorK on a 2GB Sony Micro Vault Tiny drive and it is working great on my HP notebook.  The first time I tried it I got "Boot Error" when I tried to boot from the Sony Tiny drive.  I re-installed the software on the drive and on the second try it seems to be working fine -- both Fedora and WeBWork2.

Just checking in to let you know -- rac