Private Pypi setup

Ecrit le 11 Sep 2009

I have succeed in seting up a full private pypi. So I want to share this.

First you need to install a Plone on a server with plone software center. Our system administrators has setup DNS to this plone with apache + http auth + SSL (https) and has given me one login / password.

Next you need to add a new software center to the content of your site. You can also change base workflow of a project to be approved by default.

The final step for the server is to add a user at the root of Zope with the same user/password has http auth

Now you are ready to the next step: setup your environnement on your computer. You need to add http auth ability to buildout and collective.dist. For this:

  • configure the pypirc file like describe on plone.org
  • Add lovely.buildouthttp extension to your buildout
  • Add .buildout folder to your home directory if not already exists
  • Add .buildout/.httpauth with realm, https://yourdomain, user, password I have looking for the ‘realm’ of my server during 2 hours. So what is a realm ? Thanks to Tarek who have take times to answer me on irc:

    toupt the realm is the domain the server sends back when you do a challenge for instance zope sends “Zope” trac sends “trac” etc

I have apache httpd as server, so is it “Apache” ? The documentation of lovely.buildouthttp says ” My domain” but it still doesn’t work. Finaly I have found the realm. It was ‘Members Only Area’. this is the default apache realm. This is a good things to know.

A contribution: add documentation to lovely.buildouthttp, collective.dist and software center. The realm and the user in Zope trick were not easy to find.

The benefits of a private pypi:

  • Release private eggs for customers
  • Test some eggs before release on pypi and plone.org (fix rest for example)
  • Release your last commit on collective to use it now in production
  • Learn release process of an egg