Your objective is to set up a Content Management System (CMS). It should be available on your virtual CentOS server's ip 192.168.10.(N*10+41) where N is your group number (for instance, group 5's CMS should be available on 192.168.10.101), and should be responsive to the URL http://192.168.10.(N*10+41)/ (i.e., I shouldn't have to add any additional path to find your CMS.)
For this assignment, you will use Drupal 7 (available at drupal.org; the most recent 7.x version is 7.14) Do not a default install: we are going to use a separate mysql server on your Debian box to drive the CMS.
The first step for this assignment is to install a mysql server on your Debian box; remember, unlike the default assumption of Drupal that the mysql server is on the same machine as the webserver, please instead install mysql-server on your physical Debian box, listening on the 192.168.10.(N*10+40) interface.
Inside of that new mysql instance on your Debian machine, you should then create a new database called drupal, and a new mysql user drupal associated with the webserver ip mentioned in the first paragraph (this is not an actual username on the system — this user is a mysql user, and you should look at the mysql documentation available at mysql.com to see how to create this user). Remember, this user will need permission to come in from the network since the CMS is going to be running a machine separate from the database server.
On your CentOS 6.2 installation, download Drupal 7 and install it (remember, your database is on your Debian machine, not localhost). Copious documentation is available on the Drupal website. Finally, put a redirect from your Debian box's nginx default web page over to your CMS on your virtual CentOS server. (I.e., when a user visits http://192.168.10.(N*10+40), the user should be redirected over to http://192.168.10.(N*10+41)).
While all of the above installation is not difficult, there are several "gotchas" lying about. The first and foremost is that you very likely do not have all of the software installed on your virtual CentOS to run a webserver that provides Drupal. Fortunately, all of the bits that you need are in the repositories, so you won't have to compile software by hand or do anything other than install standard packages.
For example, you will need a webserver on your CentOS machine. The easy choice is to install the Apache package, although there are others that can be made to work if you desire (though making some of them, such as nginx, work correctly with Drupal is more of a challenge than you might expect.) You will also need PHP since Drupal is written in PHP. Consult the Drupal guide for other items — you should expect to install several packages that start with "php-", such as "php-gd".
Another major stumbling block is SeLINUX: it is not Drupal-friendly at all. Also, watch out for firewall issues: firewalls are meant to block unexpected network activity, and it's not a given that mysql and webservice are
Please post some content and create one regular Drupal user (not a real user!) named "myuser" with a password "mypassword" so that all of us may login to your drupal server — this has significant security implications, and you should consider how to handle those.
For content, you may use anything you like: a simple poll, or you can again use wget to grab real data from, say, www.cs.fsu.edu, or perhaps you might want to create some content around July 4th. (Another source, of course, is mining your own CMS or other web content if you already have some on the web.)
On Wednesday, June 20th, I will use a portion of class to visit each of your Drupal sites so we can all admire your handiwork, so please make sure that everything is working during the class period.
A journal is due for this assignment. Make sure that you document in your journal all of the steps that you went through, following the guidelines on the class home page.
Please turn in a printed copy of this assignment at the beginning of class on Wednesday, June 20th.