You would deploy the server version for production, but if you plan to use the X11 gui to work on, you would need the desktop version. Otherwise the server version is sufficient.
In reality, the only real difference between the two is the default package selection. You can convert the server version into the desktop variant with a single command if you like.
Either Desktop or Server (or Netbook, if you like). As SvenW points out then only real difference is the default package selections (server has no X by default, netbook defaults to a different desktop config optimised for small screens) - you well find that the default Apache, MySQL and PHP setups will be identical on all the different Ubuntu variants.
Where you will find differences is between releases. For instance Ubuntu 10.04 carries PHP version 5.3.2, Ubuntu 9.10 has PHP 5.2.10 and so on. If you are developing generally then you probably just want to go with the latest. If you are working code for a specific deployment then you might want to try get exactly the same package versions that will be used on that deployment - that way you are developing and testing on exactly the same environment as the final deployment will be using. On that point you might want to use the same Linux variant (which may not be Ubuntu) as the client, either directly or in a VM, for testing purposes then you are as close as you can be to exactly replicating the environment the code will eventually be deployed in.
You would deploy the server version for production, but if you plan to use the X11 gui to work on, you would need the desktop version. Otherwise the server version is sufficient.
In reality, the only real difference between the two is the default package selection. You can convert the server version into the desktop variant with a single command if you like.
Either Desktop or Server (or Netbook, if you like). As SvenW points out then only real difference is the default package selections (server has no X by default, netbook defaults to a different desktop config optimised for small screens) - you well find that the default Apache, MySQL and PHP setups will be identical on all the different Ubuntu variants.
Where you will find differences is between releases. For instance Ubuntu 10.04 carries PHP version 5.3.2, Ubuntu 9.10 has PHP 5.2.10 and so on. If you are developing generally then you probably just want to go with the latest. If you are working code for a specific deployment then you might want to try get exactly the same package versions that will be used on that deployment - that way you are developing and testing on exactly the same environment as the final deployment will be using. On that point you might want to use the same Linux variant (which may not be Ubuntu) as the client, either directly or in a VM, for testing purposes then you are as close as you can be to exactly replicating the environment the code will eventually be deployed in.
Not strictly true, as the server and desktop kernels are different and that command won't upgrade the desktop kernel.