Solved

Upgrade Apache from 2.0.53 to 2.2.6

Posted on 2007-11-20
8
2,170 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
Use Case: Protecting a Hybrid Cloud Infrastructure

Microsoft Azure is rapidly becoming the norm in dynamic IT environments. This document describes the challenges that organizations face when protecting data in a hybrid cloud IT environment and presents a use case to demonstrate how Acronis Backup protects all data.

 
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

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Text Transformation using ActionScript 3 5 151
Apache / XAMPP  authorisation 10 62
.htaccess file settings 4 62
Need To Change Centos 6 Timestamp Form In Log File 24 92
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 …
In Solr 4.0 it is possible to atomically (or partially) update individual fields in a document. This article will show the operations possible for atomic updating as well as setting up your Solr instance to be able to perform the actions. One major …
The purpose of this video is to demonstrate how to prevent comment spam on a WordPress Website. This will be demonstrated using a Windows 8 PC. Plugin Akismet will be used. Go to your WordPress login page. This will look like the following: myw…
The purpose of this video is to demonstrate how to set up basic WordPress SEO. This will be demonstrated using a Windows 8 PC. The plugin used will be WordPress SEO by Yoast. Go to your WordPress login page. This will look like the following: myw…

808 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