The ChemWiki was deployed on a standard Debian based LAMP server (Linux, Apache, MySQL, PHP), running Ubuntu Linux 8.04 LTS (Hardy Heron), Apache 2.2, MySQL 5, and PHP 5.2. The DekiWiki rendering engine was then installed from source on the LAMP machine. The DekiWiki engine, written primarily in PHP, serves dynamic content stored in the MySQL through the Apache webserver. The Deki platform allows for a high degree of customization; almost everything, from interface to code can be modified by the end user. The Deki platform also offers easy to use GUI based controls for user and content management. As a result of this, moderating the content on the ChemWiki does not require advanced technical knowledge of the rendering engine's programming. The DekiWiki engine has excellent abstraction between the application, data storage, and content serving layers. This allows for a large degree of scalability as the ChemWiki grows. In its current form, the ChemWiki can easily serve up to 100,000 pages. The LAMP deployed DekiWiki rendering engine will serve the ChemWiki well as it continues to grow and mature.
The following protocol covers the basic procedure of deploying a Wiki engine like this one on an Apache 2.3 webserver running on a Debian based Linux machine. The basic configurations needed for the engine to run are covered, however, site formatting, customization, content creation and use management are not. The reader will need to decide what the site should look like in response to the needs of a particular application. The areas of content creation and user management are well documented in other sources. This sample deployment contains no custom software builds. For increased security and/or customization you may wish to build one or more pieces of software from source.
Before choosing a Debian distribution, please familiarize yourself with the options. The author prefers Ubuntu's server distribution (no GUI included) but knows and respects some who prefer Debian. As long as you are familiar with the package management software for your particular Linux distro, this protocol will be easy to follow. It assumes that you are using Ubuntu's apt-get package manager, the packages required may be slightly different for Debian, and with any other Linux distro the packages and package management software will be different, but analogous.
Ubuntu Server edition (Hardy Heron 8.04 is the long term stable release as of this writing) contains an "out of the box" LAMP deployment (Linux, Apache, MySQL, PHP) which can serve your purposes quite nicely in most cases. Simply download the software and follow the configuration instructions, it is quite self explanatory. Remember to use a strong password for your primary user account, as a compromise of the underlying Linux system will quite naturally compromise your server. Also remember to use a very strong MySQL root password. The integrity of your wiki's content relies upon the integrity of your MySQL database.
DROP DATABASE wikidb; is all it takes for a malicious console user with root MySQL access to wipe away all of your hard work. You may wish to install the OpenSSH server at this time if you wish to remotely administer your server.
A final caveat before we continue; this wiki-engine build you are about to install is 32-bit only! If you spent a whole heap of money on a 64-bit system you probably want to take advantage of it. Build from source if you feel comfortable doing so.
You will need to edit the following files and enter the following commands as root.
$ sudo -s
And enter your administrative password to gain a root console for the duration of the installation.
First you need to add the wiki-engine to your
"/etc/apt/sources.list" file. Append the following line to the file with your favorite text editor.
deb http://repo.mindtouch.com xUbuntu_8.04/
Type the following command to update your package indexes:
# apt-get update
Type the following command to install packages that will enable your Wiki's full functionality:
# apt-get install html2ps poppler-utils wv gs tidy links msttcorefonts cabextract
Install the Wiki-Engine using the following command :
# apt-get install dekiwiki
After the install has finished, edit /etc/apache2/sites-available/dekiwiki and change the ServerName to match the URL that you will be entering into the web browser to arrive at your wiki. This will allow the Apache virtual host to direct traffic to the Wiki.
Enter the following command to enable the Wiki in Apache and disable the initial default site:
# a2ensite dekiwiki # a2dissite default
Once that has been done, enter the following line to reload Apache:
# /etc/init.d/apache2 reload
The Wiki-Engine is now installed and you should be able to connect to "http://your_server/config/index.php" to complete the configuration. Follow the instructions given and have your MySQL root password handy.
An NSF funded Project