To make Apache able to read and write a directory, that directory must be:
- owned by user apache, and mode 7xy (6xy for files); x and y may both be zero;
- owned by another user, but group ownership same as Apache, and mode x7y or x6y (x is usually the sum of 2 = file write and 4 = file read, therefore 6, and 1 = directory scan, therefore 7 for directories)
- owned by an user different from Apache's, a group different from Apache's, and mode xy6 or xy7. This means that the file is writeable by ABSOLUTELY ANYONE, and therefore a bad idea. Try having file ownership changed to fall in one of the more reasonable cases above.
To change permissions, you need to have ownership of the file/directory. Then you can change permissions via the shell (chmod command) or through FTP. To change ownership you must be the super-user, root, and can't do that by FTP, need some kind of shell access to run the chown utility or some GUI variation thereof.
Your best option is, I think, to keep files and directories owned by a non-Apache user and without access permissions except 4 (read) + 1 (=5) for directories. Then in a limited set of special directories, have Apache ownership and permissions 600 (files) and 700 (subdirectories). If possible, then, configure the Web server (PHP, python, etc.) to NOT interpret files from the writeable area. There, Apache will be able to write everything, but not execute it.
This is because having ALL files writeable by Apache would possibly allow someone to upload executable code, thereby "ordering" the server to do something which you wouldn't like (sending spam, escalating privileges, running portscans and bot nets...). If the possibility of writing files is desired, those files should be prevented from ever being run.