Skip to main content

Linux Apache Web Server Administration, 2nd Edition

Linux Apache Web Server Administration, 2nd Edition

Charles Aulds

ISBN: 978-0-782-14137-5

Oct 2002

624 pages

Select type: Paperback

Product not available for purchase


Authoratative Answers to All Your Apache Questions--Now Updated to Cover Apache 2.0
Linux Apache Web Server Administration is the most complete, most advanced guide to the Apache Web server you'll find anywhere. Written by a leading Apache expert--and now updated to cover Apache 2.0--this book teaches you, step-by-step, all the standard and advanced techniques you need to know to administer Apache on a Linux box. Hundreds of clear, consistent examples illustrate these techniques in detail--so you stay on track and accomplish all your goals. Coverage includes:
* Compiling Apache from source code
* Creating and hosting virtual web sites
* Using Server-Side Includes to create Web pages with dynamic content
* Using Apache directives to configure your site
* Extending Apache using add-on modules
* Using the Common Gateway Interface for web programming
* Enhancing the performance of CGI programs with FastCGI and mod_perl
* Installing Apache support for PHP
* Extending Apache to run Java servlets or Java Server Pages
* Attaching Apache to a database server
* Using URL rewriting for increased request-handling flexibility
* Implementing user authentication
* Adding Secure Sockets Layer for enhanced system security
* Customizing Apache's log formats
The Craig Hunt Linux Library
The Craig Hunt Linux Library provides in-depth, advanced coverage of the key topics for Linux administrators. Topics include Samba, System Administration, DNS Server Administration, Network Servers, Security, and Sendmail. Each book in the series is either written by or meticulously reviewed by Craig Hunt to ensure the highest quality and most complete coverage for networking professionals working specifically in Linux environments.


Part 1: How Things Work.

Chapter 1: An Overview of the World Wide Web.

Chapter 2: Apache and Other Web Servers.

Part 2: Essential Configuration.

Chapter 3: Installing Apache.

Chapter 4: A Basic Apache Server.

Chapter 5: Apache Modules.

Chapter 6: Virtual Hosting 145.

Part 3: Advanced Configuration Options.

Chapter 7: Server-Side Includes.

Chapter 8: Scripting/Programming for Apache.

Chapter 9: Aliasing and Redirection.

Chapter 10: Controlling Apache.

Part 4: Maintaining a Healthy Server.

Chapter 11: Apache Logging.

Chapter 12: Proxying and Performance Tuning.

Chapter 13: Basic Security for Your Web Server.

Chapter 14: Secure Sockets Layer.

Chapter 15: Metainformation and Content Negotiation.


Appendix A: Apache Directives.

Appendix B: Online References.

Appendix C: Transferring Files to Apache.

Appendix D: Using Apache Documentation Effectively.


Download All Code Used in the Book
Download a .zip file with all the source code and examples used in the book.
To uncompress the file, Windows users can use Windows built-in ZIP utilities or a 3rd party utility like WinZip or WinRAR. Macintosh users can simply double-click the downloaded file to extract using the built-in archive utility.
ChapterPageDetailsDatePrint Run
Combined Errata

Page 90

14th line, should read: # chown -R webuser.webteam /home/httpd
I recommend running Apache as a user other than the default "nobody" account on Linux, not because "nobody" is inherently an insecure account, but mainly because I avoid using any and all default accounts that can be found on all Linux systems. Just like I always disable the Guest account on an Windows 2000 system.

I would make the Web server run as a member of a group that has read-only access permissions to the Apache server's DocumentRoot and read/execute permissions to cgi-bin. But make sure both folders are owned by a user account different from the one under which the httpd listener processes run. This is what I intended to recommend in the 2nd edition of my Apache book, but what actually got printed is in error.

The group under which Apache runs is granted read access to the directory defined by DocumentRoot (to include PHP scripts, which don't require the execute bit to run). and read/execute access to all directories containing CGI scripts (Apache can read and execute the contents of cgi-bin, but CANNOT write them), sort of like:

# chown -R webuser.webteam /home/httpd
# chown -R 744 /home/httpd/*
# chmod -R 754 /home/httpd/cgi-bin/*

Apache would run as a member of the group "webteam", but would NOT run as the "webuser" account. Note that all other user accounts have read access only, and cannot write to or execute files in the Web directories. Note that, to create or edit files in DocumentRoot or cgi-bin, users will require access to the "webuser" account.
I hope that helps clear things up.

The user www on pg 90 that you are changing permissions to write CGI scripts in cgi-bin is the same user created on pg 93 that is written in httpd.conf to run the httpd child processes. On Pg 90 it states not to allow Apache to write to to the cgi-bin. Pg 90 should read instead:

# chown -R webuser.webteam /home/httpd/cgi-bin