Migrating to the webserver - what do I have to take care for?
I strongly recommend you look into using drush to synchronise sites.  Although it admittedly will not solve your permission woes, it will greatly ease the pain of doing this for every update you need to push.

As for permissions, there are many ways of configuring depending on your set-up and how safe you want to be. I usually just have all files belong to webserver and add my user to webservers group, but like I said many things can go wrong with permissions.

Coming back to drush rsync, I would most probably attack this by setting up 2 aliases, one for @dev and the other one for @live (or @stage). So, with those aliases you can rsync  via the simple command  drush rsync @dev @live your whole site will be transferred. Just set proper permissions the first time you do this on /files and other folders needing write access, and you should be set to go.

PS: Do look into drush sql-copy and other goodies hidden in drush.  I cannot imagine doing this manually anymore, I have used aliases for a few years now and would NOT go back the old way!

Hope that helps, good-luck!