I would like to second the recommendation of Trac. My only complaint (and a minor one at that) is that it's not intended for more than one project at a time. But it still beats the snot out of the competition for the exact requirements you just listed.