This course is unique in that the focus will be about actively investigating and learning about a system from the outside in rather than building it from the ground up. In order to be able to follow along and to focus on Apache, a free virtual appliance will be included in the exercise files. A virtual appliance is a pre-configured virtual machine image ready to run. I've configured it with a simple web server stack. Linux as the operating system, and Apache HTTP server. A virtual appliance can run like a program in your existing operating system, so no reformatting or configuring is required.
Instead of traditional exercise files, A couple documents will be included as free exercise files. I'm including a work sheet that we'll be completing with the result of our investigation as the course goes along. Progressive version of the worksheet named by chapter and movie, will be included, so you can compare your answers with the ones found in the course. In addition to the work sheet, a free quick reference to the Linux and Apache sever commands covered in the course, will be provided as a PDF. Feel free to print out and distribute this as a quick reference. Before we begin, we'll need to download a couple free programs. Secure Shell SSH is a secure method for remotely logging in to the command lines and executing commands. We'll be accessing the server over SSH, so you'll need a SSH client. For Mac, the Terminal app is already installed in Applications > Utilities. For Windows, you can use the free program, PuTTY to connect via SSH to remote servers, available from the official PuTTY website. In order to include the included virtual appliance, you'll need a Hypervisor, which allows guest virtual machines to use the resources of the host and hardware. Oracle VM VirtualBox available from virtualbox.org is a popular cross platform and free virtualization software package.
By installing VirtualBox and importing the appliance, you'll be able to follow along and perform the exact same commands in the same environment. Lets install VirtualBox now. From a browser go to virtualbox.org slash wiki slash Downloads. This course uses Version 4.3.14, which at the time of the recording is the most current version. The client should be forward compatible with future versions, so don't worry if the version you download is newer. If you want to download the exact version that was used in the course, use the VirtualBox older builds link. On the download page there are several options. The term Host refers to your current operating system so, if you have Windows, download VirtualBox for Windows Hosts and if you have a Mac, download VirtualBox for OS X Hosts. Once VirtualBox is installed, run the manager, then go up to File, Import appliance. And navigate to wherever the virtual appliance is stored. I have my exercise files in a folder on the desktop. Click open, and continue. When ready, click import. After a minute or two, the guest vm will be available to start. Accessing the Virtual Appliance is easy over the network. We use the host name of localhost which is a special networking name for the computer that you're on. The Virtual Appliance uses port forwarding to expose the two services that we'll be interacting with, which transparently sends network traffic between the host and the guest. I've intentionally used nonstandard ports to avoid potential conflicts with services that you may already be running on your computer.
One of the services on the virtual appliance, secure shell, normally runs on port 22 on the guest and is forwarded to the host operating system on port 2222. Therefore, we'll need to SSH to port 2222 to be able to access the server's command line. The credentials for the server are the username of user and the password of lynda.com. I'll demonstrate how to SSH on the server later in the course. The other servers httpd is the one that will be served by Apache which runs on port 80 on the guest. I forwarded it to port 8080 on the host. In order to access pages served by Apache, we'll need to tell the web browser to connect to Port 8080 to access. This is really easy, just use http://localhost:8080 as the address. I'll also demonstrate how to access the server with your browser later on.