Solved

Upgrade Apache from 2.0.53 to 2.2.6

Posted on 2007-11-20
8
2,159 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
  • 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
 
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
What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

 

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

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

Turn A Profile Picture Into A Cartoon Using Photoshop And Illustrator This tutorial will teach you how to make a cartoon style image out of a regular picture. I have tried to keep the tutorial as simple as possible. I used Adobe CS4 for this tuto…
Using libpcap/Jpcap to capture and send packets on Solaris version (10/11) Library used: 1.      Libpcap (http://www.tcpdump.org) Version 1.2 2.      Jpcap(http://netresearch.ics.uci.edu/kfujii/Jpcap/doc/index.html) Version 0.6 Prerequisite: 1.      GCC …
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
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…

760 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

Need Help in Real-Time?

Connect with top rated Experts

26 Experts available now in Live!

Get 1:1 Help Now