you want to change the directory webwork/courses/admin to be owned by the server. (The "user" that runs apache on my system is called wwhttpd -- it may be called apache on yours. )
You want the ownership of (most) of the webwork/webwork2 subdirectories to be something that administrators can change but which cannot be changed directly from the server (that would be a security risk). There are several exceptions. The server should be able to write to some of the webwork2 subdirectories (e.g. webwork2/log, webwork2/DATA, webwork2/html/tmp and perhaps a couple of others listed in the installation instructions.
You want the webwork2/courses directory (and it's subdirectories) to be writable by the server -- so that it can create courses. The easiest way to do this is to make webwork2/courses owned by the server.
The installation instructions (at least for 2.12) did not mention that the permissions for the admin course should be changed so that it is owned by the server. After the admin course is set up all of the other courses are created from the web via the server --- and are therefore automatically owned by the server. Alternatively after you set up the admin course, then you could use
chown -R serverName courses to change all of the directories under
webwork2/courses to be owned by the server.
Hope this helps.