As for the first question, what you are asking is kind of the reverse of what is normally done. Normally, you would setup the Ubuntu server with Samba to serve the user's files. Samba can even be used as a NT4 style domain to centrally handle authentication, auditing, and authorization unless you are using Windows 7 Home Edition. The Ubuntu Server is a great place to start when setting up a samba server. You could set up Samba shares for each of your users and then they can save the files at their discretion.
If you are simply interested in a backup server, Bacula may be more what you are looking for. You could set up a Bacula Director on your Ubuntu server, and then configure Backula File on each of your clients. Once again, the Ubuntu Server Guide can help you set this up.
You could share the home directories of all of the users on all of your windows machines and setup mount points on the Ubuntu Server and setup a cron job to back the files up to the server. This will quickly get cumbersome as you add and subtract machines. Let me know if this is really what you want to do and I will try to get you some instructions.
As for your second question, it depends entirely how you want to access your database. If you want to access the server directly, you will need edit the
/etc/mysql/my.cnf file and edit the
bind-address = 192.168.0.2 parameter and change
192.168.0.2 to the ipv4 address of the server to listen over the network. Once again, this is documented in the Ubuntu Server Guide.
You could also use phpMyAdmin to access the database from any browser. Once again, The Ubuntu Server Guide has instructions to set this up as well.