I was once a Windows user, like you. I found the Linux permission thing difficult, but a friendly guru told me that my problem was simply the way I had learned.
Linux was built around the command-line. Instead of moving that mouse around, you talk to the computer -- like text-messaging, actually. chmod and chown, like LOL and WTF, are shortened versions of English commands: in this case, CHange MODe and CHange OWNer.
Which brings us to the permission thing. It's not so difficult, really, and not so different from Windows. Each file has an "owner". That's a single user, usually the one who created the file. Each user can belong to multiple "groups". (So far, they're exactly alike.) Permissions are defined as "read", "write", and "execute", in that order, and restrict what you're allowed to do with the file.
Windows keeps a database of permissions, based on users and groups, sorted for each file; you get the most restrictive permissions possible. Linux gives each file a user-owner and group-owner, and a set of permissions to use when the user matches the file's owner or belongs to the file's group. It also defines a set of permissions to use when nothing matches. You get the most permissive permissions possible.
In Windows, you have to use a graphical tool to figure out all the permissions, and sometimes it has to go all through the file's parents, since files don't necessarily have permissions associated with them. In Linux, every file has permissions, and you can check them just by asking for them: use the List Sideways command, ls.
Permissions in Linux are usually displayed like this:
The first dash is special; just ignore it. Sometimes it'll be an l or d. The next three characters are Read, Write, and eXecute permissions for the owner. The next three are the same for the group. The next three are for everybody else. If a character is missing, that user doesn't have that permission. In the example above, the owner has read, write and execute permissions; the group has only read and write; the user can only read.
Notice that they always come in the same order, just like I mentioned before. That lets us use numbers, instead of letters, for shorthand. If we decide that R is worth 4, W is worth , and X is worth 1, we can specify any combination with just one number between 0 and 7. For instance, rw- is 6; r-x is 5; and --- is 0. You can translate backwards, too, of course. That makes the example above 764.
The chmod command lets you use either the shorthand number or a more easily remembered text string. To change the permissions mode of any file, just say something like:
If you prefer something more English-like, you can say:
which will ADD permissions for the User, Group, and Others, or:
which will REMOVE those permissions.
Finally, you asked how to make ALL the files in /var/www have 777 for all users. For that, you need to tell chmod to work Recursively. Like this:
Most of the graphical file managers -- like Nautilus for Gnome -- will let you do this, too, just by clicking a few buttons. It's just a matter of learning it. It's not Windows, but it's not rocket science, either. In fact, my 8-year-old daughter uses Linux all the time.
Unfortunately, a user can create files with any permissions he likes. So the only way to make sure that all files in /var/www are 777 all the time is to periodically run that chmod command. There is a command to change the default: User permissions MASK, or umask. Since your webserver is probably the one running Serendipity, you could change its umask to 777. But then all /var/www files could be modified by anyone with access to your webserver. The default permissions are more secure.