1

I compile and install a lot of programs myself from source. Since I have a working installation of apache + PHP but would like to try Nginx + PHP-FPM I would like to install these in non standard locations such as /nginx and /php-fpm

Apart from executable files not being in PATH (but this can be solved) what other problems or consequences could there be?

1
  • I'd speak out against voting to close this question; it seems to me a like a legitimate best-practice question, and worthwhile as such.
    – MadHatter
    Dec 18, 2013 at 12:12

1 Answer 1

1

The main disadvantages to hand-compiling into custom locations can be divided into those arising from hand-compiling, and those arising from storing in custom locations.

Amongst the disadvantages of hand-compiling, I find:

  1. It's a maintenance nightmare, as you constantly have to be recompiling from source when a security update is released;
  2. It's a double maintenance nightmare, as you have to constantly watch the fora, mailing lists, websites, and (these days) IRC channels for each piece of software you've compiled, so you can find out about updates as they are released, and make judgement on each one, as you find out about it, as to whether you need that particular update;
  3. It's a stability nightmare. RH (and other server-class distro vendors) have a policy of not incrementing versions inside a stable major vrsion of the OS. Instead, they backport only necessary patches (mostly security, but not always) to the released version, so that you're not constantly battling with old config files becoming syntactically-invalid, stored databases needing schema patches applying, and so on, with each new release you decide to take on board.

Amongst the disadvantages of custom locations, I find:

  1. It makes the system harder to maintain, as any new admin has first to unpick the maze wherein the current system software lies;
  2. It increases the chance of some of it failing to get backed up (you have to keep updating your policies to include the new directories);
  3. Unless you're careful with your ./configures, it leaves config files scattered all over the FS (eg /nginx/etc/nginx.conf, /php-fm/etc/php-fm.ini) instead of having them all centralised in /etc. This can make change control more difficult.

In short, if you're the only person who will ever have to work on this server, you don't have any other servers to work on, and you have time on your hands to follow the various fora for the packages you're hand-compiling, the pain of this will be minimised, and may be quite small. If not, the pain may be large.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .