OPS235 Assignment 2 OLD
OPS235 Assignment 2
Weight: 5% of the overall grade
Due Date: 3rd of December 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.
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.
- You will need to run those commands in a fedora3 terminal.
- Your adminusername is root
- Your databasename is myblog
- Your wordpressusername is your learn ID
- The password should also be your learn ID
- Your hostname is localhost
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
- Now we need to allow Apache to modify the wordpress installation. To do this use chown -R to make the owner and group of every file and directory inside wordpress "apache".
- Check your work so far by pointing your web browser to http://fedora3/wordpress/ where you will get an error starting with "There doesn't seem to be a wp-config.php file"
- Copy the wp-config-sample.php file to wp-config.php and edit the new file:
- Change the DB_NAME, DB_USER, DB_PASSWORD to the appropriate values.
- Now go back to http://fedora3/wordpress/ - you should see a Wordpress Welcome/Setup page.
- Set the title to Your Name's Blog. For example for me it would be "Andrew Smith's Blog"
- Set the password to your learn ID.
- Set the email to your Seneca email address.
- Click "Install Wordpress", you should see a "Success!" message.
Write-up
Write a blog post on your new blog explaining:
- What is Apache, PHP, MySQL, and Wordpress.
- What problems (minor and major) you ran into during the installation and how you solved them.
Write a second post on your blog explaining:
- Are you ready for the exam or not.
- List the material you are strong on.
- List the material you are worried about.
- List any questions or topics you would like me to address during exam review.
Make your posts look professional. That means use good english, headings, bullet or numbered lists, etc.
Submitting Your Assignment
Due date: Your name will be called in the lab on the due date for the assignment. If you are not there when your name is called - you will lose 20% of your mark. In that case you may show me your submission in the second lab that week instead. Assignments submitted after that will receive a grade of 0, but must still be completed satisfactorily in order to pass the course.
Ready to show
Open one or more terminals in f16host, SSH to fedora3 from those terminals, and have the following ready:
- The correct RPMs are installed
- Output of systemctl is-enabled httpd.service
- Output of systemctl is-enabled mysqld.service
- MySQL output of: show databases; use mysql; select User,Password from user; use myblog; show tables;
- Output of ls -la /var/www/html/wodpress/
- Output of head -30 /var/www/html/wodpress/wp-config.php
Open a firefox with http://fedora3/wordpress/
Save the page (Firefox File menu / Save Page As / HTML only) as yourusername.html and email the professor that page.
Rubric
Task | Maximum mark | Actual mark |
---|---|---|
Correct packages installed | 1 | |
Apache set up and running | 2 | |
MySQL set up correctly | 3 | |
Wordpress extracted correctly | 1 | |
Wordpress set up correctly | 2 | |
Wordpress showing in Firefox | 1 | |
Single HTML page emailed correctly | 2 | |
Everything ready to show | 2 | |
First blog post | 3 | |
Second blog post | 3 | |
Total | 20 |
Old Assignments
Still here for historical purposes. Obviously you don't need to do them.