Solved

Upgrade Apache from 2.0.53 to 2.2.6

Posted on 2007-11-20
8
2,183 Views
Last Modified: 2013-12-21
I have 3 webservers that I need to upgrade from Apache/2.0.52 to Apache/2.2.6 what are the steps?  

The webservers are running on Solaris 9 and we are using coldfusion.

 Should I build from source or just get a pre build pkg?

0
Comment
Question by:simpsonjr
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 3
8 Comments
 
LVL 13

Expert Comment

by:Caseybea
ID: 20319971
On solaris, I have *always* built apache from source.   It's easy, and you end up getting everything you need.   For example, a commonly-used binary, "apxs", is often NOT included in pre-built packages, and this can make trying to add various modules later a huge pain.    In addition, with a package, you have no control where the binaries and config files go.    Totally controllable with a source build--   in fact, with a source build, you can build the new apache to go SOMEWHERE ELSE---  and end up with BOTH the old and new apache setups on the same box for testing (note: make sure both don't listen to tcp port 80- at the same time!).
0
 
LVL 13

Expert Comment

by:Caseybea
ID: 20319983
As far as the steps:

in the (new) apache directory--    

./configure
make
make install

BUT-- there are options, and I'm not sure how coldfusion fits into there--  for that, take a CLOSE look at the existing httpd.conf.  
0
 

Author Comment

by:simpsonjr
ID: 20320020
What is the best way to make sure that you are building the new version with the same conf as the current one that;s running?  

.  
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 13

Expert Comment

by:Caseybea
ID: 20323577
If the old one was built from source, look for "config.log" in the source directory- that will tell you exactly how it was configure (./configure --option1 --option2 ... etc).

The top of the config log will look like this:

It was created by configure, which was
generated by GNU Autoconf 2.59.  Invocation command line was

  $ ./configure --enable-module=so --enable-rewrite





Otherwise, if your apache was not built from source on your host,  check out the output of /path/to/apache/httpd -V  (i.e., /usr/local/apache/bin/httpd -V) - it will tell you what options apache was compiled with (note, many of them are probably defaults).

It will look like this:

Server version: Apache/2.2.3
Server built:   Nov 20 2007 09:20:13
Server's Module Magic Number: 20051115:3
Server loaded:  APR 1.2.7, APR-Util 1.2.7
Compiled using: APR 1.2.7, APR-Util 1.2.7
Architecture:   32-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_FCNTL_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/usr/local/apache2"
 -D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"
0
 

Author Comment

by:simpsonjr
ID: 20366118
Is there a way to run ./configure to look at the current apache that is installed and build it based on that?

If not, this is what I was going to do to upgrade.  

Make a backup of the existing apache 2 folder that is currently installed.  
Install the new apache 2.2.4 package
replace the httpd.conf
restart apache.  

Is there any other files or folders that I need to mv from the old apache2 backup?  

Thanks
     
0
 
LVL 13

Expert Comment

by:Caseybea
ID: 20367103
No, configure will not automatically know what to do, nor does the configure script have a way to tell "how" your existing apache was built.      You need to tell it.    My previous posting described how you have to figure out your current apache was built from: either find the config.log, or see above for running httpd and displaying the apache options used at compile-time.

If you are planning on upgrading apache in the same directory as it is now (sounds like that's your plan)- then no, you shouldn't have to copy or move anything - even the httpd.conf file you have now WILL BE PRESERVED.

The simplest thing to do:

STOP apache.

create a backup of the entire existing apache tree.  
cd /some/directory
tar cvf apache-backup.tar /usr/local/apache2   (assuming that's where apache is now)


Build new apache, install it into the same directory
./configure --options-you-need-once-you-find-them-if-there-are-any
make
make install

Test.

Voila!    With the backup, you can safely do the above.    If you have problems, restore the backup and go from there.
0
 

Author Comment

by:simpsonjr
ID: 20367283
Here is what I get from httpd -V

[************] /usr/local/apache2/bin > ./httpd -V
Server version: Apache/2.0.52
Server built:   Oct 12 2004 03:56:01
Server's Module Magic Number: 20020903:9
Architecture:   32-bit
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_FCNTL_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D HTTPD_ROOT="/usr/local/apache2"
 -D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf

What options where used?  

I think this is the pkg that they used.  

[***********] /usr/local/apache2/bin > pkginfo -l |more
   PKGINST:  SMCapach2
      NAME:  apache
  CATEGORY:  application
      ARCH:  sparc
   VERSION:  2.0.52
   BASEDIR:  /usr/local
    VENDOR:  The Apache Group
    PSTAMP:  Steve Christensen
  INSTDATE:  Dec 19 2006 14:19
     EMAIL:  steve@smc.vnet.net
    STATUS:  completely installed
     FILES:     3213 installed pathnames
                  62 directories
                 102 executables
               92110 blocks used (approx)
 




0
 
LVL 13

Accepted Solution

by:
Caseybea earned 500 total points
ID: 20367540
Offhand, that looks like a default install.

You could build your apache (but do NOT do a "make install"), and run the resulting httpd binary and compare...........

You are also dealing with a solaris "package", which you will not want to mess with.   (i.e., don't upgrade apache "on top of" your package).   You will want to instead do a pkgrm and then build the new apache.    Save your htdocs and conf stuff somewhere!
0

Featured Post

U.S. Department of Agriculture and Acronis Access

With the new era of mobile computing, smartphones and tablets, wireless communications and cloud services, the USDA sought to take advantage of a mobilized workforce and the blurring lines between personal and corporate computing resources.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

FreeBSD on EC2 FreeBSD (https://www.freebsd.org) is a robust Unix-like operating system that has been around for many years. FreeBSD is available on Amazon EC2 through Amazon Machine Images (AMIs) provided by FreeBSD developer and security office…
Introduction This article is intended for those who are new to PHP error handling (https://www.experts-exchange.com/articles/11769/And-by-the-way-I-am-New-to-PHP.html).  It addresses one of the most common problems that plague beginning PHP develop…
The purpose of this video is to demonstrate how to create a Printer Friendly PDF on a WordPress Page. This will be demonstrated using a Windows 8 PC. Tools Used are Photoshop, Awesome Screenshot” Google Chrome Extension, and SmallPDF.com Log…
The purpose of this video is to demonstrate how to update a WordPress Site’s version. WordPress releases new versions of its software frequently and it is important to update frequently in order to keep your site secure, and to get new WordPress…

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question