OPS335 Lab 5
In this lab we will have a quick look at several separate technologies that are often used together with the Apache web server to install and run web applications.
Apache on its own does little more than serve text pages, images, and other static files. You can format those pages to look nice but they won't have any dynamic functionality - they will always look the same.
To add life to a website more than just the web server is needed. A popular acronym is LAMP. It stands for Linux, Apache, MySQL, and PHP (or Python). This week we will set up this stack to give us a website that does webmail (send and receive email in a web browser).
Linux
We'll need a new virtual machine. Because you probably forgot how to install one - go through the exercise again, and set up a vm4 from scratch. Only a minimal setup is needed. Configure it in the same way that you've configured the other three main VMs. This should be a quick exercise for you by now, including:
- The installation,
- Connecting to the correct network with a static IP (the address 192.168.X.5 should be available),
- Making sure you're using your internal DNS server,
- Configuring default rules for your iptables firewall,
- Allowing passwordless login from the host's root account.
As an interesting exercise: configure all your network settings (except the firewall) during the installation wizard.
Apache
Install Apache (the package name is httpd), start the service, make it start automatically, and allow access to it through the firewall (Apache serves HTTP traffic which goes over TCP port 80).
Now if you navigate to vm4.youruserid.org in a web browser in your host - you should see an Apache testing page.
We're not going to have a lot of time to study various Apache options so we'll tell you what you're looking for but you have to find it yourself.
DocumentRoot specifies where Apache will look for documents to serve. Change this to /home/html and delete the file /etc/httpd/conf.d/welcome.conf.
Now create the file index.html in your DocumentRoot directory with the following contents (replace the date with the current one):
Hello, this is a web page on vm4.yourid.org and the current time is Mar 28 22:16:27 EDT 2016!
If you refresh the page in firefox - you'll get a 403 error. That means that the Apache user (that runs httpd) doesn't have access to the html file you've just created. Check the full path to that file and fix any parts that prevent Apache from reading that file.