Para cuando tengas el conocimiento necesario, existe un script llamado Olate Download que tiene algunas de las características que buscas y puede serte de utilidad. Actualmente tiene licencia LGPL.
"Olate Download
Olate Download 3 allows you to add a downloads area to your website and control every aspect of it through an admin control panel. Features include automated installation with PHP4 and PHP5 support, a full templating system, unlimited categories and files, download mirrors, file uploads, file commenting and rating, searching, file agreements and custom fields."
http://www.olate.co.uk/products/od/ http://sourceforge.net/projects/olatedownload/