Apache Web Server Course Overview This Apache Web Server course introduces the delegate to the main concepts of the APACHE Web server. The course covers the basic operation of the web server,configuration,URL mapping,directory indexing,virtual hosting,performance tuning,and security. Although this course is based on the Linux distribution,the delegate should be able to apply the concepts covered on this course to any APACHE Web Server,despite the OS differences,as the configuration is the same on all platforms. Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.
TARGET AUDIENCE:
Who will the Course Benefit? Programmers,administrators and support personnel who need to understand the APACHE Web Server,APACHE server configuration,and the integration with CGI scripts.
COURSE PREREQUISITES:
Requirements Good operating system knowledge similar to that covered on our Linux Introduction course or an equivalent Windows course is required. Some programming experience such as PHP Developer or Ruby Programming and familiarity with general web concepts may also prove advantageous. Previous knowledge/attendance on a Linux System Administration (LPI) course or equivalent would also be beneficial,although not required.
COURSE CONTENT:
Apache Web Server Training Course Course Contents – DAY 1 Course Introduction • Administration and Course Materials • Course Structure and Agenda • Delegate and Trainer Introductions Session 1: INTRODUCTION TO THE APACHE WEB SERVER • What is Apache • Configuration Directories • Web site Directories • httpd Session 2: BASIC CONFIGURATION • Httpd conf file • Security • Performance • Modules • Listen • Mime • Web Pages • Error Handling Session 3: ACCESS CONTROL • Access Control • Block Directives • Diretory Block • Directory Match • Location block • IfModule Block • CONTROLLING ACCESS • Authenticated Access • Authentication Directives • Using an LDAP Authentication Source • Behavioural Directives • Options Directive • Option Keywords • AllowOverRide Directive • DirectorySlash Directive Session 4: LOGGING • Custom Logging • Logformat directive • CustomLog directive • String Format Syntax • ErrorLog Formatting Session 5: VIRTUAL HOSTING • Multiple Sites (virtual hosting) • Name based • IP BASED • Port based • Dynamic Virtual Hosting Apache Web Server Training Course Course Contents – DAY 2 Session 6: APACHE PROXY • Proxy Server • Forward Proxying • ProxyPass • ProxyPassReverse Session 7: LOAD BALANCING • Load Balancing • mod_proxy_balancer • Load balancer scheduler algorithm • Load balancing 'stickyness' • Balancing Methods • Request Counting • Weighted Traffic Counting Algorithm • Pending Request Counting Algorithm • Balancer Manager Session 8: INDEXING • Indexing • Indexoptions • FancyIndexing • FoldersFirst • HTMLTable • IndexIgnore • AddDescription • AddIcon • AddIconByType Session 9: REWRITING • Rewrite logging • Using rewrite within Virtual hosts • Regular Expressions • Regex Back-Reference Availability • Rewriterule Basics • Rewriterule Flags • Rewrite Conditions • Accessing a Renamed File • Different pages based on the time of day Apache Web Server Training Course Course Contents – DAY 3 Session 10: APACHE SSL • Secure Socket Layer (SSL) for Apache Session 11: APACHE AND PHP • Apache with PHP • Loading php module • Enabling PHP in Apache Session 12: APACHE AND TOMCAT • Tomcat Session 13: APACHE WORKSHOPS • Workshop 1 • Workshop 1 solution • Workshop 2 • Workshop 2 solution • Workshop 3 • Workshop 3 solution • Workshop 4 • Workshop 4 solution • Workshop 5 • Workshop 5 solution • Workshop 6 • Workshop 6 solution • Workshop 7 • Workshop 7 solution • Workshop 8 • Workshop 8 solution Addendum: Reference Materials (Sections below are provided within the course handbook for additional reading) Session 13: APPENDIX A – BUILDING AND INSTALLING APACHE • Apache Binaries • Directories and Permissions • Modules
COURSE OBJECTIVE:
Course Objectives To provide the skills needed to; configure and manage the APACHE Web Server environment.
FOLLOW ON COURSES:
Further Learning Python Programming 1 Ruby Programming Ruby on Rails PHP Developer Introduction to MySQL