First Technology Transfer

Standard and Advanced Technical Training, Consultancy and Mentoring

WEB101 Apache Web Server - Installation, Configuration and Administration (5 days)

Course Outline

The Apache Web Server course covers the main concepts and practical deployment of the APACHE Web server. It teaches, and explains, the commonly used configuration commands in detail and practical experience in installing and configuring APACHE on Linux and Microsoft Windows systems. Practical exercises will cover configuration using the APACHE Server Directives, stopping and starting the APACHE Web Server, configuring APACHE to work with PHP and Python and how to setup basic authentication. Advanced exercises will also cover configuring Apache as a Proxy Server, configuring load balancing and configuring Apache to support FastCGI.


The course is suitable for programmers, administrators and support personnel who need to understand the APACHE Web Server, APACHE server configuration, and the integration with CGI scripts. Attendees are expected to have a sound knowledge of operating systems as well as some familiarity with scripting languages such as Python, PHP or Ruby. A knowledge of basic system administration is also desirable.

Course Contents

  • Introduction to the APACHE Web Server
    • APACHE Architecture
    • Client Side
    • Server Side
  • Installing APACHE
    • APACHE Binaries
    • Directories and Permissions
    • Modules
  • Starting APACHE
    • Options to httpd
    • Starting Manually
    • Setting up Automatic System Start
  • Configuring APACHE
    • httpd.conf File
    • Security
    • Document Root
    • Basic Server Directives
  • Basic Security and Access Configuration
    • Passwords
    • Authentication
    • Allow - Deny
    • Aliases
  • Hosting Multiple Sites
    • Virtual Hosting
    • Name Based Virtual Hosting
    • IP-Based Virtual Hosting
    • Port-Based Virtual Hosting
  • Configuring Apache for PHP and Installing PHP
    • Overview of PHP
    • Creating and deploying PHP pages
    • Overview of serving dynamic web content with PHP
  • Tomcat
    • Tomcat design and architecture
    • Overview of JSP (Java Server Pages) and Servlets
    • Using Apache to Proxy to Tomcat
  • URL Rewriting
    • Managing the lifecycle of web server content
    • Rewrite of moved or named URLS
    • Provide access to pages based on e.g. the time of day
  • SSL
    • Overview of Encryption - Symmetric and Asymmetric
    • Overview of SSL certificates
    • Configuring SSL and HTTPS access to Apache
    • Testing secure web access using authentication over SSL
  • Proxy Server
    • Forward and Reverse Proxy Servers
    • Configuring Apache as a Proxy Server
    • Cacheing
  • Logging
    • Standard Logging
    • Custom Logging
    • Monitoring Site Usage
  • Load Balancing
    • Scaling web site deployments
    • Load Balancing with Apache and the Apachemod_proxy_balancer module
    • Overview of load balancing in the Cloud
  • Installing APACHE on Windows
    • 32 bit vs. 64 bit Windows systems
    • Stopping and starting Apache as a Windows service
    • Stopping and starting Apache from the command line
    • Httpd.conf on Windows
  • Integrated installations - Linux, Windows
    • LAMP - Linux
    • WAMP - Windows
    • XAMPP - Linux or Windows
    • Wordpress - Basic installation of Wordpress on Linux, Windows