The Zope Book (2.6 Edition)

Total Page:16

File Type:pdf, Size:1020Kb

The Zope Book (2.6 Edition) The Zope Book (2.6 Edition) Amos Latteier, Michel Pelletier, Chris McDonough, Peter Sabaini The Zope Book (2.6 Edition) Preface 32 How the Book Is Organized 32 Conventions Used in This Book 34 Contributors to This Book 35 Introducing Zope 36 What Is A Web Application? 36 How You Can Benefit From Using An Application Server 37 Zope History 38 Why Use Zope Instead of Another Application Server 38 Zope Audiences and What Zope Isn't 39 Zope's Terms of Use and License and an Introduction to The Zope Community 40 Zope Concepts and Architecture 41 Fundamental Zope Concepts 41 Zope Is A Framework 41 Object Orientation 41 Object Publishing 41 Through-The-Web Management 42 Security and Safe Delegation 42 Native Object Persistence and Transactions 43 Acquisition 43 Zope Is Extensible 43 Fundamental Zope Components 44 Installing and Starting Zope 45 Downloading Zope 45 Installing Zope 45 Installing Zope for Windows With Binaries from Zope.org 46 Installing Zope on Linux and Solaris With Binaries from Zope.org 50 Compiling and Installing Zope from Source Code 52 Starting Zope 53 Using Zope With An Existing Webserver 54 Starting Zope On Windows 54 Starting Zope on UNIX 54 Starting Zope As The Root User 55 Your Zope Installation 55 Logging In 56 Controlling the Zope Process With the Control Panel 57 2 The Zope Book (2.6 Edition) Controlling the Zope Process From the Command Line 57 Troubleshooting 58 Options To The Zope start or start.bat Script 58 Environment Variables that Effect Zope at Runtime 61 When All Else Fails 65 Object Orientation 66 Objects 66 Attributes 67 Methods 67 Messages 67 Classes and Instances 68 Inheritance 68 Object Lifetimes 69 Summary 69 Using The Zope Management Interface 70 Introduction 70 How The Zope Management Interface Relates to Objects 70 ZMI Frames 70 The Navigator Frame 70 The Workspace Frame 71 The Status Frame 72 Creating Objects 72 Moving and Renaming Objects 73 Transactions and Undoing Mistakes 75 Undo Details and Gotchas 76 Reviewing Change History 76 Importing and Exporting Objects 77 Using Object Properties 80 Using the Help System 82 Browsing and Searching Help 82 Logging Out 83 Using Basic Zope Objects 84 Basic Zope Objects 84 Content Objects: Folders, Files, and Images 84 Folders 84 Files 84 Creating and Editing Files 85 3 The Zope Book (2.6 Edition) Editing File Contents 86 Viewing Files 86 Images 87 Presentation Objects: Zope Page Templates and DTML Objects 87 ZPT vs. DTML: Same Purpose, Different Audiences 88 Zope Page Templates 89 Creating A Page Template 89 Editing A Page Template 89 Uploading A Page Template 89 Viewing A Page Template 90 DTML Objects: DTML Documents and DTML Methods 90 Creating DTML Methods 91 Editing DTML Methods 91 Viewing a DTML Method 92 Uploading an HTML File as Content for a DTML Method 92 Logic Objects: Script (Python) Objects and External Methods 93 Script (Python) Objects 93 Creating A Script (Python) 94 Editing A Script (Python) 94 Testing A Script (Python) 94 Uploading A Script (Python) 95 External Methods 96 Creating and Editing An External Method File 96 Creating an External Method Object 96 Testing An External Method Object 96 SQL Methods: Another Kind of Logic Object 97 Creating a Basic Zope Application Using Page Templates and Scripts 97 Creating a Data Collection Form 98 Creatng A Script To Calculate Interest Rates 98 Creating A Page Template To Display Results 99 Dealing With Errors 99 Using The Application 100 The Zope Tutorial 100 Acquisition 102 Acquisition vs. Inheritance 102 Acquisition is about Containment 103 Say What? 103 4 The Zope Book (2.6 Edition) Providing Services 104 Getting Deeper with Multiple Levels 104 Summary 104 Basic DTML 106 How DTML Relates to Similar Languages and Templating Facilities 106 When To Use DTML 106 When Not To Use DTML 106 The Difference Between DTML Documents and DTML Methods 107 Details 107 DTML Tag Syntax 108 DTML Tag Names, Targets, and Attributes 108 Creating a "Sandbox" for the Examples in This Chapter 109 Examples of Using DTML for Common Tasks 109 Inserting Text into HTML with DTML 109 Formatting and Displaying Sequences 111 Processing Input from Forms 112 Dealing With Errors 115 Dynamically Acquiring Content 115 Using Python Expressions from DTML 117 DTML Expression Gotchas 119 will call the method. However, 119 Common DTML Tags 120 The Var Tag 120 Var Tag Attributes 120 Var Tag Entity Syntax 121 The If Tag 121 Here's an example condition: 121 Name and Expression Syntax Differences 122 Else and Elif Tags 122 Using Cookies with the If Tag 123 The In Tag 124 Iterating over Folder Contents 124 In Tag Special Variables 125 Summary 127 Using Zope Page Templates 128 Zope Page Templates versus DTML 128 How Page Templates Work 128 5 The Zope Book (2.6 Edition) Creating a Page Template 129 Simple Expressions 130 Inserting Text 130 Repeating Structures 131 Conditional Elements 132 Changing Attributes 133 Creating a File Library with Page Templates 133 Remote Editing with FTP and WebDAV 136 Debugging and Testing 137 XML Templates 138 Using Templates with Content 138 Creating Basic Zope Applications 140 Building "Instance-Space" Applications 140 Instance-Space Applications vs. Products 140 Using A Folder as A Container For Your Intstance-Space Application 140 Using Objects as Methods Of Folders Via URLs 141 Using Acquisition In Instance-Space Applications 141 The Special Folder Object index_html 141 Building the Zope Zoo Website 142 Navigating the Zoo 142 Adding a Front Page to the Zoo 144 Improving Navigation 145 Factoring out Style Sheets 147 Creating a File Library 148 148 Building a Guest Book 150 Extending the Guest Book to Generate XML 153 The Next Step 154 Users and Security 155 Introduction to Zope Security 155 Review: Logging In and Logging Out of the Zope Management Interface 155 Zope's "Stock" Security Setup 155 Identification and Authentication 156 Authorization, Roles, and Permissions 156 Managing Users 157 Creating Users in User Folders 157 Editing Users 159 6 The Zope Book (2.6 Edition) Defining a User's Location 159 Working with Alternative User Folders 160 Special User Accounts 160 Zope Anonymous User 161 Zope Emergency User 161 Creating an Emergency User 162 Zope Initial Manager 163 Protecting Against Password Snooping 163 Managing Custom Security Policies 164 Working with Roles 164 Defining Global Roles 164 Understanding Local Roles 165 Understanding Permissions 165 Defining Security Policies 166 Security Policy Acquisition 167 Security Usage Patterns 168 Security Rules of Thumb 168 Global and Local Policies 168 Delegating Control to Local Managers 168 Different Levels of Access with Roles 169 Controlling Access to Locations with Roles 170 Performing Security Checks 170 Advanced Security Issues: Ownership and Executable Content 172 The Problem: Trojan Horse Attacks 172 Managing Ownership 172 Roles of Executable Content 173 Proxy Roles 174 Summary 174 Advanced DTML 176 How Variables are Looked up 177 DTML Namespaces 178 DTML Client Object 179 DTML Method vs. DTML Document 180 DTML Request Object 180 Rendering Variables 181 Modifying the DTML Namespace 181 In Tag Namespace Modifications 181 7 The Zope Book (2.6 Edition) Additional Notes 182 The With Tag 182 The Let Tag 183 DTML Namespace Utility Functions 184 DTML Security 185 Safe Scripting Limits 186 Advanced DTML Tags 186 The Call Tag 186 The Comment Tag 187 The Tree Tag 188 The Return Tag 190 The Sendmail Tag 190 The Mime Tag 191 The Unless Tag 192 Batch Processing With The In Tag 193 Exception Handling Tags 195 The Raise Tag 195 The Try Tag 195 The Try Tag Optional Else Block 197 The Try Tag Optional Finally Block 197 Other useful examples 198 Forwarding a REQUEST 198 Sorting with the tag 198 Calling a DTML object from a Python Script 199 Explicit Lookups 199 Conclusion 199 Advanced Page Templates 200 Advanced TAL 200 Advanced Content Insertion 200 Inserting Structure 200 Dummy Elements 200 Default Content 201 Advanced Repetition 201 Repeat Variables 201 Repetition Tips 202 Advanced Attribute Control 203 Defining Variables 203 8 The Zope Book (2.6 Edition) Omitting Tags 204 Error Handling 204 Interactions Between TAL Statements 205 Form Processing 207 Expressions 208 Built-in Page Template Variables 208 String Expressions 209 Path Expressions 210 Alternate Paths 210 Not Expressions 211 Nocall Expressions 211 Exists Expressions 211 Python Expressions 212 Comparisons 212 Using other Expression Types 212 Getting at Zope Objects 213 Using Scripts 214 Calling DTML 214 Python Modules 215 Macros 215 Using Macros 216 Macro Details 216 Using Slots 217 Customizing Default Presentation 218 Combining METAL and TAL 219 Whole Page Macros 219 Caching Templates 220 Page Template Utilities 221 Batching Large Sets of Information 221 Miscellaneous Utilities 223 Conclusion 223 Advanced Zope Scripting 224 Zope Scripts 224 Here is an overview of Zope's scripts: 224 Calling Scripts 224 Context 225 Calling Scripts From the Web 225 9 The Zope Book (2.6 Edition) URL Traversal and Acquisition 226 Passing Arguments with an HTTP Query String 226 Calling Scripts from Other Objects 226 Calling Scripts from DTML 226 Calling scripts from Python and Perl 227 Calling Scripts from Page Templates 228 Calling Scripts: Summary and Comparison 229 Using Python-based Scripts 230 The Python Language 230 Creating Python-based Scripts 230 Binding Variables 232 Accessing the HTTP Request 233 String Processing in Python 234 Doing Math 234 Print Statement Support 235 Built-in Functions 236 Using External Methods 236 Processing XML with External Methods 241 External Method Gotchas 242 Using
Recommended publications
  • Next Generation Web Scanning Presentation
    Next generation web scanning New Zealand: A case study First presented at KIWICON III 2009 By Andrew Horton aka urbanadventurer NZ Web Recon Goal: To scan all of New Zealand's web-space to see what's there. Requirements: – Targets – Scanning – Analysis Sounds easy, right? urbanadventurer (Andrew Horton) www.morningstarsecurity.com Targets urbanadventurer (Andrew Horton) www.morningstarsecurity.com Targets What does 'NZ web-space' mean? It could mean: •Geographically within NZ regardless of the TLD •The .nz TLD hosted anywhere •All of the above For this scan it means, IPs geographically within NZ urbanadventurer (Andrew Horton) www.morningstarsecurity.com Finding Targets We need creative methods to find targets urbanadventurer (Andrew Horton) www.morningstarsecurity.com DNS Zone Transfer urbanadventurer (Andrew Horton) www.morningstarsecurity.com Find IP addresses on IRC and by resolving lots of NZ websites 58.*.*.* 60.*.*.* 65.*.*.* 91.*.*.* 110.*.*.* 111.*.*.* 113.*.*.* 114.*.*.* 115.*.*.* 116.*.*.* 117.*.*.* 118.*.*.* 119.*.*.* 120.*.*.* 121.*.*.* 122.*.*.* 123.*.*.* 124.*.*.* 125.*.*.* 130.*.*.* 131.*.*.* 132.*.*.* 138.*.*.* 139.*.*.* 143.*.*.* 144.*.*.* 146.*.*.* 150.*.*.* 153.*.*.* 156.*.*.* 161.*.*.* 162.*.*.* 163.*.*.* 165.*.*.* 166.*.*.* 167.*.*.* 192.*.*.* 198.*.*.* 202.*.*.* 203.*.*.* 210.*.*.* 218.*.*.* 219.*.*.* 222.*.*.* 729,580,500 IPs. More than we want to try. urbanadventurer (Andrew Horton) www.morningstarsecurity.com IP address blocks in the IANA IPv4 Address Space Registry Prefix Designation Date Whois Status [1] -----
    [Show full text]
  • Load Balancing for Heterogeneous Web Servers
    Load Balancing for Heterogeneous Web Servers Adam Pi´orkowski1, Aleksander Kempny2, Adrian Hajduk1, and Jacek Strzelczyk1 1 Department of Geoinfomatics and Applied Computer Science, AGH University of Science and Technology, Cracow, Poland {adam.piorkowski,jacek.strzelczyk}@agh.edu.pl http://www.agh.edu.pl 2 Adult Congenital and Valvular Heart Disease Center University of Muenster, Muenster, Germany [email protected] http://www.ukmuenster.de Abstract. A load balancing issue for heterogeneous web servers is de- scribed in this article. The review of algorithms and solutions is shown. The selected Internet service for on-line echocardiography training is presented. The independence of simultaneous requests for this server is proved. Results of experimental tests are presented3. Key words: load balancing, scalability, web server, minimum response time, throughput, on-line simulator 1 Introduction Modern web servers can handle millions of queries, although the performance of a single node is limited. Performance can be continuously increased, if the services are designed so that they can be scaled. The concept of scalability is closely related to load balancing. This technique has been used since the beginning of the first distributed systems, including rich client architecture. Most of the complex web systems use load balancing to improve performance, availability and security [1{4]. 2 Load Balancing in Cluster of web servers Clustering of web servers is a method of constructing scalable Internet services. The basic idea behind the construction of such a service is to set the relay server 3 This is the accepted version of: Piorkowski, A., Kempny, A., Hajduk, A., Strzelczyk, J.: Load Balancing for Heterogeneous Web Servers.
    [Show full text]
  • The Zope Developer's Guide (2.4 Edition)
    The Zope Developer's Guide (2.4 Edition) Chris McDonough, Michel Pelletier, Shane Hathaway Zope Developer's Guide (2.4 edition) Introduction 7 Chapter 1: Components and Interfaces 8 Zope Components 8 Python Interfaces 10 Why Use Interfaces? 10 Creating Interfaces 10 The Interface Model 12 Querying an Interface 12 Checking Implementation 13 Conclusion 14 Chapter 2: Object Publishing 15 Introduction 15 HTTP Publishing 15 15 URL Traversal 16 Traversal Interfaces 17 Publishable Object Requirements 17 Traversal Methods 17 Publishing Methods 18 HTTP Responses 19 Controlling Base HREF 19 Response Headers 20 Pre-Traversal Hook 20 Traversal and Acquisition 20 Traversal and Security 22 Basic Publisher Security 22 Zope Security 22 Environment Variables 23 Testing 23 Publishable Module 23 Calling the Published Object 24 Marshalling Arguments from the Request 24 Argument Conversion 24 Method Arguments 25 Record Arguments 26 Exceptions 27 2 Zope Developer's Guide (2.4 edition) Exceptions and Transactions 27 Manual Access to Request and Response 28 Other Network Protocols 29 FTP 29 WebDAV 30 Supporting Write Locking 30 XML-RPC 31 Summary 32 Chapter 3: Zope Products 33 Introduction 33 Development Process 33 Consider Alternatives 33 Starting with Interfaces 33 Implementing Interfaces 34 Building Product Classes 35 Base Classes 35 Acquisition.Implicit 35 Globals.Persistent 36 OFS.SimpleItem.Item 36 AccessControl.Role.RoleManager 37 OFS.ObjectManager 37 OFS.PropertyManager 37 Security Declarations 38 Summary 39 Registering Products 40 Product Initialization
    [Show full text]
  • Zope Documentation Release 5.3
    Zope Documentation Release 5.3 The Zope developer community Jul 31, 2021 Contents 1 What’s new in Zope 3 1.1 What’s new in Zope 5..........................................4 1.2 What’s new in Zope 4..........................................4 2 Installing Zope 11 2.1 Prerequisites............................................... 11 2.2 Installing Zope with zc.buildout .................................. 12 2.3 Installing Zope with pip ........................................ 13 2.4 Building the documentation with Sphinx ............................... 14 3 Configuring and Running Zope 15 3.1 Creating a Zope instance......................................... 16 3.2 Filesystem Permissions......................................... 17 3.3 Configuring Zope............................................. 17 3.4 Running Zope.............................................. 18 3.5 Running Zope (plone.recipe.zope2instance install)........................... 20 3.6 Logging In To Zope........................................... 21 3.7 Special access user accounts....................................... 22 3.8 Troubleshooting............................................. 22 3.9 Using alternative WSGI server software................................. 22 3.10 Debugging Zope applications under WSGI............................... 26 3.11 Zope configuration reference....................................... 27 4 Migrating between Zope versions 37 4.1 From Zope 2 to Zope 4 or 5....................................... 37 4.2 Migration from Zope 4 to Zope 5.0..................................
    [Show full text]
  • Letting a CMS Do the Annoying Work for You. <Librarian.Net/Talks/Nelacms>
    website 2.0! letting a CMS do the annoying work for you. <librarian.net/talks/nelacms> establishing bona fides • "rolled my own" c. 1997 • Movable Type, Blogger & Wordpress since then • Webmaster for VT Library Association (21 contribs!) • can ftp at the command line • friendly. Hi I'm jessamyn and I can't program my way out of a paper bag. Yay it's 2009 so I don't have to! Here's what I do know how to do. Back in the old days, when you wanted a website of your cat and you couldn't code or ftp, it looked like this. Remember GeoCities? In fact, the cat thing was such a tired metaphor that GeoCities used it in their PageBuilder ads. times have changed even by today's standards This worked for like... 5-10 years depending on who you are. Then things changed quickly. Now when you have a website with your cat, other people put words in her mouth. Who knew your cat was such a terrible speller? Now if your cat has a website, your cat has a blog. Or your cat has gone social. You can let other people rate your cat, submit their own cat, look at a random cat There are social networks for cats! This isn't a case of "which is better" exactly, but just that we can get computers to do some of the grunt work of presenting and maintaining content on the web. Neat. Using wordpress to run a website, for example, makes running that website easier *even if you have no dynamic content at all*! Content is king.
    [Show full text]
  • HOWTO Use Python in the Web Release 2.7.9
    HOWTO Use Python in the web Release 2.7.9 Guido van Rossum and the Python development team December 10, 2014 Python Software Foundation Email: [email protected] Contents 1 The Low-Level View 2 1.1 Common Gateway Interface.....................................2 Simple script for testing CGI.....................................2 Setting up CGI on your own server..................................3 Common problems with CGI scripts.................................3 1.2 mod_python..............................................4 1.3 FastCGI and SCGI..........................................4 Setting up FastCGI..........................................5 1.4 mod_wsgi...............................................5 2 Step back: WSGI 5 2.1 WSGI Servers.............................................6 2.2 Case study: MoinMoin........................................6 3 Model-View-Controller 6 4 Ingredients for Websites 7 4.1 Templates...............................................7 4.2 Data persistence............................................8 5 Frameworks 8 5.1 Some notable frameworks......................................9 Django.................................................9 TurboGears..............................................9 Zope.................................................. 10 Other notable frameworks...................................... 10 Index 11 Author Marek Kubica Abstract This document shows how Python fits into the web. It presents some ways to integrate Python with a web server, and general practices useful for developing web
    [Show full text]
  • The Application of Drupal to Website Development in Academic Libraries Cristina Tofan Eastern Kentucky University, [email protected]
    Eastern Kentucky University Encompass Library Faculty and Staff aP pers and Presentations EKU Libraries January 2010 The Application of Drupal to Website Development in Academic Libraries Cristina Tofan Eastern Kentucky University, [email protected] Follow this and additional works at: http://encompass.eku.edu/faculty_staff Part of the Library and Information Science Commons Recommended Citation Tofan, Cristina, "The Application of Drupal to Website Development in Academic Libraries" (2010). Library Faculty and Staff aP pers and Presentations. Paper 2. http://encompass.eku.edu/faculty_staff/2 This is brought to you for free and open access by the EKU Libraries at Encompass. It has been accepted for inclusion in Library Faculty and Staff Papers and Presentations by an authorized administrator of Encompass. For more information, please contact [email protected]. The Application of Drupal to Website Development in Academic Libraries Cristina Tofan Eastern Kentucky University Libraries 1. Introduction Academic libraries think very carefully about how they design their website, because the website is the primary avenue to provide access to resources, do library instruction, promote collections, services and events, and connect with students, faculty and potential donors. Library websites are expected to be able to respond to two major types of needs: to offer high functionality to the patrons, and to allow librarians and library staff to participate in the un‐intermediated creation and publication of content. Web content management systems are software systems that provide tools for both. In the realm of open source content management systems, Drupal has the lead compared to other systems, in its adoption in libraries.
    [Show full text]
  • Repoze Documentation Release 1.0
    Repoze Documentation Release 1.0 Agendaless Consulting, Inc. and Contributors December 12, 2014 Contents 1 Overview of the Repoze Project3 1.1 Problems Addressed...........................................3 1.2 Solutions Provided............................................3 1.3 Software Requirements and Limitations.................................3 1.4 Technology Dependencies........................................3 1.5 Licensing.................................................4 1.6 Resources.................................................4 1.7 Legacy Resources............................................4 1.8 Contributing...............................................4 2 Current Repoze Components5 2.1 WSGI Middleware............................................5 2.2 Libraries.................................................6 3 Obsolete Repoze Components9 3.1 WSGI Applications...........................................9 3.2 WSGI Middleware............................................ 10 3.3 Libraries................................................. 11 3.4 Buildout-related............................................. 11 3.5 Miscellany................................................ 11 3.6 Re-packaged Software.......................................... 12 4 History of the Repoze Project 13 4.1 Early Developments........................................... 13 4.2 Later Developments........................................... 13 5 Hacking on Repoze Components 15 5.1 Coding Standards............................................. 15 5.2 Layout and
    [Show full text]
  • Comparison of Web Server Software from Wikipedia, the Free Encyclopedia
    Create account Log in Article Talk Read Edit ViewM ohrisetory Search Comparison of web server software From Wikipedia, the free encyclopedia Main page This article is a comparison of web server software. Contents Featured content Contents [hide] Current events 1 Overview Random article 2 Features Donate to Wikipedia 3 Operating system support Wikimedia Shop 4 See also Interaction 5 References Help 6 External links About Wikipedia Community portal Recent changes Overview [edit] Contact page Tools Server Developed by Software license Last stable version Latest release date What links here AOLserver NaviSoft Mozilla 4.5.2 2012-09-19 Related changes Apache HTTP Server Apache Software Foundation Apache 2.4.10 2014-07-21 Upload file Special pages Apache Tomcat Apache Software Foundation Apache 7.0.53 2014-03-30 Permanent link Boa Paul Phillips GPL 0.94.13 2002-07-30 Page information Caudium The Caudium Group GPL 1.4.18 2012-02-24 Wikidata item Cite this page Cherokee HTTP Server Álvaro López Ortega GPL 1.2.103 2013-04-21 Hiawatha HTTP Server Hugo Leisink GPLv2 9.6 2014-06-01 Print/export Create a book HFS Rejetto GPL 2.2f 2009-02-17 Download as PDF IBM HTTP Server IBM Non-free proprietary 8.5.5 2013-06-14 Printable version Internet Information Services Microsoft Non-free proprietary 8.5 2013-09-09 Languages Jetty Eclipse Foundation Apache 9.1.4 2014-04-01 Čeština Jexus Bing Liu Non-free proprietary 5.5.2 2014-04-27 Galego Nederlands lighttpd Jan Kneschke (Incremental) BSD variant 1.4.35 2014-03-12 Português LiteSpeed Web Server LiteSpeed Technologies Non-free proprietary 4.2.3 2013-05-22 Русский Mongoose Cesanta Software GPLv2 / commercial 5.5 2014-10-28 中文 Edit links Monkey HTTP Server Monkey Software LGPLv2 1.5.1 2014-06-10 NaviServer Various Mozilla 1.1 4.99.6 2014-06-29 NCSA HTTPd Robert McCool Non-free proprietary 1.5.2a 1996 Nginx NGINX, Inc.
    [Show full text]
  • Linux Install and Configure Pound Reverse Proxy for Apache Http / Https Web Server 21/03/2011 15:17
    Linux install and configure pound reverse proxy for Apache http / https web server 21/03/2011 15:17 About Blog Forum Low graphics Shell Scripts RSS/Feed Flash Linux FAQ / Howtos Linux install and configure pound reverse proxy for Apache http / https web server by Vivek Gite on December 11, 2007 · 21 comments Q. How do I install and configure pound reverse proxy for Apache web sever under Debian Linux? A. Pound is a reverse-proxy load balancing server. It accepts requests from HTTP / HTTPS clients and distributes them to one or more Web servers. The HTTPS requests are decrypted and passed to the back- ends as plain HTTP. It will act as: a) Server load balancer b) Reverse proxy server c) Apache reverse proxy etc d) It can detects when a backend server fails or recovers, and bases its load balancing decisions on this information: if a backend server fails, it will not receive requests until it recovers e) It can decrypts https requests to http ones f) Rejects incorrect requests h) It can be used in a chroot environment (security feature) If more than one back-end server is defined, Pound chooses one of them randomly, based on defined priorities. By default, Pound keeps track of associations between clients and back-end servers (sessions). Install Pound Software Type the following command to install pound: $ sudo apt-get install pound If you are using RHEL / CentOS, grab pound rpm here and type the command: # rpm -ivh pound* If you are using FreeBSD, enter: # cd /usr/ports/www/pound/ && make install clean How it works? Let us assume your public IP address 202.54.1.5.
    [Show full text]
  • Loadbalancer.Org Appliance Administration V5.5
    Loadbalancer.org Appliance Administration v5.5 Copyright © Loadbalancer.org Limited 2002-2007 Table of Contents Loadbalancer.org Appliance Administration v5.5................................................................................1 Introduction......................................................................................................................................4 Console configuration......................................................................................................................4 Remote configuration......................................................................................................................6 Edit Configuration...........................................................................................................................7 Logical Load balancer configuration..........................................................................................7 Modify Logical Virtual Severs ..................................................................................................7 Modify Logical Real Severs .....................................................................................................11 Modify Global Settings ............................................................................................................13 Modify logical Virtual Servers (Layer 7 HAProxy)..................................................................14 Modify logical Real Servers (Layer 7 HAProxy)......................................................................15
    [Show full text]
  • Key Configurations and Some Apis
    APPENDIX A Key Configurations and Some APIs THIS APPENDIX CONTAINS some of the key development configurations for Zope, Plone, and Python. This appendix provides information for developers of sites, and it also lists some ofthe most usefulApplication Programming Interfaces (APIs). Setting Up Your Environment The following sections relate to configuring your development or production environment for optimal usage. If you're developing a lot with Plone, I rec­ ommend these settings. Setting Up PYTHONPATH Setting up PYTHONPATH is extremely useful because it allows you to easily access all the Zope functionality from a Python prompt. You can easily test if you have this set up-you can just attempt to import the PageTemplate module from Products. If this isn't set up, you should see the following: $ python -c "import Products.PageTemplates" Traceback (most recent call last): File "<string>", line 1, in ? ImportError: No module named Products.PageTemplates Unix} Linux} and Mac OS X First, find the Products directory of your Zope installation (not the instance horne). On the standard installation, this is at /opt/Zope- 2.7 /lib/python; on Windows it's at c: \Program Files\Plone\Zope\lib\python. When Python starts, it reads an envi­ ronmentvariable called PYTHONPATH and puts all those directories in thatvariable into the search path for new modules. So you need to add your directory to that variable. 465 AppendixA You do this using the export command, to see if PYTHONPATH contains anything initially, run the following: $ export I grep PYTHONPATH declare -x PYTHONPATH="/home/andy/modules" In my case, I already have an environment variable called PYTHONPATH, although chances are your computer won't have this set up.
    [Show full text]