{"id":35,"date":"2003-08-26T07:15:08","date_gmt":"2003-08-26T11:15:08","guid":{"rendered":"http:\/\/blogs.law.harvard.edu\/rlucastemp\/2003\/08\/26\/downgrading-to-apache-13-from-apac"},"modified":"2003-08-26T07:15:08","modified_gmt":"2003-08-26T11:15:08","slug":"downgrading-to-apache-13-from-apache-2-under-red-hat-9","status":"publish","type":"post","link":"https:\/\/archive.blogs.harvard.edu\/rlucastemp\/2003\/08\/26\/downgrading-to-apache-13-from-apache-2-under-red-hat-9\/","title":{"rendered":"Downgrading to Apache 1.3 from Apache 2 under Red Hat 9"},"content":{"rendered":"<p><a name='a13'><\/a><\/p>\n<p>Apache 2.0 can be a real cast-iron bitch.&nbsp; It&#8217;s got this cool<br \/>\nsupport for threading that you think will make your life easier but it<br \/>\nturns out to have all sorts of little API differences that break your<br \/>\nlegacy apps, in really horrifyingly difficult to discern ways.&nbsp;<br \/>\nThis might be the apps&#8217; fault or Apache&#8217;s fault, but either way it<br \/>\nmakes your life hard if you are used to things working smoothly under<br \/>\nApache 1.3x and then get jolted into the cruel world of 2.x.<\/p>\n<p>&nbsp;<\/p>\n<p>Red Hat has put out Apache 2.0 since at least Red Hat 8.0.&nbsp; Red<br \/>\nHat 9 comes with Apache 2 as well.&nbsp; However, Red Hat knows about<br \/>\nthe problems as well as anybody: the non-gratis Red Hat Enterprise<br \/>\nLinux distros come with Apache 1.3x!&nbsp; [UPDATE: Enterprise<br \/>\nLinux&nbsp;2.x came with 1.3.x; Red&nbsp;Hat has made<br \/>\nthe&nbsp;questionable choice of putting Apache 2 in Enterprise Linux<br \/>\n3.0 and <em>removing<\/em> things like the venerable Pine&#8230;]&nbsp;<br \/>\nIt&#8217;s clear that if you actually want stability, you should use 1.3<br \/>\nuntil the rest of the world catches up with Apache 2.0.<\/p>\n<p>(Other people know this too: see <a href=\"http:\/\/linux.derkeiler.com\/Mailing-Lists\/RedHat\/2003-07\/0726.html\">http:\/\/linux.derkeiler.com\/Mailing-Lists\/RedHat\/2003-07\/0726.html<\/a>&nbsp;and <a href=\"http:\/\/lists.freshrpms.net\/pipermail\/rpm-list\/2003-May\/004682.html\">http:\/\/lists.freshrpms.net\/pipermail\/rpm-list\/2003-May\/004682.html<\/a>&nbsp;)<\/p>\n<p>If you want to downgrade your Red Hat 9 Apache version, you can<br \/>\neither try to compile, which is fairly straightforward once you find<br \/>\nthe fixes I mention below, but if you want mod_perl and mod_ssl, and if<br \/>\nyou are not very smart, like me, you really are better off using the<br \/>\nrpm packaged versions.<\/p>\n<p>&nbsp;<\/p>\n<p>Unfortunately, the openssl 9.7 that comes with Red Hat 9 will<br \/>\nprevent you from installing mod_ssl 2.8 to go with Apache 1.3.&nbsp;<br \/>\nSo, here&#8217;s how to install Apache 1.3 with mod_perl and mod_ssl:<\/p>\n<p>&nbsp;<\/p>\n<p>1. Erase the apache 2.0 rpm from the system.&nbsp; Nuke the dependent packages as well (mod perl, mod ssl, php, etc).<\/p>\n<p>2. Get:<\/p>\n<p>apache-1.3.27-2.i386.rpm<\/p>\n<p>mod_perl-1.26-5.i386.rpm<\/p>\n<p>mod_ssl-2.8.12-2.i386.rpm<\/p>\n<p>openssl-0.9.6b-32.7.i386.rpm<\/p>\n<p>&nbsp;<span style=\"font-style: italic;\">Warning: these packages are<br \/>\nend-of-lifed and may present security hazards (read: your box could be<br \/>\nowned if you do this!).&nbsp; I am no longer running a box with these<br \/>\npackages and I suggest you do not either!&nbsp; I currently recommend<br \/>\napachetoolbox (apachetoolbox.com) for a quick and relatively painless<br \/>\nrecompile, rather than relying upon these old dusty rpms.<br \/>\n<\/span><\/p>\n<p>3. Install apache and mod_perl.&nbsp; Ensure that it works fine (sanity check).<\/p>\n<p>4. Back up \/usr\/share\/ssl\/* to e.g. \/usr\/share\/ssl9.7a\/<\/p>\n<p>5. Back up \/usr\/bin\/openssl to e.g. \/usr\/bin\/openssl9.7a<\/p>\n<p>6. Install openssl with a suitable command line:<\/p>\n<p>rpm -ivh openssl-0.9.6b-32.7.i386.rpm &#8211;excludedocs &#8211;oldpackage &#8211;force<\/p>\n<p>7. Now back up \/usr\/share\/ssl\/* to \/usr\/share\/ssl9.6b\/ and restore ssl9.7a\/<\/p>\n<p>8. Back up \/usr\/bin\/openssl to openssl9.6b and restore openssl9.7a<\/p>\n<p>9. You should now have both openssl 9.6b and 9.7a installed on your system.&nbsp; You can verify this with rpm -q openssl<\/p>\n<p>10. Now install the mod_ssl RPM.<\/p>\n<p>&nbsp;<\/p>\n<p>Make sure you&#8217;ve used lokkit (or manually arranged) to open up both<br \/>\nport 80 and 443 or else you&#8217;ll drive yourself crazy for 20 minutes,<br \/>\nlike I did, wondering why http is running but not answering.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Apache 2.0 can be a real cast-iron bitch.&nbsp; It&#8217;s got this cool support for threading that you think will make your life easier but it turns out to have all sorts of little API differences that break your legacy apps, in really horrifyingly difficult to discern ways.&nbsp; This might be the apps&#8217; fault or Apache&#8217;s [&hellip;]<\/p>\n","protected":false},"author":1180,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1460],"tags":[],"class_list":["post-35","post","type-post","status-publish","format-standard","hentry","category-rlucasstories"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/archive.blogs.harvard.edu\/rlucastemp\/wp-json\/wp\/v2\/posts\/35","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/archive.blogs.harvard.edu\/rlucastemp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/archive.blogs.harvard.edu\/rlucastemp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/rlucastemp\/wp-json\/wp\/v2\/users\/1180"}],"replies":[{"embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/rlucastemp\/wp-json\/wp\/v2\/comments?post=35"}],"version-history":[{"count":0,"href":"https:\/\/archive.blogs.harvard.edu\/rlucastemp\/wp-json\/wp\/v2\/posts\/35\/revisions"}],"wp:attachment":[{"href":"https:\/\/archive.blogs.harvard.edu\/rlucastemp\/wp-json\/wp\/v2\/media?parent=35"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/rlucastemp\/wp-json\/wp\/v2\/categories?post=35"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/rlucastemp\/wp-json\/wp\/v2\/tags?post=35"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}