I have been reading the Phing documentation and it makes sense, but I’m not able to find out from there or on Google (or here) how to do what I would consider to be a fairly normal build procedure – checkout from svn, then upload the checked out copy via ftp and then chmod certain directories (for uploading files).
Is this possible with Phing, or would I have to write my own task class to do it?
Is it possible? Sure, anything is possible – given enough time and resources. You can also extend Phing with your own tasks if it doesn’t yet cover what you want.
But regarding your specific question : to checkout from svn use the svncheckout (or svnexport – the latter seems more appropriate for your scenario) task, to transfer with ftp use the ftpdeploy task (or better yet – use scp instead of ftp), and to chmod some files you could use the ssh task (provided that you have SSH access of course).