On linux distros, it's more rule than exception to install things via some sort of package. Via a manager or command line. This then configures a lot of stuff for you and it just works.
As such, there's stuff like LAMP of XAMPP.
However, I'm not content with this. I want to have the option of getting the most recent of each piece of software, and keeping it up to date.
There are a couple problems:
- What directories do I install the individual pieces of software to?
- How do I make them properly work together?
- With #2 in mind: in what order do I install them?
- Do I download the sources and compile them myself, or are there precompiled binaries I can download(not the same thing as installing LAMP)?
- If a new version of one of the components comes out and I want to update, how do I proceed? Compile again and overwrite install folders? What about a major update, like from MySQL 4.x to 5.x?
Number 4 especially applies to PHP, since you can give a lot of command line options to compile it very specifically.
These are the questions that continue to bug me. How do I proceed?
Although compiling and maintaining all the stack by yourself is not a bad project it looks to me like quite an effort, considering that distributions also try to keep up to date as much as possible.
Of course bgy is right about using the latest versions on prod enviroments, it's not a recommended practice, you always want to be at least 1 week behind, and that is already being on the bleeding edge.
For Ubuntu you can add either use the bleeding edge repositories (right now natty beta 2) or find one of the many PPA repositories that will have any package you may need up to their latest version, of course your mileage may vary and you can end up with a broken package, but it's always fast and easy to go back.
The only real reason for me to compile your own would be if you need things that are neither available not possible with the default packaging, for keeping up to date sticking to the distribution packaging mechanism is the best choice.