You are previewing Plone 3.3 Site Administration.
O'Reilly logo
Plone 3.3 Site Administration

Book Description

Alex Clark's book will get you managing and enhancing your Plone website like a seasoned expert

  • Covers Plone basics from a site administrator's perspective

  • Learn how to use Buildout to develop, deploy, and maintain a modern Plone site

  • Enhance the functionality and appearance of your web site by using third-party add-ons

  • Features many useful Buildout recipes from the Python Package Index

  • Written by Alex Clark, an expert Plone site administrator and member of the plone.org infrastructure team

  • In Detail

    In the past few years, we have seen some dramatic changes in the way Plone sites are being developed, deployed, and maintained. As a result, developing and deploying sites, changing their default settings, and performing day to day maintenance tasks can be a challenge.

    This book covers site administration tasks, from setting up a development instance, to optimizing a deployed production site, and more. It demonstrates how-to perform these tasks in a comprehensive way, and walks the user through the necessary steps to achieve results.

    We have divided the subject of Plone site administration into three categories: development, deployment, and maintenance. We begin by explaining how a Plone site is built, and how to start using it through the web. Next, we add features by installing add-on products, focusing on themes, blogging, and other common enhancements. After the basics of developing and deploying a Plone site are covered, the book covers the basics of maintaining it.

    Further, throughout the book we preview some new technologies related to Plone site administration, available now as add-ons to the current Plone release. Finally, we will cover a variety of techniques to help you optimize your site's performance.

    This book presents a modern, customizable approach to keeping your Plone site running smoothly.

    Table of Contents

    1. Plone 3.3 Site Administration
    2. Credits
    3. Foreword
    4. About the Author
    5. About the Reviewer
    6. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Errata
        2. Piracy
        3. Questions
    7. 1. Background
      1. Site administration essentials
        1. Development
        2. Deployment
        3. Maintenance
      2. What you need to get started
        1. Modern computer
        2. Supported operating system
        3. Internet connection
        4. Terminal window
        5. Text editor
      3. About Plone installers
      4. About Python software distributions
        1. Using Python on Mac OS X
          1. Verify that Python works
        2. Installing Python on Windows
          1. Download the Python installer
          2. Run the Python installer
          3. Configure the Environment Variable Path
          4. Verify that Python works
          5. Install PyWin
        3. Using Python on Ubuntu Linux
          1. Verify that Python works
      5. How to install Distribute - a framework for managing Python packages
        1. Installing Distribute on Mac OS X
          1. Download distribute_setup.py
          2. Execute distribute_setup.py
          3. Verify that Distribute works
        2. Installing Distribute on Windows 7
          1. Download distribute_setup.py
          2. Execute distribute_setup.py
          3. Verify that Distribute works
        3. Installing Distribute on Ubuntu Linux
          1. Download distribute_setup.py
          2. Execute distribute_setup.py
          3. Verify that Distribute works
      6. How to install PIP: a more user friendly Python package installer
        1. Installing PIP on Mac OS X
        2. Installing PIP on Windows 7
        3. Installing PIP on Ubuntu Linux
      7. How to install Buildout - a tool for building software
        1. Installing Buildout on Mac OS X
        2. Installing Buildout on Windows 7
        3. Installing Buildout on Ubuntu Linux
      8. More about Python software distributions
      9. How to install a C compiler
        1. Installing a C compiler on Mac OS X
          1. Installing XCode
          2. Verify that GCC works
        2. Installing a C compiler on Windows
          1. Downloading MinGW
          2. Installing MinGW
          3. Adding MinGW to the Environment Variable Path
          4. Verify that GCC works
          5. Configuring Distutils
        3. Installing a C compiler on Ubuntu Linux
          1. Verify that GCC works
          2. Installing additional development libraries
      10. How to install Subversion - a version control system
        1. Using Subversion on Mac OS X
          1. Verify that Subversion works
        2. Installing Subversion on Windows
          1. Downloading Subversion
          2. Installing Subversion
          3. Verify that Subversion works
        3. Installing Subversion on Ubuntu Linux
          1. Verify that Subversion works
      11. How to install Python with Buildout
        1. Running the first buildout
        2. Running the second buildout
        3. Verify that Python works
      12. Summary
    8. 2. Site Basics
      1. More about Buildout
        1. Configuration file format
        2. About the Python buildout
          1. The buildout section
          2. Adding parts
        3. Global versus local Buildout command
        4. Introducing the Plone buildout
          1. Using the extends parameter to specify versions
          2. Using plone.recipe.zope2install to install Zope 2
          3. Using plone.recipe.zope2instance to create a Zope 2 instance
          4. The PIL problem
            1. Using the Python buildout
            2. Using PIP
            3. Adding PIL to your buildout
          5. Bootstrapping and running the buildout
        5. Adding a Plone site
          1. Starting Plone and adding a Plone site manually
          2. Changing the top-level Zope user's password
          3. Adding a Plone site with Buildout
      2. Customizing site navigation
        1. Plone 3 navigation portlet extended
        2. Installing collective.portlet.explore
        3. Installing webcouturier.dropdownmenu
      3. Adding new content types
        1. Adding a blog entry type
          1. Configure the blog_view
          2. Configure the RSS feed
      4. Summary
    9. 3. Appearance
      1. Installing themes with Buildout
        1. Searching for themes on plone.org
        2. Adding themes with Buildout
        3. Installing themes in Plone
      2. Examining themes with Omelette and Python
        1. Installing and using Omelette
        2. Exploring modules with zopepy
      3. Overview of theme package files
      4. Creating a theme package with ZopeSkel
        1. Adding ZopeSkel to a buildout
        2. Running ZopeSkel
        3. Running Paster
      5. Examining themes in the Zope Management Interface
      6. Making changes through the Web
        1. portal_skins
        2. portal_view_customizations
      7. Summary
    10. 4. Administration
      1. Configuring mail settings in a development environment
        1. Setting up the mail host
        2. Avoiding the mail host
        3. Faking the mail host
      2. User and group management: Out of the box
        1. The Zope 2 administrator account
        2. The Plone administrator account
        3. Resetting the password
      3. Users and groups management with LDAP
        1. Adding plone.app.ldap to the Buildout
        2. Adding plone.app.ldap to Plone
        3. Configuring plone.app.ldap
          1. LDAP Terminology
            1. DN
            2. DC, UID, OU
            3. RDN
            4. Bind DN and password
            5. Attributes and object classes
          2. Entering the form data
            1. LDAP server type
            2. RDN attribute
            3. User id attribute
            4. Login name attribute
            5. LDAP object classes
            6. Bind DN and password
            7. Base DN and search scope for users and groups
          3. Restarting Plone
        4. Using LDAP in Plone
          1. Creating and using LDAP groups
            1. Restarting Plone
            2. Adding users to MyGroup
      4. Summary
    11. 5. Deployment and Maintenance
      1. Creating a production buildout
      2. Backing up your database
        1. The repozo utility
        2. Making repozo easier with collective.recipe.backup
        3. A simple backup strategy
      3. Automating database backups
        1. Using z3c.recipe.usercrontab on Mac OS X and Ubuntu Linux
        2. Using Task Scheduler on Windows
      4. Restoring your database from a backup
      5. Packing your database
      6. Automate database packing
      7. Rotating logs
        1. Using iw.rotatezlogs on Mac OS X, Ubuntu Linux, and Windows
      8. Summary
    12. 6. Optimization
      1. Caching background in the context of Plone
      2. Installing CacheFu - a caching add-on for Plone
      3. Installing Varnish - a caching agent
      4. Installing Squid - a caching agent
      5. Creating multiple instances with Buildout macros
      6. Load balancing in the context of Plone
        1. Installing HAProxy - a load balancer
          1. The HAProxy binary
          2. The HAProxy configuration file
        2. Installing Pound - a load balancer
          1. The Pound binary
          2. The Pound configuration file
      7. Installing Supervisor - a process manager
      8. Understanding the software stack
        1. Frontend Apache configuration
        2. Frontend Nginx configuration
      9. Installing Munin plugins to analyze performance
        1. Installing the munin.zope package
        2. Testing the munin.zope plugins through the Web
        3. Installing the munin.zope plugins on the command line
        4. Testing the munin.zope plugins on the command line
        5. Munin graphs
          1. ZODB activity
          2. Zope cache parameters
          3. Zope memory usage
          4. Zope 2 server threads
      10. Summary
    13. 7. Security
      1. Restricting TCP/IP access to localhost or LAN host
      2. Managing IP addresses and ports effectively
      3. Configuring the Zope 2 effective user dynamically
      4. Installing Cassandra to audit through the web (TTW) security
        1. Permissions and roles in the ZMI
        2. Roles and groups
        3. Cassandra
      5. Applying security and bug fixes to Plone
        1. Using a newer Zope 2 with an older release of Plone
          1. Hold on to your buildouts
          2. A "modern" Plone 2.1 buildout
      6. Summary
    14. 8. The Future
      1. Specifying package versions
      2. Executing Buildout in offline mode
      3. Analyzing the contents of our buildout
      4. Staying calm when trouble arises
      5. Upgrading to Plone 4
      6. Summary