I know the South (Confederates) was a rebel state and the North (Union) was obligated to fight to keep the nation together, but who truly started the war? Was the South preparing for war before it began?
I guess it really all comes down to how you define "aggressor" and whether you mean that in an ideological sense, or a physical/military one. If looking at the movement of troops into enemy territory, the Union was undoubtedly the aggressor in the vast majority of engagements. With the exception of Lee's invasion of Maryland in 1862, and Pennsylvania in 1863, most of the major campaigns of the war saw the north invading the southern secession territories (of course, the Union would have said that you can't invade your own country, and that they were just moving into their own territory to put down armed insurrection, but that's just semantics).
If you want to get a bit deeper into the socio-political fabric of the conflict, I think a person could make a convincing argument for either side, really. On the one hand, it was the Confederacy who started the war in Dec. 1860 when South Carolina seceded. They looked upon the election of Lincoln as a harbinger of the increasing power of the abolition movement (both socially and politically), and had been threatening to secede if Abe was elected. This was also rooted in a political conflict that had been going on since the days of Jefferson and Hamilton about big vs. small government, and the autonomy of states within the country as a whole. While the slavery question was undoubtedly the major issue that brought the war into being, the south had been feeling increasingly marginalized, as seen in the Missouri Compromise, and numerous discussions about a national bank, etc. This conflict had been building for a while, and the south was itching for a fight by 1860 to re-balance the power dynamics in the country. Again, though: slavery was the overwhelming social question, and incidents like Bleeding Kansas and John Brown's raid had only ratcheted up tensions between the two sides. Lincoln made it clear in his inaugural address that there would be no war unless the south insisted on it, and that his priority as president was to keep the country together (not to free slaves). Granted, all of this changed as the war went on, but at the start of the Civil War, it really was the Confederacy (or whatever you want to call it before it came together and became official) that was spoiling and angling for the fight.
Now, that said, once things had reached the point where there would be no compromise lest Lincoln resign, or his administration passed a Constitutional amendment protecting slavery, the Union acted as the aggressor. By sending supplies to relieve Fort Sumter, Lincoln knew that he was lighting the fuse on the conflict (yet wisely did so in a way that forced the Confederacy to fire the actual first shot). And once that first shot was fired, all through the rest of the war, the Union was indeed the physical aggressor in most cases.
And to answer your last question, yes: the south was actively preparing for war prior to the commencement of actual hostilities. They had begun arming and organizing in earnest following John Brown's raid (it scared the hell out of them!), and initiated dozens of actions to seize munition facilities, ship yards, iron works, and forts that were within their boundaries in the weeks leading up to the actual war.
[Sources: Bruce Catton, 'Mr. Lincoln's Army'; Doris Kearns Goodwin, 'Team of Rivals'; James McPherson, 'Battle Cry of Freedom']