Installing WeBWorK
The purpose of this document is to create a more modular and more easily maintainable set of installation instructions. The plan is to create a basic set general installation instructions that provide enough information for experienced sysadmins to get up and running on any platform. These will be supplemented by a set of platform specific installation notes.
Introduction
If you're here exploring WeBWorK, you are most likely either faculty in mathematics or some other STEM discipline or you are a system administrator at an institution at which some such faculty member or department wishes to have WeBWorK installed.
First, a word to faculty. If you just want to try out WeBWorK, explore its capabilities as an online homework system, then we recommend that you consider the one-year of free hosting offered by the MAA. There is no commitment; you can have up to a hundred students at a time in your course, or you can just experiment with the system on your own. Or, you can experiment on your own for a semester and then use it with students the following semester. However you end up using your course, if you like what you see, then you can decide either to sign-up for paid hosting by the MAA or download the software for free and have it installed at your institution.
If you're at the stage where you're sure you would like to install WeBWorK....
We recommend this because installing WeBWorK is not exactly easy. WeBWorK is often installed by faculty on desktop computers for experimentation and development, but it is a robust and sophisticated server-side application, and as such the installation of WeBWorK, especially for production environments, is really best left to a professional system administrator. Professional system administrators with experience administering linux or unix servers will be able to install WeBWorK in a few hours. However, a typical faculty member with little or no experience in a linux or unix environment will at best find the process to be long and tedious and at worst frustrating and unsuccessful.