Requirements (ideally)...
Unix server with (good!) Internet access
10 Gb disk space (but can be less: “server minimal”)
Software
Apache web server
Perl (programming language)
Java2 (programming language)
SSH (secure shell)
rsync (a faster, flexible remote copy program)
Updates through JavaMail-based mirror system