Buying Options
Practical mod_perl
Print $49.95
Add to Cart
Print+Ebook $54.95
Add to Cart
Ebook $39.99
Add to Cart
Safari Books Online
Add to Cart
What is this?
Print £38.50
Add to Cart
What is this?
Description
mod_perl embeds the popular programming language Perl in the Apache web server, giving rise to a fast and powerful web programming environment. Written for Perl web developers and web administrators, Practical mod_perl is an extensive guide to the nuts and bolts of the powerful and popular combination of Apache and mod_perl. From writing and debugging scripts to keeping your server running without failures, the techniques in this book will help you squeeze every ounce of power out of your server. True to its title, this is the practical guide to mod_perl.
Full Description
Table of Contents
  1. mod_perl Administration

    1. Chapter 1 Introducing CGI and mod_perl

      1. A Brief History of CGI
      2. The Apache 1.3 Server Model
      3. The Development of mod_perl 1.0
      4. Apache 1.3 Request Processing Phases
      5. References
    2. Chapter 2 Getting Started Fast

      1. Installing mod_perl 1.0 in Three Steps
      2. Installing mod_perl on Unix Platforms
      3. Configuring and Starting the mod_perl Server
      4. Installing mod_perl for Windows
      5. Preparing the Scripts Directory
      6. A Sample Apache::Registry Script
      7. A Simple mod_perl Content Handler
      8. Is This All We Need to Know About mod_perl?
      9. References
    3. Chapter 3 Installing mod_perl

      1. Configuring the Source
      2. Building mod_perl (make)
      3. Testing the Server (make test)
      4. Installation (make install)
      5. Installation Scenarios for Standalone mod_perl
      6. Building mod_perl with Other Components
      7. Installing mod_perl with the CPAN.pm Interactive Shell
      8. Installing mod_perl on Multiple Machines
      9. Installation into a Nonstandard Directory
      10. How Can I Tell if mod_perl Is Running?
      11. General Notes
      12. References
    4. Chapter 4 mod_perl Configuration

      1. Apache Configuration
      2. mod_perl Configuration
      3. The Startup File
      4. Apache Configuration in Perl
      5. Validating the Configuration Syntax
      6. The Scope of mod_perl Configuration Directives
      7. Apache Restarts Twice
      8. Enabling Remote Server Configuration Reports
      9. Tips and Tricks
      10. Configuration Security Concerns
      11. General Pitfalls
      12. References
    5. Chapter 5 Web Server Control, Monitoring, Upgrade, and Maintenance

      1. Starting the Server in Multi-Process Mode
      2. Starting the Server in Single-Process Mode
      3. Using kill to Control Processes
      4. Using apachectl to Control the Server
      5. Validating Server Configuration
      6. Setuid root Startup Scripts
      7. Preparing for Machine Reboot
      8. Upgrading a Live Server
      9. Three-Tier Server Scheme: Development, Staging, and Production
      10. Web Server Monitoring
      11. Server Maintenance Chores
      12. References
    6. Chapter 6 Coding with mod_perl in Mind

      1. Before You Start to Code
      2. Exposing Apache::Registry Secrets
      3. Namespace Issues
      4. Perl Specifics in the mod_perl Environment
      5. CHECK and INIT Blocks
      6. Apache::Registry Specifics
      7. Transition from mod_cgi Scripts to Apache Handlers
      8. Loading and Reloading Modules
      9. Handling the "User Pressed Stop Button" Case
      10. Handling Server Timeout Cases and Working with $SIG{ALRM}
      11. Generating Correct HTTP Headers
      12. Method Handlers: The Browse and See, Browse and View Example
      13. References
  2. mod_perl Performance

    1. Chapter 7 Identifying Your Performance Problems

      1. Looking at the Big Picture
      2. Asking the Right Questions
      3. References
    2. Chapter 8 Choosing a Platform for the Best Performance

      1. Choosing the Right Operating System
      2. Choosing the Right Hardware
      3. References
    3. Chapter 9 Essential Tools for Performance Tuning

      1. Server Benchmarking
      2. Perl Code Benchmarking
      3. Process Memory Measurements
      4. Apache::Status and Measuring Code Memory Usage
      5. Code Profiling Techniques
      6. References
    4. Chapter 10 Improving Performance with Shared Memory and Proper Forking

      1. Sharing Memory
      2. Forking and Executing Subprocessesfrom mod_perl
      3. References
    5. Chapter 11 Tuning Performance by Tweaking Apache's Configuration

      1. Setting the MaxClients Directive
      2. Setting the MaxRequestsPerChild Directive
      3. Setting MinSpareServers, MaxSpareServers, and StartServers
      4. KeepAlive
      5. PerlSetupEnv
      6. Reducing the Number of stat( ) Calls Made by Apache
      7. Symbolic Links Lookup
      8. Disabling DNS Resolution
      9. Response Compressing
      10. References
    6. Chapter 12 Server Setup Strategies

      1. mod_perl Deployment Overview
      2. Standalone mod_perl-Enabled Apache Server
      3. One Plain and One mod_perl-Enabled Apache Server
      4. One Light Non-Apache and One mod_perl-Enabled Apache Server
      5. Adding a Proxy Server in httpd Accelerator Mode
      6. The Squid Server and mod_perl
      7. Apache's mod_proxy Module
      8. mod_rewrite Examples
      9. Getting the Remote Server IP in the Backend Server in the Proxy Setup
      10. Frontend/Backend Proxying with Virtual Hosts
      11. HTTP Authentication with Two Servers and a Proxy
      12. When One Machine Is Not Enough for Your RDBMS DataBase and mod_perl
      13. Running More than One mod_perl Server on the Same Machine
      14. SSL Functionality and a mod_perl Server
      15. Uploading and Downloading Big Files
      16. References
    7. Chapter 13 TMTOWTDI: Convenience and Habit Versus Performance

      1. Apache::Registry PerlHandler Versus Custom PerlHandler
      2. Apache::args Versus Apache::Request::param Versus CGI::param
      3. Buffered Printing and Better print( ) Techniques
      4. Interpolation, Concatenation, or List
      5. Keeping a Small Memory Footprint
      6. Object Methods Calls Versus Function Calls
      7. Using the Perl stat( ) Call's Cached Results
      8. time( ) System Call Versus $r->request_time
      9. Printing Unmodified Files
      10. Caching and Pre-Caching
      11. Caching with Memoize
      12. Comparing Runtime Performance of Perl and C
      13. References
    8. Chapter 14 Defensive Measures for Performance Enhancement

      1. Controlling Your Memory Usage
      2. Coding for a Smaller Memory Footprint
      3. Conclusion
      4. References
    9. Chapter 15 Improving Performance Through Build Options

      1. Server Size as a Function of Compiled-in Features
      2. mod_status and ExtendedStatus On
      3. DYNAMIC_MODULE_LIMIT Apache Build Option
      4. Perl Build Options
      5. Architecture-Specific Compile Options
      6. References
    10. Chapter 16 HTTP Headers for Optimal Performance

      1. Date-Related Headers
      2. Content Headers
      3. Content Negotiation
      4. HTTP Requests
      5. Avoiding Dealing with Headers
      6. References
  3. Databases and mod_perl

    1. Chapter 17 Databases Overview

      1. Volatile Databases
      2. Non-Volatile Databases
      3. References
    2. Chapter 18 mod_perl Data-Sharing Techniques

      1. Sharing the Read-Only Data in and Between Processes
      2. Sharing Data Between Various Handlers
      3. References
    3. Chapter 19 DBM and mod_perl

      1. mod_perl and DBM
      2. Resource Locking
      3. Flawed Locking Methods
      4. Locking Wrappers Overview
      5. Tie::DB_Lock
      6. Examples
      7. References
    4. Chapter 20 Relational Databases and mod_perl

      1. Persistent Database Connections with Apache::DBI
      2. Improving Performance
      3. DBI Debug Techniques
      4. References
  4. Debugging and Troubleshooting

    1. Chapter 21 Error Handling and Debugging

      1. Warnings and Errors Explained
      2. Debugging Code in Single-Server Mode
      3. Tracing System Calls
      4. Tracing mod_perl-Specific Perl Calls
      5. Debugging Perl Code
      6. Analyzing Dumped core Files
      7. Hanging Processes: Detection and Diagnostics
      8. Useful Debug Modules
      9. Looking Inside the Server
      10. References
    2. Chapter 22 Troubleshooting mod_perl

      1. Configuration and Startup
      2. Code Parsing and Compilation
      3. Runtime
      4. Shutdown and Restart
    3. Chapter 23 Getting Help and Online Resources

      1. How to Report Problems
      2. Mailing List Etiquette
      3. Resources
  5. mod_perl 2.0

    1. Chapter 24 mod_perl 2.0: Installation and Configuration

      1. What's New in Apache 2.0
      2. What's New in Perl 5.6.0-5.8.0
      3. What's New in mod_perl 2.0
      4. Installing mod_perl 2.0
      5. Configuring mod_perl 2.0
      6. Resources
    2. Chapter 25 Programming for mod_perl 2.0

      1. Migrating to and Programming with mod_perl 2.0
      2. New Apache Phases and Corresponding Perl*Handlers
      3. I/O Filtering
  6. Appendixes

    1. Appendix A mod_perl Recipes

      1. Emulating the Authentication Mechanism
      2. Reusing Data from POST Requests
      3. Redirecting POST Requests
      4. Redirecting While Maintaining Environment Variables
      5. Handling Cookies
      6. Sending Multiple Cookies with the mod_perl API
      7. Sending Cookies in REDIRECT Responses
      8. CGI::params in the mod_perlish Way
      9. Sending Email from mod_perl
      10. mod_rewrite in Perl
      11. Setting PerlHandler Based on MIME Type
      12. Singleton Database Handles
      13. Terminating a Child Process on Request Completion
      14. References
    2. Appendix B Apache Perl Modules

      1. Development-Stage Modules
      2. Modules to Aid Debugging
      3. Control and Monitoring Modules
      4. Server Configuration Modules
      5. Authentication-Phase Modules
      6. Authorization-Phase Modules
      7. Access-Phase Modules
      8. Type Handlers
      9. Trans Handlers
      10. Fixup Handlers
      11. Generic Content-Generation Modules
      12. Application-Specific Content-Generation Modules
      13. Database Modules
      14. Toolkits and Frameworks for Content-Generation and Other Phases
      15. Output Filters and Layering Modules
      16. Logging-Phase Handlers
      17. Core Apache Modules
      18. Other Miscellaneous Modules
    3. Appendix C ISPs Providing mod_perl Services

      1. Users Sharing a Single Web Server
      2. Users Sharing a Single Machine
      3. Giving Each User a Separate Machine (Colocation)
      4. Giving Each User a Virtual Machine
    4. Appendix D The Template Toolkit

      1. Fetching and Installing the Template Toolkit
      2. Overview
      3. Typical Uses
      4. Template Toolkit Language
      5. Processing Templates
      6. Apache/mod_perl Handler
      7. Apache::Template Module
      8. Hangman Application
      9. References
    5. Appendix E The AxKit XML Application Server

      1. Installing and Configuring AxKit
      2. Your First AxKit Page
      3. Dynamic Content
      4. More XPathScript Details
      5. XSLT
      6. Putting Everything Together
      7. More Reasons to Use AxKit
    6. Appendix F HTTP Status Codes

      1. HTTP/1.0 Status Codes
      2. HTTP/1.1 Status Codes
      3. References
  1. Colophon

View Full Table of Contents
Product Details
Title:
Practical mod_perl
By:
Stas Bekman, Eric Cholet
Publisher:
O'Reilly Media
Formats:
  • Print
  • Ebook
  • Safari Books Online
Print Release:
May 2003
Ebook Release:
February 2009
Pages:
928
Print ISBN:
978-0-596-00227-5
| ISBN 10:
0-596-00227-0
Ebook ISBN:
978-0-596-10354-5
| ISBN 10:
0-596-10354-9
Customer Reviews
About the Authors
  1. Stas Bekman

    Stas Bekman is the author of The mod_perl Guide, the Open Source document that is the basis for this book. Stas is a member of the Apache Software Foundation and is a multiple speaker at the O'Reilly Open Source Conference. Stas is also a regular author for Perl.com.

    View Stas Bekman's full profile page.

  2. Eric Cholet

    Eric Cholet is a member of the Apache Software Foundation and the Paris Perl Mongers. He is technical director of Logilune, a Paris-based company that he co-founded in 1987, and a speaker at the O'Reilly Open Source Conference.

    View Eric Cholet's full profile page.

Colophon

Our look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects. The animal on the cover of Practical mod_perl is a Thoroughbred horse. The Thoroughbred, also called the English running horse, originated in England from crossbreeding an Arabian horse and a Turkish horse to create the fastest racing horse in the world. One of the swiftest of all creatures and the fastest of horses, the Thoroughbred can maintain speeds of up to 45 miles per hour for more than a mile. This makes the Thoroughbred best-suited for racing, as well as for polo.

Thoroughbreds average 16 hands and 1,100 pounds in size. They have a leggy appearance, complemented by a long, light neck. Their heads are proportionate to their bodies, and their wide foreheads are often adorned with white markings. In addition to their strong physical characteristics, Thoroughbreds' personalities are noted for their strength, courage, determination, and will. However, due to their breeding, they also tend to be racy and nervous.

The integrity of the breed is closely maintained through stud documentation. Since 1977, every foal registered in the American Stud Book must be blood-typed to prove its origins. Linley Dolby was the production editor, and Rachel Wheeler was the copyeditor for Practical mod_perl. Sada Preisch and Jane Ellin proofread the book, and Claire Cloutier provided quality control. Tom Dinse wrote the index. Derek Di Matteo, Matt Hutchinson, and Jamie Peppard provided production assistance.

Ellie Volckhausen designed the cover of this book, based on a series design by Edie Freedman. The cover image is a 19th-century engraving from the Dover Pictorial Archive. Emma Colby produced the cover layout with QuarkXPress 4.1 using Adobe's ITC Garamond font.

Bret Kerr designed the interior layout, based on a series design by David Futato. This book was converted by Linda Mui and Andrew Savikas to FrameMaker 5.5.6 with a format conversion tool created by Erik Ray, Jason McIntosh, Neil Walls, and Mike Sierra that uses Perl and XML technologies. The text font is Linotype Birka; the heading font is Adobe Myriad Condensed; and the code font is LucasFont's TheSans Mono Condensed. The illustrations that appear in the book were produced by Robert Romano and Jessamyn Read using Macromedia FreeHand 9 and Adobe Photoshop 6. This colophon was written by Linley Dolby.

  • Book cover of Practical mod_perl