Think of CGI debugging as fun. In fact, to get practice, try going to a CGI discussion forum and helping people solve their problems. You will not only hone your own skills, but make the CGI community a happier group to be a part of. If you are familiar with the concepts of complex systems, emergent properties, and extropianism, forget them in the debugging process, they won't help you here as much as the stodgy old Newtonian paradigm. It will assuredly make you a better software designer.
Permissions can often be a real drag.
Permissions are set by using the chmod, chown and chgrp command. For the most part though, you will only need to worry about the chmod command. The part is divided into four sections. This is the most insecure, but if your scripts work at this level, but do not work otherwise, you have isolated the problem to a permissions problem. Then, one by one, increase the security.