Hello,
I've seen many medium and large businesses set up elaborate processes for their software development and testing, be it Windows or Linux-based, web or local, for-profit or internal.
How would a small business or group of developers go about setting up such environment, with minimal software and hardware costs? The idea is have an environment that is easy to setup, learn and administer, can be accessed remotely, allows levels of privileges, prevents code loss, allows for easy testing and integration, is secure from intrusion, and just stays out of the way by letting developers do what they do - write code.
Please be as specific as possible. Answers such as "Use SVN with Apache front-end and backup with FTP to a remote server!" are not helpful.