That is about the same size we have, we have anywhere from 65-150 concurrent requests for the avg highest load each day. At the minimum I would suggest is a Dual Proc Server, 18GB of RAM. A RAID array of 10k or higher disks, 15k or SSD prefered for the Web Server and 8-12GB of RAM for the MySQL Server with the same disk setup.
Now, since we promise uptime to our students you can setup a cluster which we have, at the least 2 Web Servers w/18GB of RAM each and at least 2 MySQL Servers with 8-12GB of RAM setup in Master/Slave. Shared storage is recommended with a shared volume using OCFS2 for moodledata. If you do not have a SAN then you can use GlusterFS in conjunction with memcache as in our case for WAN Clustering. Also, If you can afford 3 servers for MySQL you can setup an active/active MySQL as in our case.