<p>We're looking to automate our deployment of Web Applications, particularly when going from local development to a remote server.</p>

<p>Our current stack is LAMP remotely, MAMP locally, but I'm interested in general what people are using for this task regardless of their environment?</p>

<p>I'm not just talking about moving files around, I also meant considering other tasks such as:</p>

<ul>
<li>Setting up Database schema</li>
<li>Managing configurations</li>
<li>Misc tasks required for deployment (creating log files etc.)</li>
</ul>

rsync->great tool
But, the answer depends on your enviro.  What do you use for source control?  What do you use for a build system? Etc.
Deployment for a web server is nothing more than a "cp" command depending on which files changed.  You need to build a process that tracks the files that change, pull those files from source control and then pushes those changes.  When you are dealing with PHP files, how do you know which files to push? That's the problem.  You solve that, you'll be fine.  The tool to cp the files and "deploy" them is the easy part.