?
Solved

Upgrade Apache from 2.0.53 to 2.2.6

Posted on 2007-11-20
8
Medium Priority
?
2,200 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
Flexible connectivity for any environment

The KE6900 series can extend and deploy computers with high definition displays across multiple stations in a variety of applications that suit any environment. Expand computer use to stations across multiple rooms with dynamic access.

 
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 2000 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

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!

Question has a verified solution.

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

Java performance on Solaris - Managing CPUs There are various resource controls in operating system which directly/indirectly influence the performance of application. one of the most important resource controls is "CPU".   In a multithreaded…
Every server (virtual or physical) needs a console: and the console can be provided through hardware directly connected, software for remote connections, local connections, through a KVM, etc. This document explains the different types of consol…
The purpose of this video is to demonstrate how to manually back up a WordPress Database. This will be demonstrated using a Windows 8 PC. The Host used will be IPage.com Log into your Hosting account. IPage will be used for demonstration : Locat…
The purpose of this video is to demonstrate how to reset a WordPress password if you are locked out and cannot reset the password. A typical use would be if you cannot access the email to which WordPress would send the password recovery email to…
Suggested Courses
Course of the Month9 days, 7 hours left to enroll

762 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