Apache 1.3.29 on RedHat 9 ?
I wonder if someone could give me some advice before I get out of my depth here. I have a Linode 64 with RedHat small. Its working very nicely. The first thing I did at the beginning was to downgrade Apache 2 to 1.3.27 using the rpms from RedHat. My reason for this is that PHP support is still officially 'experimental' on Apache 2. So, I basically uninstalled the Apache 2 package and installed 1.3.27.
I like to keep PHP up to date so I installed all the required devel packages from rpms and eventually got PHP to compile. I also upgraded to MySQL 4 from rpm.
Now, I'd like to get Apache up to 1.3.29 but there there is no rpm from RedHat beyond 1.3.27. I've downloaded the Apache tarball and run ./configure and make and it successfully compiles. I haven't had the courage to type make install for fear of messing things up.
I should presumably uninstall the apache package before installing from source. If I try rpm -e –test apache I get
webserver is needed by (installed) mod_perl-1.26-5
webserver is needed by (installed) mod_ssl-2.8.12-3
webserver is needed by (installed) webalizer-2.01_10-11
webserver is needed by (installed) mailman-2.1.1-4
There is nothing really critical there, I'm not using perl or ssl and I installed webalizer and mailman from rpms from RedHat and mailman's main mail functions don't depend on Apache.
In order to install future packages, I don't want to break the rpm system more than I have too so I had thought of simply doing the make install to overwrite the files but keep the rpm database 'knowing' that Apache 1.3.27 is installed but after doing an rpm -ql and reading the Apache docs, they are not going to all end up in the same places even with careful setting of --PREFIX.
So … I'm tempted to force uninstall of 1.3.27 then compile and make install with PREFIX something like /usr/local/apache as suggested by Apache. Then I'd probably have to recompile PHP. Webalizer only needs to know where the logs are and I'd have to fiddle with modssl and modperl if I want them.
Is there an easier way for someone who is still pretty much a Linux newbie although learning? Are there traps to fall into that I need to lookout for?
Maybe I'm being a bit obsessive about upgrading and should just leave it on 1.3.27 and forget about it (if it aint broke ….). But there seemed to be quite a few bug fixes including some security related. A quick look at a few popular sites revealed that most are running at least 1.3.28.
Thanks for any advice.
Cheers
Ross
8 Replies
1) Download and install the current source RPM from redhat as a kickstart.
2) Bump the version #, and release number in the spec file (make the release something like 0.you.1)
3) Replace the tarball in the source distribution with the new source
4) rpmbuild -ba foo.spec
5) Fix any build problems (these are typically removing old patches that conflict with the newer source. Go back to #4
6) Install your new RPM.
This alleviates any problems with sidestepping the RPM system.
Also you might want to take a look at the SRPM and see what patches are applied. There is a chance that they have backported patches from later releases to your release and are sticking with your version for stability.
Also be aware that if you upgrade or downgrade a version that changes the mmn (module magic number), you'll have to recompile any modules that you want to use with it as well.
Cheers
Ross
Although PHP is still experimental with Apache 2, I have been using it successfully and without problems for quite some time. I run at least 1 site that is heavily dependent on the Apache, PHP, MySQL combo and I try to ensure that I am running the latest versions of each.
Currently…
Apache/2.0.47
PHP Version 4.3.4
Mysql 4.0.15 … need to upgrade this again
In some ways its not a very happy situation.
Ross
I can't say with 100% certainty that I would answer yes to this but I am confident enough to use it for production sites.
Also, found this which might solve your RPM issue. It's not from RH but if memory serves then it should work just fine.
@tetranz:
Thanks for this. I tried it but got bogged down in patch issues which I don't really know enough about. I obviously need to learn a bit more about patches and how rpms are put together etc.
If you have a user account I can log into on your build box, I'll give it a shot at getting it into a RPM for you. It normally doesn't take a whole lot of effort. But I do remember that there are quite a few patches on apaches
Btw, did you look through the patches and see if the patches you were concerned about had been backported to the earlier release?
@HeadachesAbound:
After reading that it would seem that the answer is really quite simple. Do you use any 3rd party libraries with php that would prevent you from using Apache 2?
Fair enough but nobody really knows what libraries are really thread safe. I'm using things like GD, IMAP and the XML stuff so who knows? …
> Also, found this which might solve your RPM issue. It's not from RH but if memory serves then it should work just fine.
http://rpmfind.net//linux/RPM/PLD/dists … .i386.html">http://rpmfind.net//linux/RPM/PLD/dists/ra/updates/security/i386/apache-1.3.29-1.i386.html
Thanks, I had a play with that but it had some dependences and then I had some conflicts installing 'coreutils', I think it was, to solve the dependences so I didn't persue it further.
> GD, IMAP and the XML stuff
I've used both GD and XML with no apparent problems. I've also used IMAP just not as much so I couldn't say for sure on it.