{ "info": { "author": "Ricardo Newbery", "author_email": "ric@digitalmarbles.com", "bugtrack_url": null, "classifiers": [ "Framework :: Buildout", "Framework :: Zope2", "Intended Audience :: System Administrators", "License :: OSI Approved :: GNU General Public License (GPL)", "Operating System :: POSIX", "Topic :: Internet :: Proxy Servers" ], "description": "Squid recipe for buildout\n===========================\n\nInspired by plone.recipe.varnish, plone.recipe.squid is a `zc.buildout`_ \nrecipe to install `Squid`_. \n\nEven though the name contains \"plone\" there is nothing Plone specific about\nthis recipe: it works with non-Zope sites just as well.\n\nConfiguration is very simple. For example::\n\n [squid-build]\n recipe = plone.recipe.squid:build\n url = http://www.squid-cache.org/Versions/v2/2.6/squid-2.6.STABLE18.tar.gz\n\n [squid-instance]\n recipe = plone.recipe.squid:instance\n bind = 127.0.0.1:3128\n backends = 127.0.0.1:8080\n cache-size = 1000\n\nThis configures two buildout parts: squid-build which will download,\ncompile and install Squid and squid-instance which runs Squid, configured to\nlisten on 127.0.0.1:3128 for requests, using a 1 gigabyte cache and sending\nrequests to a backend at 127.0.0.1:8080.\n\nWrappers for the Squid commands are created in the bin directory\nof your buildout.\n\nTo start up Squid: ./bin/squid-instance\n\nTo shutdown Squid: ./bin/squid-instance -k shutdown\n\n\nVirtual hosting\n---------------\n\nSquid supports virtual hosting by selecting a different backend server\nbased on headers on the incoming request. You can configure the backends\nthrough the backends option::\n\n [squid-instance]\n backends =\n plone.org:127.0.0.1:8000\n plone.net:127.0.0.1:9000\n\nThis will generate a configuration which sends all traffic for the plone.org\nhost to a backend server running on port 8000 while all traffic for the\nplone.net host is sent to port 9000.\n\n\nZope 2 hosting (with Virtual Host Monster)\n-------------------------------------------\n\nIf you are using Zope 2 as backend server you will need to rewrite the URL\nso the Zope Virtual Host Monster (VHM) can generate correct links for links in\nyour pages. This can be done by another web proxy such as Apache or nginx\n(placed either in front or behind Squid) but can also be done by Squid itself.\n\nThe three options are described below.\n\nOption 1 (rewrites after Squid):\n\nIf generating these VHM-style URLs in a proxy *behind* Squid (or if using\nVHM's 'mapping' feature), no extra Squid configuration is needed. \nJust make sure the \"backends\" option directs the traffic to the proxy.\n\nOption 2 (rewrites before Squid):\n\nIf generating these VHM-style URLs in a proxy *in-front* of Squid, no extra\nSquid configuration is needed as long as the original hostname is still retained\nin the URL. If the hostname is not retained, you can tell Squid to direct requests\nbased on the \"path\" instead of the hostname. For example::\n\n [squid-instance]\n backends =\n /VirtualHostBase/http/plone.org:80/Plone:127.0.0.1:8000\n /VirtualHostBase/http/plone.net:80/Plone:127.0.0.1:9000\n\nThis will generate a configuration which sends all traffic for any request whose\npath starts with \"/VirtualHostBase/http/plone.org:80/Plone\" to a backend server\nrunning at 127.0.0.1 on port 8000, while request paths starting with \n\"/VirtualHostBase/http/plone.net:80/Plone\" are sent to port 9000.\n\nOption 3 (rewrites within Squid):\n\nTo have Squid generate these VHM-style URLs, you can use the **zope2_vhm_map** option. \nHere is an example::\n\n [squid-instance]\n zope2_vhm_map =\n plone.org:/plone\n plone.net:/plone\n\nThis tells us that the domain plone.org should be mapped to the location\n/plone in the backend. By combining this with the information from the\n**backends** option a squid configuration will be generated that\nmaps URLs correctly. Note: The 'zope2_vhm_map' option assumes delegation\nby 'host' so do not try to combine options 2 and 3 within the same config.\n\n\nplone.recipe.squid:build reference\n------------------------------------\n\nThe plone.recipe.squid:build recipe takes care of downloading Squid,\ncompiling it on your system and installing it in your buildout.\n\nIt can be configured with any of these options:\n\nurl\n URL for an archive containing the Squid sources. Either **url** or\n **svn** has to be specified.\n\nsvn\n URL for a subversion repository containing Squid sources. Either **url**\n or **svn** has to be specified.\n\nsquid-directory\n The location of a shared Squid installation directory. Useful when\n building multiple Squid instances. A shared Squid build can be stored\n separate from the buildout instance. This directive must be defined in\n ~/.buildout/default.cfg similar to the \"zope-directory\" and \"eggs-directory\"\n directives. The default is to build Squid in a subfolder of the buildout\n 'parts' directory.\n\nPlease note that the configuration generated by this recipe requires\nSquid 2.6.STABLE18 or later. It is not tested with Squid 3.x.\n\n\nplone.recipe.squid:instance reference\n---------------------------------------\n\nThe plone.recipe.squid:instance recipe create a Squid configuration\nfile and creates a wrapper script inside your buildout that will start\nSquid with the correct configuration.\n\nPlease note that Squid does not support spaces in path names so this\nrecipe will not work if your buildout path contains any spaces.\n\nAlso note that the configuration generated by this recipe requires\nSquid 2.6.STABLE18 or later. It is not tested with Squid 3.x.\n\n\nSquid-specific Configuration Options:\n\ndefault-hostname\n The default hostname to use if request is missing the Host header.\n Only needed if delegating to backend by Host header and there is the\n possibility of requests coming in from old or buggy clients. Defaults\n to the first hostname listed under 'backends'.\n\nvisible-hostname\n The hostname to show in squid-generated error pages. Defaults either\n to a hostname if specified by 'bind' or, if not, then to the value \n of 'default-hostname' \n\nvisible-email\n The email address to show in squid-generated error pages.\n\n\nGeneral Configuration Options:\n\ndaemon\n The path of the squid daemon to use. Defaults to bin/squid inside\n your buildout, which is the executable created by the\n plone.recipe.squid:build recipe.\n\ncache-size\n The size of the cache in MB. Do not exceed 90% of available disk\n space. Defaults to 1000 MB.\n\nbind\n Hostname and port on which Squid will listen for requests.\n Syntax is [hostname][:port]. Defaults to 127.0.0.1:3128.\n If hostname is omitted then Squid will bind to all available\n interfaces.\n\nconfig\n Path for a Squid config file to use. If you use this option\n you can not use the backends or zope2_vhm_map options.\n\nbackends\n Specifies the backend or backends which will process the (uncached)\n requests. The syntax for backends:\n \n [][/]::\n \n The optional 'hostname' and 'path' allows you to do virtual hosting.\n If multiple backends are specified then each backend must include\n either a hostname or path (or both) so that Squid can direct the\n matching request to the appropriate backend. Defaults to 127.0.0.1:8080.\n\nzope2_vhm_map\n Defines a virtual host mapping for Zope servers. This is a list of\n **hostname:ZODB location** entries which specify the location inside\n Zope where the website for a virtual host lives.\n\nuser\n The name of the user squid should switch to before accepting any\n requests. Defaults to 'squid'.\n\ngroup\n The name of the group squid should switch to before accepting any\n request. This defaults to the main group for the specified user.\n\n\nReporting bugs or asking questions\n----------------------------------\n\nA shared bugtracker and help desk is available on Launchpad:\nhttps://bugs.launchpad.net/collective.buildout/\n\n\n.. _Squid: http://squid-cache.org/\n.. _zc.buildout: http://cheeseshop.python.org/pypi/zc.buildout", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "UNKNOWN", "keywords": "buildout squid cache proxy", "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "plone.recipe.squid", "package_url": "https://pypi.org/project/plone.recipe.squid/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/plone.recipe.squid/", "project_urls": { "Download": "UNKNOWN", "Homepage": "UNKNOWN" }, "release_url": "https://pypi.org/project/plone.recipe.squid/1.0b1/", "requires_dist": null, "requires_python": null, "summary": "Buildout recipe to install squid", "version": "1.0b1" }, "last_serial": 796424, "releases": { "1.0b1": [ { "comment_text": "", "digests": { "md5": "6447bfd20bce75f8ae190b10a20be488", "sha256": "29f0aed258015243a2ecce0d5e21517ffb05be0d0a24def0ec0b3e445988932e" }, "downloads": -1, "filename": "plone.recipe.squid-1.0b1-py2.4.egg", "has_sig": false, "md5_digest": "6447bfd20bce75f8ae190b10a20be488", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 23938, "upload_time": "2008-04-15T04:54:35", "url": "https://files.pythonhosted.org/packages/61/ba/25b2bd7c580eb1a692d0f22e45a57f7abaa7abb72e813abcb642fbd95980/plone.recipe.squid-1.0b1-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "7b13efe89c3e8f113e649ed22972f371", "sha256": "47acda647a0fa76aa860a58e6a9edf374618b6c944c59b51360d369fcb6bf28f" }, "downloads": -1, "filename": "plone.recipe.squid-1.0b1.tar.gz", "has_sig": false, "md5_digest": "7b13efe89c3e8f113e649ed22972f371", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15316, "upload_time": "2008-04-15T04:54:34", "url": "https://files.pythonhosted.org/packages/46/3e/1206beb68c4f9b9e82844f1d9ef7b24656258849d7634d96aa617d4361ad/plone.recipe.squid-1.0b1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6447bfd20bce75f8ae190b10a20be488", "sha256": "29f0aed258015243a2ecce0d5e21517ffb05be0d0a24def0ec0b3e445988932e" }, "downloads": -1, "filename": "plone.recipe.squid-1.0b1-py2.4.egg", "has_sig": false, "md5_digest": "6447bfd20bce75f8ae190b10a20be488", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 23938, "upload_time": "2008-04-15T04:54:35", "url": "https://files.pythonhosted.org/packages/61/ba/25b2bd7c580eb1a692d0f22e45a57f7abaa7abb72e813abcb642fbd95980/plone.recipe.squid-1.0b1-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "7b13efe89c3e8f113e649ed22972f371", "sha256": "47acda647a0fa76aa860a58e6a9edf374618b6c944c59b51360d369fcb6bf28f" }, "downloads": -1, "filename": "plone.recipe.squid-1.0b1.tar.gz", "has_sig": false, "md5_digest": "7b13efe89c3e8f113e649ed22972f371", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15316, "upload_time": "2008-04-15T04:54:34", "url": "https://files.pythonhosted.org/packages/46/3e/1206beb68c4f9b9e82844f1d9ef7b24656258849d7634d96aa617d4361ad/plone.recipe.squid-1.0b1.tar.gz" } ] }