App-CPANIDX
view release on metacpan or search on metacpan
NAME
App::CPANIDX - Queryable web-based CPAN Index
SYNOPSIS
# Generate the index database
$ cpanidx-gendb --config cpanidx.ini
# Run the FastCGI script
$ cpanidx-fcgi --config cpanidx.ini
DESCRIPTION
App::CPANIDX provides a number of scripts to build a queryable web-based
CPAN index.
CONFIGURATION
Configuration is dealt with by a Config::Tiny based configuration file.
There are a number of parameters which can be specified
"dsn"
The DBI dsn string of the database that the scripts will use. This
is a mandatory requirement.
"user"
The username for the supplied "dsn".
"pass"
The password for the supplied "dsn".
"url"
The "cpanidx-gendb" script will poll this url when it has finished
its update. It should be the root url of your CPANIDX site
url=http://my.cpanidx.site/cpanidx/
"mirror"
The url of a CPAN mirror site where "cpanidx-gendb" will obtain its
index files from. If not supplied it defaults to the Funet site
<ftp://ftp.funet.fi/pub/CPAN/>.
"socket"
This is the socket that FCGI should listen on for requests. It is a
mandatory requirement for the "cpanidx-fcgi" script.
"skipcore"
Applicable to the "cpanidx-gendb" script, will skip the generation
of the Module::CoreList based tables.
"skipmirrors"
Applicable to the "cpanidx-gendb" script, will skip the generation
of the mirrorlist based tables.
"skipperms"
Applicable to the "cpanidx-gendb" script, will skip the generation
of the CPAN permissions based tables.
SCRIPTS
Both the scripts will by default look for a "cpanidx.ini" file in the
current working directory unless you specify an alternative with the
"--config" command line option.
"cpanidx-gendb"
Generates the CPANIDX database. It will retrieve the CPAN index
files from a CPAN mirror and parse them to build the database.
The CPAN indexes are downloaded to "~/.cpanidx" by default. You may
override this location by setting the "PERL5_CPANIDX_DIR"
environment variable to a different location to use.
In tests a DBD::SQLite database took over 3 minutes to generate and
a DBD::mysql database took 30 seconds.
It is recommended that one uses cron or some such scheduler to run
this script every hour to ensure freshness of the CPAN index.
"cpanidx-fcgi"
Presents the CPAN index to web clients via FastCGI. Specify a socket
that the script should listen for requests on and configure your
webserver accordingly.
The following is an example for Lighttpd:
fastcgi.server = (
"/cpanidx/" =>
( "localhost" => (
"host" => "127.0.0.1",
"port" => 1027,
"check-local" => "disable",
( run in 0.835 second using v1.01-cache-2.11-cpan-5a3173703d6 )