INSTALL ======= This should give you an idea about the basic steps. It is probably very rough around the edges, feel free to ask for clarifications so we can improve it. This guide assumes you are working on a Debian etch system. If that is not the case, you might have to adjust some of the steps. 1) Install git (package git-core). You will get a much more pleasant user experience if you use a version from backports.org or a self-compiled one instead of etch's version. 2) Download the code from git://source.djpig.de/git/packages.git (Something like `git clone git://source.djpig.de/git/packages.git') 3) Install the needed dependencies. A list can be found in debian/control. One dependency can't be fulfilled directly from etch and is therefor not listed there: the Search::Xapian perl module. You can either compile that yourself against libxapian from etch, use the backport on backports.org, or install the 0.9.9-1 deb from snapshots.debian.net. 4) Install apache2 (apache2-mpm-worker) and mod_perl (libapache2-mod-perl2) 5) Adjust the configuration to your needs. You should at least edit the following files before starting to test (don't touch %TOPDIR% and %SITE%, as you will specify it later): - ./config.sh.sed.in (especially : admin_email, and localdir and/or ftproot if you have local caches) - ./templates/config.tmpl (especially : packages_homepage) - ./templates/config/* (especially if you have your own repositories) - ./conf/apache.conf.sed.in 6) run `./bin/setup-site ' (e.g. `./bin/setup-site /org/packages.debian.org packages.debian.org') 7) create a cache directory for the compiled templates, it needs to be writable by apache (i.e. on default etch by www-data). Default location is /cache. So chown www-data /cache chmod 2770 /cache 7) Include ./conf/apache.conf in apache's configuration, e.g. by symlinking it from /etc/apache2/sites-available/ and then using a2ensite 8) Run ./bin/daily (this takes a while, especially the first time, as it downloads a lot of data, [at the time of this writing approx. 900 MB], creates databases, pre-builds heavy pages, etc.) 9) Set up ./bin/daily to be run regulary. In ./conf/crontab you can find an example crontab to do this. Actually preferable is to trigger the script by archive updates, but you will know best if and how to implement that in your setup.