Intro to Apache
ApacheCon 2005
Rich Bowen - <rbowen@apache.org>
Introduction To the Apache Web Server
A little about me
Can I get a copy of your notes?
What we'll cover in the next 3 hours
And ...
And ...
General talk layout
What about 2.0?
Do you have enough time for all that?
So if it feels rushed ...
What is Apache, Prehistory
What is Apache?
Patchy?
Important releases
2.0
Version 2.0
Support for Apache
The Apache Architecture (1.3)
The Apache Architecture (2.0)
2.0 Architecture - MPMs
About HTTP and MIME
The HTTP conversation
What to do with the content?
HTTP: Headers
Headers: example
SSL conversation
SSL conversation
Modules
Modules: How they work (sort of)
Modules: How they work, a little better explanation
Obtaining and Installing Apache
Getting Apache
What will Apache run on?
Installing Apache
Verify signature
Installing ...
Installing ...
What each of these parts do - ./configure
Arguments to ./configure
./configure
List of standard modules (1.3)
List of standard modules (2.0)
More about configure
configure examples
DSO support
Loading modules
Compiling modules
Back to installing ...
What each of these parts do - apachectl start
Or, of course, packages
Package vs source?
Building with mod_perl
Apache ToolBox
apxs
Configuring apache
Other configuration files
srm.conf, access.conf
3 config files
.htaccess files
.htaccess files: Dispelling the myth
Include files
Include directories
Configuring cont'd: Directives
Directive documentation
Directives examples
Configuring cont'd: containers
Containers:
Handlers
Configuring cont'd: Preconfigured systems
Comanche
Virtual hosts
IP-based virtual hosts
Name-based virtual hosts
mod_vhost_alias
port-based (sort of)
apachectl
apachectl, cont'd
httpd
httpd command line arguments
httpd, cont'd
Starting on system restart
Hour 2
CGI
Or, in shell
Or, in C
Useless examples
CGI cont'd
CGI libraries
CGI shortcomings
CGI advantages
CGI: Handling errors
CGI: Troubleshooting errors
CGI: Troubleshooting errors (Step 2)
mod_cgid (2.0)
mod_perl
Other dynamic content providers
Other dynamic content providers
Performance
Performance - measuring.
ab - example
Performance - Tuning
Performance tuning - Hardware and OS
Performance tuning - hardware ...
Performance tuning - Config settings
Performance - DNS
Performance - .htaccess files
Performance - Process creation
Performance - Content negotiation
Performance - Symlinks
Hour 3
Security - File permissions
Security - CGI and suexec
Security - denying access to non-doc directories
More about Security
Authentication
Basic authentication
Basic auth, configuration
Basic auth, configuration cont'd
Basic Auth - sample config
Digest authentication
Managing access files - 1
Managing password files - htpasswd
Managing group file
Authentication against other things
mod_auth_db, mod_auth_dbm
mod_auth_mysql
Other auth modules
AAA in 2.1
Apache::AuthCookie and Apache::AuthCookieDBI
SSL
Log files
Common log file format
access_log contents
Server Status strings, ultra-simplified
Custom logs
Custom logs - formats
Custom log - examples
Extended log format
Server log reporting
Log file statistics
Log file reporting and Perl
Error logs
Participating/Contributing
Additional resources
Summary
Questions?
Bonus material
Migrating to 2.0
Authentication
DAV
DAV
DAV - security
cadaver
mod_perl
CGI under mod_perl
Apache::PerlRun
Apache::Registry
mod_perl handlers
mod_perl handlers
mod_perl handlers
mod_perl handlers
mod_perl disadvantages
mod_perl advantages
More about mod_perl
ApacheCon 2005 : Intro to Apache