CoDeploy needs an HTTP server, such as Apache2, running on the local host containing the software to be deployed. So, if you are behind a firewall, you need to have the port 80 of the local host "open" so that remote machines can access contents by mean of an HTTP connection, as if they are downloading a file from a Web site.
You have to setup the HTTP server so that, when you give an URL pointing to a directory on your local host, then this can be find by remote nodes. On Ubuntu, you have to modify the file /etc/apache2/sites-available/default so that the "DocumentRoot" parameter, which by default is /var/www/, points e.g. to your PlanetLab directory.
If you have: DocumentRoot /var/www/
replace with DocumentRoot /home/yourUserName/choosenFolder/
This should work fine if your Linux box is being used by a single user.
The syntax of the CoDeploy command is something like this: codeploy -a localDirectory http://localHostIP_orName/localDirectory/ remoteDirectory.
With -a you specify you want to send compressed data, useful if deploying large files for the first time. localDirectory is the directory containing the files you want to be deployed and MUST be inside the "choosenFolder" with which you configured DocumentRoot, the URL is where remote nodes will find the files and remoteDirectory is the remote directory where the files will be copied.
work in progress