Course Description
In this three-day hands-on course students learn how to build, install, configure, and maintain an Apache Web server. Web-related issues such as enabling dynamic Web content, Web server security, virtual hosting as well as system performance issues are covered in this course.
Course Objectives
Upon successful completion of this course, students will be able to:
- Describe the evolution of Apache Web Server to its current architecture.
- Build, install, configure and maintain an Apache Web server in an UNIX/Linux environment.
- Monitor server activity and configure log files and log file analysis tools.
- Enable dynamic Web content with CGI scripts, Perl, Server-side includes, JSP and PHP.
- Seamlessly connect Apache with Tomcat.
- Restrict access to Apache Web Server by basic authentication, IP address, browser type and other methods.
- Enable IP-based, named-based, and port-based virtual hosting.
- Enable secure electronic transactions with Secure Sockets Layer (SSL) and digital certificates.
- Track user sessions with cookies.
- Extend Apache by integrating popular third-party modules.
- Use Apache as a proxy server.
Course Benefits
Apache is the most widely deployed Web server on the Internet, offering excellent performance and stability. In this course, students build a complete Web server solution from scratch and gain hands-on experience installing, configuring, extending and maintaining Apache to provide secure and reliable Web services.
Who Should Attend
This course is valuable for anyone involved in setting up a Web server, or anyone planning to implement or maintain a Web-based solution on UNIX/Linux systems.
Prerequisite
To ensure your success, we recommend you first take either our Introduction To UNIX course or our Introduction To Linux course, or have the equivalent knowledge. Familiarity with Web browsers, a text editor, and basic UNIX/Linux command line interface is assumed.
Method Of Instruction
Lecture, demonstrations, several short interactive quizzes, and numerous hands-on exercises.
Hands-on Exercises
Throughout this course, students perform a series of extensive hands-on exercises, culminating in the deployment of a fully functional e-commerce application running on Apache, including:
- Unpacking, compiling, building and configuring Apache
- Customizing the Apache default configuration
- Configuring and monitoring Apache log files
- Installing Open Source log analysis tool to view logs graphically in your browser
- Examine Environment Variables with CGI
- Enabling and running Server-Parsed HTML
- Server-side processing with Perl
- Enabling and running PHP
- Installing Tomcat, and seamlessly connecting Apache with Tomcat to run Java servlets
- Using security directives and customized password files to control access to your Web site
- Manage large user populations with
mod_mysql
- Setting up a Domain Name System (DNS) to enable virtual hosting
- Configuring Apache for virtual hosting
- Downloading and certifying Apache updates and modules
- Enabling secure transactions with SSL
- Setting a cookie with
mod_usertrack
- Enabling Fancy Indexing
- Creating Personal Web Pages
- Uploading Web pages with Cadaver
- Setting up the Apache Web Server to act as proxy server
Course Outline
Chapter 1: Introduction to Apache Web ServerChapter 2: Unpacking, Building and Installing Apache
- Apache Web Server Evolution
- Apache Architecture and Features
- Apache's Role in the Internet
- The Open Source paradigm
- Who uses Apache
Chapter 3: Configuring Apache
- Obtaining Apache software
- Uncompressing Apache Files
- Building and Installing Apache Web Server
- Customizing Apache with
configure
- Starting and Stopping Apache with
apachectl
Chapter 4: Monitoring Server Activity
- Differences between Apache 1.3 and Apache 2.0 and Apache 2.2 and Apache 2.4
httpd
options- Organizing the
httpd.conf
file- Containers and other directives
- Dynamic Shared Objects
- Measuring performance with
ab
Chapter 5: Server-side Processing
- Activity and error tracking with log files
- The Common Log Format (CLF)
- Creating custom logs
- Enabling and administering the logging process
- Limiting the size of log files
- Displaying server activity and build information
- Log analysis tools such as
wwwstat
andanalog
Chapter 6: Security
- Delivering Dynamic Web Content
- Apache's Role in the Dynamic Web
- Develop a Dynamic Web Model
- Environment Variables
- Enabling and Securing CGI scripts
- Communicating with CGI programs
- Implementing server-side includes with
mod_include
- Adding Perl functionality with
mod_perl
- Extending Apache with
mod_php
- Supporting Java servlets with Tomcat
- Seamlessly connecting Apache with Tomcat
Chapter 7: Virtual Web Hosting
- The UNIX security model
- Authenticating users
- Restricting access by IP address
- Restricting access by domain name
- Restricting access by User ID
- Restricting access by group membership
- Restricting access by browser type
- Managing large user populations
Chapter 8: Enabling Secure Transactions
- How DNS works
- Setting up a DNS to resolve names
- Assigning IP addresses with
ifconfig
- IP-based virtual hosting
- Named-based virtual hosting
- Port-based virtual hosting
- Massive virtual hosting
- Comparing and contrasting virtual hosting solutions
- Load balancing with IP Mirroring
Chapter 9: Extending Apache with Modules
- The need for secure transactions
- Symmetric and asymmetric key encryption
- Verifying software integrity with GPG
- Installing digital certificates
- Adding
mod_ssl
to Apache- Enabling secure transactions with Secure Sockets Layer (SSL)
- Built-in and third-party modules
- Adding modules into Apache
- Enabling cookies with
mod_usertrack
- Adding multilingual support to your Web server
- Setting Apache to be a Proxy Server with ProxyPass
- Aliases and Redirection
- Fancy Indexing
- Managing directories with
mod_dir
- Creating personal Web pages
- Uploading with Cadaver
- Server-side image maps with
mod_imap
- Making your Apache Web Server Section 508 compliant