Table of Contents
• Introduction: Revisiting Apache Essentials
Goals
• Learn about Apache and get very brief history of its origins and use.
• Discover what you will learn from Apache and what you will be able to accomplish with it.
• Question: where to use Apache or another web server, and what the benefits/drawbacks of each are.
Chapter 1: Installing Apache
Goals:
• Feel confident installing Apache on Windows, Linux, and MacOS for a development environment.
• Create a running installation of Apache serving its Hello World static HTML file.
Subtopics
• Instal Apache.
• Question: should to use something other than Apache?
• Manage dependencies (PHP, RewriteEngine, etc).
Chapter 2: Configuration Essentials
Goals
• Set up a basic Apache instance pointing to static HTML on http://localhost/.
• Develop an understanding of commonly used Apache directives.
• Learn .htaccess files and how/when to use them.
Subtopics
• Structure of Apache configuration files.
• Commonly used configuration directives.
• The .htaccess file. Benefits & drawbacks of putting configuration options in .htaccess.
• Put it all together.
Chapter 3: Scripting languages
Goals:
• Learn how the web server and programming languages work together to create websites.
• Configure your website securely for PHP or NodeJS.
• Configure your localhost to load an index.php instead of the default Apache HTML file.
Subtopics
• Overview.
• Commonly used scripting environments.
• PHP on Apache.
• NodeJS on Apache.
• Put it all together.
Chapter 4: setting up virtual hosts for development
Goals
• Learn about Apache virtual hosts and how to configure them.
• Set up a local dev domain — using local DNS settings or a tool such as ngrok.
• Create two development environments configured and accessible through the browser; one for PHP and another for NodeJS.
Subtopics
• Overview of virtual hosts.
• Set up a local dev domain.
• Configure Apache for multiple virtual hosts.
• Configure Apache for modern PHP and Node frameworks (example of setting up a NodeJS application).
Chapter 5: Securing your setup
Goals
• Understand the importance of using HTTPS by default.
• Recognize what SSL certificates are and how they work to secure communication between the browser and the server.
• Install an SSL certificate on their local Apache setup.
Subtopics
• How HTTPS works to secure data and why this is important.
• Get a certificate for your development environment.
• Put it all together.
Chapter 6: Using log files to troubleshoot your code
Goals
• Learn about Log files and what information they provide.
• Troubleshoot code problems via Apache’ s log files.
Subtopics
• About Apache’s log files.
• Configure Apache log files.
• Common troubleshooting patterns for PHP and NodeJS.
• A troubleshooting story (leads reader through analyzing and identifying an issue in a piece of faulty PHP code).
Chapter 7: Sample Apache Configurations
Goals
• Use one the 4-5 example Apache configurations in your own Apache configurations.
Subsections
• Basic configuration for PHP.
• Basic configuration for NodeJS.
• Protecting a directory / domain.
• Virtual Host configuration.
• Configuring for Rewritten URLs (URL redirecting).
Afterword
Goals
• Revisit main concepts from book. Looking forward to next steps.