When you're running an Apache httpd web server, you should run it using a separate daemon user account and group set up for the purpose and not run it as either root (a horrific thing to do, as it would lead to all sorts of security holes) or nobody (another very bad idea, as the "nobody" applications can club together and become a somebody, as the Tsars discovered some 90 years ago).
Under Redhat (Fedora) you'll find both user and group numbers 48 set up as "apache" and you should use them. Under SuSE the equivalent is "www" and "wwwrun". Simply put the names or numbers into the httpd.conf file under teh user and group directive. On other versions of *nix, you may need to set up the account yourself.
Once you have set up your web server in this way, you can create your developer/deployer's account and the web area to be owned by that developer/deployer, in the same group as the web server. Then use the user permissions to control what the developer can read and write, and the group permissions to control what the web server can read and write.
(written 2008-04-22, updated 2008-04-23)
Associated topics are indexed under
A161 - Web Application Deployment - Users and Groups [2639] su or su - ... what is the difference? - (2010-02-17)
[2491] Root is root for a reason! - (2009-11-03)
[2301] Mistaken identity? - (2009-07-22)
[2203] Always use su with minus. And where do programs come from? - (2009-05-27)
[2117] Choosing a railway station fairly in PHP - (2009-04-04)
[2103] Ask the Tutor - Open Source forum - (2009-03-25)
[1904] Ruby, Perl, Linux, MySQL - some training notes - (2008-11-23)
[1902] sstrwxrwxrwx - Unix and Linux file permissions - (2008-11-23)
[1773] The Longest Possible Day - (2008-08-26)
[1650] Looking for files with certain characteristics (Linux / Unix) - (2008-05-22)
[1592] Setting up a new user - Linux or Unix - (2008-03-26)
[683] Supporting users on Linux and Unix - (2006-04-13)
[431] File permissions of Linux and Unix systems - (2005-08-31)
[409] Functions and commands with dangerous names - (2005-08-11)
A603 - Web Application Deployment - Further httpd Configuration [3449] Apache Internal Dummy Connection - what is it and what should I do with it? - (2011-09-19)
[3133] An image from a website that occasionally comes out as hyroglyphics - (2011-01-14)
[2900] Redirecting a page - silent, temporary or permanent? - (2010-08-03)
[2478] How did I do THAT? - (2009-10-26)
[2272] Monitoring and loading tools for testing Apache Tomcat - (2009-07-07)
[2060] Database connection Pooling, SSL, and command line deployment - httpd and Tomcat - (2009-03-01)
[1974] Moving a directory on your web site - (2009-01-03)
[1955] How to avoid duplicating web page maintainance - (2008-12-20)
[1954] mod_rewrite for newcomers - (2008-12-20)
[1939] mod_proxy_ajp and mod_proxy_balancer examples - (2008-12-13)
[1778] Pointing all the web pages in a directory at a database - (2008-08-30)
[1767] mod_proxy and mod_proxy_ajp - httpd - (2008-08-22)
[1762] WEB-INF (Tomcat) and .htaccess (httpd) - (2008-08-20)
[1707] Configuring Apache httpd - (2008-07-12)
[1636] What to do if the Home Page is missing - (2008-05-08)
[1566] Strange behaviour of web directory requests without a trailing slash - (2008-03-06)
[1564] Default file (MiMe types) for Apache httpd and Apache Tomcat - (2008-03-04)
[1554] Online hotel reservations - Melksham, Wiltshire (near Bath) - (2008-02-24)
[1551] Which modules are loaded in my Apache httpd - (2008-02-23)
[1381] Using a MySQL database to control mod_rewrite via PHP - (2007-10-06)
[1377] Load Balancing with Apache mod_jk (httpd/Tomcat) - (2007-10-02)
[1355] .php or .html extension? Morally Static Pages - (2007-09-17)
[1351] Compressing web pages sent out from server. Is it worth it? - (2007-09-14)
[1207] Simple but effective use of mod_rewrite (Apache httpd) - (2007-05-27)
[1121] Sharing the load with Apache httpd and perhaps Tomcat - (2007-03-29)
[1080] httpd.conf or .htaccess? - (2007-02-14)
[1009] Passing GET parameters through Apache mod_rewrite - (2006-12-27)
[934] Clustering, load balancing, mod_rewrite and mod_proxy - (2006-11-21)
[853] To list a directory under httpd on a web server, or not? - (2006-09-02)
[755] Using different URLs to navigate around a single script - (2006-06-11)
[662] An unhelpful error message from Apache httpd - (2006-03-30)
[649] Denial of Service ''attack'' - (2006-03-17)
[631] Apache httpd to Tomcat - jk v proxy - (2006-03-03)
[550] 2006 - Making business a pleasure - (2006-01-01)
[526] Apache httpd - serving web documents from different directories - (2005-12-12)
[466] Separating 'per instance' data from binaries and web sites - (2005-10-16)
[345] Spotting a denial of service attack - (2005-06-12)
Some other Articles
PHP Techniques - a workshopAn extra step - victory from defeatLinux and Java Course in LondonNorwich and LondonUser and Group settings for Apache httpd web serverA small picture does not always cut it!Steam Engines at BressinghamNot daring to be an anorakPHP training courses every monthWhen an array is not an array