I manage a small development cluster and repository system for a few open-source project groups to make use of. I run scalping strategies on the volunteer basis. Lately, individuals have expressed concern in the repository system using fundamental authentication to gain access to the SVN repository system, so I am shifting the entire system to digest authentication. The truth is which i have many utilities written round the fundamental plan to ensure that each individual can alter their very own SVN password what ever they want.

The bottom line is, I am searching for a Perl module which will rapidly let me add, remove, and modify records into an htdigest produced password file. I'd ideally like something such as the Apache::Htpasswd module. I've read which you can use among the file encryption modules to develop a digested password then write that while using htpasswd module, however i have no clue how you can really implement that solution. Plus, I'd really prefer to avoid that, because that'd require extensive spinning of lots of custom written system utilities. Does anybody have suggestions?


For password management there is a DBI interface: Apache::AuthDBI, and HTTPD::UserAdmin.

For configuration...it may be outdated (it had been built-in 2001), but Apache::ConfigFile may a minimum of enable you to get began within the right direction. B .htaccess file is simply a very localized (in your directory structure) version of the server configuration file.

When the Apache config extendable has transformed considerably enough this module might not handle all you need, but by searching at its code you might a minimum of learn how to focus on a far more up-to-date implementation.

There's also Apache::ConfigParser, that was a minimum of up-to-date in 2005. It may be nearer to 'current'. Or might be another good supply of information for building your personal solution.

UPDATE: Oh, I discovered what appears like a far more full-featured, or more-to-date choice for you. Apache::Admin::Config. Again, since .htaccess is simply a path-localized configuration file, within the same format because the serverwide file, this module could help you for you. -- Enjoy.