Difference between revisions of "OPS235 Assignment 2 OLD"
Line 18: | Line 18: | ||
* '''php''' - this is the PHP server software, which allows Apache to run more complex websites. | * '''php''' - this is the PHP server software, which allows Apache to run more complex websites. | ||
* '''mysql-server''' - this is the MySQL database server. | * '''mysql-server''' - this is the MySQL database server. | ||
+ | * '''php-mysql''' - this is a PHP extension that allows PHP to use a MySQL server. | ||
== Configuring Apache == | == Configuring Apache == | ||
Line 27: | Line 28: | ||
# Confirm that you can view the index page. If not, check for errors in <code>/var/log/httpd</code> | # Confirm that you can view the index page. If not, check for errors in <code>/var/log/httpd</code> | ||
− | == MySQL == | + | == Configuring MySQL == |
# Start the MySQL service (mysqld) using the '''systemctl''' command. | # Start the MySQL service (mysqld) using the '''systemctl''' command. | ||
# Ensure that the mysqld service starts automatically during boot. | # Ensure that the mysqld service starts automatically during boot. | ||
# When started for the first time, this service will print a message telling you how to set a password and take other basic steps to secure the the MySQL server. Follow those instructions to set a password, recording the detail of what you do for later use. Look for these messages in '''<code>/var/log/messages</code>''' | # When started for the first time, this service will print a message telling you how to set a password and take other basic steps to secure the the MySQL server. Follow those instructions to set a password, recording the detail of what you do for later use. Look for these messages in '''<code>/var/log/messages</code>''' | ||
+ | #* Read those messages carefully, you are setting up a production MySQL server and there shouldn't be any "test" databases or anonymous users or users without a password. | ||
+ | # Set your MySQL root password to your learn ID (without the @senecac.on.ca part). | ||
+ | # This following part is challenging so take your time and read the instructions to make sure you do it properly, we have to set up a dedicated user and database for wordpress: | ||
+ | #* Start by looking at http://codex.wordpress.org/Installing_WordPress#Using_the_MySQL_Client where you will find instructions for the setup. | ||
+ | |||
== Installing and Configuring Wordpress == | == Installing and Configuring Wordpress == | ||
Line 37: | Line 43: | ||
Wordpress (like most web applications) is not available in the Fedora repositories, it must be downloaded and installed manually. | Wordpress (like most web applications) is not available in the Fedora repositories, it must be downloaded and installed manually. | ||
− | + | # Download the latest .tar.gz version from wodpress.org into your fedora3 (use wget). | |
− | + | # Extract it into '''/var/www/html''' so that when you point your web browser to http://fedora3/wordpress/ you will get an error starting with "There doesn't seem to be a wp-config.php file" | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===C. Write-up (Section Total: 12 Marks)=== | ===C. Write-up (Section Total: 12 Marks)=== |
Revision as of 16:02, 22 July 2012
Contents
OPS235 Assignment 2
Weight: 5% of the overall grade
Due Date: 8th of August at the start of class
Introduction and Purpose
In this assignment, you will demonstrate the skills you have learned to this point by configuring two services: a database server and a web server. You will install and use a database-backed web application, Wordpress, to show that these services have been installed properly. You will also configure the SELinux security system to further enhance the security of your computer system.
NOTE: Do this assignment inside the fedora3 virtual machine.
Installing Packages using Yum
Install these packages using yum:
- httpd - this is the Apache web server software.
- php - this is the PHP server software, which allows Apache to run more complex websites.
- mysql-server - this is the MySQL database server.
- php-mysql - this is a PHP extension that allows PHP to use a MySQL server.
Configuring Apache
- Start the httpd service using the systemctl command.
- Ensure that the httpd service starts automatically during boot.
- Confirm that you can connect to your web server using a web browser -- both from fedora3 (you can test using links) as well as from the host. You should see the Fedora Test Page.
- ?? Create a very simple HTML index page for your system, and place it at
/var/www/html/index.html
- Confirm that you can view the index page. If not, check for errors in
/var/log/httpd
Configuring MySQL
- Start the MySQL service (mysqld) using the systemctl command.
- Ensure that the mysqld service starts automatically during boot.
- When started for the first time, this service will print a message telling you how to set a password and take other basic steps to secure the the MySQL server. Follow those instructions to set a password, recording the detail of what you do for later use. Look for these messages in
/var/log/messages
- Read those messages carefully, you are setting up a production MySQL server and there shouldn't be any "test" databases or anonymous users or users without a password.
- Set your MySQL root password to your learn ID (without the @senecac.on.ca part).
- This following part is challenging so take your time and read the instructions to make sure you do it properly, we have to set up a dedicated user and database for wordpress:
- Start by looking at http://codex.wordpress.org/Installing_WordPress#Using_the_MySQL_Client where you will find instructions for the setup.
Installing and Configuring Wordpress
Wordpress (like most web applications) is not available in the Fedora repositories, it must be downloaded and installed manually.
- Download the latest .tar.gz version from wodpress.org into your fedora3 (use wget).
- Extract it into /var/www/html so that when you point your web browser to http://fedora3/wordpress/ you will get an error starting with "There doesn't seem to be a wp-config.php file"
C. Write-up (Section Total: 12 Marks)
Create a high-quality write-up of this assignment on your wiki. Describe in detail exactly what you did to set up each component. Include at least these pages:
- A main page (page name Main Page), describing in general terms what you did and containing links to the other wiki pages, as well as a link to the page and the script in your
~/public_html
directory. - A page for your httpd configuration (page name httpd_conf). Along with a description, include the exact text of your httpd.conf file.
- A page for your MySQL configuration (page name mysql_conf). Along with a description, include the details of the steps you performed to set up MySQL.
- A page for your MediaWiki configuration (page name mediawiki_conf). Along with a description, include your MediaWiki configuration file.
- A page for your iptables configuration (page name iptables_conf). Show the exact iptables rules that are in effect. Demonstrate that the configuration is as tight as possible (for example, test access to other services, and include the results of those tests in the wiki page).
- A page for the SELinux configuration (page name selinux_conf). Show the SELinux booleans and the context of your script file.
The easiest way to create new page is to create a link to it from an existing page (such as the main page), and then follow that link.
Write well and be creative:
- Make sure your spelling and grammar are correct (they count!).
- Present the pages attractively, and take advantage of graphics, colour, and fonts as appropriate -- for example, you may want to highlight the changes that you made in the configuration files using bold print, use outline numbering, divide the pages into easy-to-navigate sections, or use colour to show the commands you typed and what the system displayed in response.
- Stick to the important information - avoid including excessive text which doesn't add to the content that you are presenting (remember, your professor will be reading hundreds of wiki pages while marking!).
Resources on wiki markup:
- Wiki markup - Wikipedia
- Sandbox page on this wiki - examples
Submitting Your Assignment
Your professor will require you to submit this assignment in at least one of two ways:
- Demonstrate that the wiki is working.
- Use wget to harvest the wiki pages:
- Make sure all of the
http://
-style links (for the wiki image, the link to diskfree.cfgi, and so forth) use the same hostname (don't use "localhost" for one and "f16host" for another, for example). - Issue the command:
wget -prk http://hostname/wiki
-- where hostname matches the hostname used in thehttp://
links in your wiki pages. - Create a compressed tar file containing the results. (name the file learnid-a2.tgz)
- Check the tar file to see that it contains everything necessary to view your site (in particular, check that all needed image files are included). Do not edit the files in the tar archive -- if changes are needed, modify your wiki, and then repeat the
wget
andtar
steps above. - Refer to your OPS235 instructor on the proceedure to submit the tar archive file.
- Make sure all of the
Old Assignments
Still here for historical purposes. Obviously you don't need to do them.