Is it OK to mix rpm and source based installations on a production web server? Or is it preferable to either completely go with one or the other way?
thanks a lot
Package management is always the best way to go, purely because it allows you to deal with a single modular entity. Packages make installing and upgrading servers considerably easier. It allows you to reason about your servers easier; you know what version of a particular piece of software is installed. You can be sure that you're running the same binary across several different servers.
I would highly recommend that you learn how to generate RPM packages for any piece of software you install. It might slow you down initially, but you'll reap the rewards later.
I would say pick a path and keep it consistent...Personally I prefer package manager since it's a lot easier to maintain and script against..
The thing to remember about source packages is that you MUST watch the security mail lists on your own and watch the upstream provider in case any critical bugs are discovered. You may need to be prepared to backport fixes to your current system if you aren't ready to upgraded when upstream decides to make a change that breaks something. When using packages from the distributor you can be a bit more relaxed about security issues and trust them to find and fix security issues and release updates as required.
If there is a business reason to use a newer version, then you need to decide if the effort and risk is worth it. You just need to make sure you are prepared to handle things like security yourself.
Like David mentioned, you really should consider learning how to build your own packages. If you have more then one system a properly built package can be reused on your second system. It can be reused on your testing box. That way you don't have a particular package compiled with one option on system a, and a different set of options on system b.
If you have a single server it is generally ok to do everything to make it work and do a full / backup. Only if you keep documentation of your actions (/etc/motd is good enough) . Altough messy, mixing rpms/cpan/deb/custom builds is not that bad unless you have to duplicate the machine. For example my personal laptop is a total dump:) Every time i do dist-upgrade somethings breaks but it's acceptable - i'm the only user. If you have a couple machines that perform the same functions and you need them to perform very predictibable mixing different type of install modes will get you in a lot of trouble. You have to learn how to build rpms/deb and maybe set your own in-house yum repository.