My Notepad

  • My Linux Notes
  • My Grid Notes
  • To do List
  • Saturday, April 15, 2006

     

    HOWTO build Apache2 from Source on Fedora Core 4

    The most annoying thing is the existing rpm apache in Fedora Core 4 if you have installed it. Of course you can keep it (make sure you installed httpd-devel as well), but I prefer everthing is built from source(As long as I can...).It's recommended to remove it first
    before you build a brand new Apache from source.
    Use,
    yum remove httpd.i386

    to remove the rpm apache packages. Boz of dependencies, PHP and system-config-httpd will also be removed,
    you can optionall reinstall them later if u need.

    1. download the apache src file httpd-2.2.0.tar.bz2 and unzip it locally.
    2. ./configure --prefix=/usr/local/apache2 --enable-ssl --enable-so --enable-mods-shared=all
    *N.B* If you need proxy , make sure add" --enable-proxy --enable-proxy-http " parameters.
    3. make
    4. make install
    5.apache/bin/apachectl configtest
    6. apache/bin/apachectl start

    N.B. * If you are using apache2.0.x, and enable ssl like above, when you start the server, you
    might see following errors:
    no listening sockets available, shutting down
    Unable to open logs
    It's because mod_ssl hasnt been loaded by default. Comment out the following two lines in httpd.conf:
    #
    LoadModule ssl_module modules/mod_ssl.so
    #


    To enable apache as system service and start automatically on startup, do the following
    1. create a file "httpd" in /etc/init.d/
    Here is a sample file when the install dir of apache is /usr/local/apache2

    ************************************************************
    #!/bin/bash
    #
    # Startup script for the Apache Web Server
    #
    # chkconfig: - 85 15
    # description: Apache is a World Wide Web server. It is used to serve # HTML files and CGI.
    # processname: httpd
    # pidfile: /usr/local/apache2/logs/httpd.pid
    # config: /usr/local/apache2/conf/httpd.conf

    # Source function library.
    . /etc/rc.d/init.d/functions

    if [ -f /etc/sysconfig/httpd ]; then
    . /etc/sysconfig/httpd
    fi

    # This will prevent initlog from swallowing up a pass-phrase prompt if
    # mod_ssl needs a pass-phrase from the user.
    INITLOG_ARGS=""

    # Path to the apachectl script, server binary, and short-form for messages.
    apachectl=/usr/local/apache2/bin/apachectl
    httpd=/usr/local/apache2/bin/httpd
    pid=$httpd/logs/httpd.pid
    prog=httpd
    RETVAL=0


    # The semantics of these two functions differ from the way apachectl does
    # things -- attempting to start while running is a failure, and shutdown
    # when not running is also a failure. So we just do it the way init scripts
    # are expected to behave here.
    start() {
    echo -n $"Starting $prog: "
    daemon $httpd $OPTIONS
    RETVAL=$?
    echo
    [ $RETVAL = 0 ] && touch /var/lock/subsys/httpd
    return $RETVAL
    }
    stop() {
    echo -n $"Stopping $prog: "
    killproc $httpd
    RETVAL=$?
    echo
    [ $RETVAL = 0 ] && rm -f /var/lock/subsys/httpd $pid
    }
    reload() {
    echo -n $"Reloading $prog: "
    killproc $httpd -HUP
    RETVAL=$?
    echo
    }

    # See how we were called.
    case "$1" in
    start)
    start
    ;;
    stop)
    stop
    ;;
    status)
    status $httpd
    RETVAL=$?
    ;;
    restart)
    stop
    start
    ;;
    condrestart)
    if [ -f $pid ] ; then
    stop
    start
    fi
    ;;
    reload)
    reload
    ;;
    graceful|help|configtest|fullstatus)
    $apachectl $@
    RETVAL=$?
    ;;
    *)
    echo $"Usage: $prog {start|stop|restart|condrestart|reload|status"
    echo $"|fullstatus|graceful|help|configtest}"
    exit 1
    esac

    exit $RETVAL

    *************************************************************

    2, chmod ugo+x httpd
    3, chkconfig --add httpd
    4, chkconfig --level 2345 httpd on
    5, chkconfig --list

    Now, you can use either "apachectl start/stop/restart" or "service httpd start/stop/restart" to control
    apache service.


    Reference:
    http://www.activsoftware.com/apache/apache2src.cfm
    http://johnturner.com/howto/apache2-tomcat4127-jk-rh9-howto.html

    Comments: Post a Comment



    << Home

    Archives

    December 2005   January 2006   February 2006   April 2006   May 2006   June 2006   July 2006   November 2006   February 2007   May 2007   June 2007   November 2007   February 2008   March 2008   April 2008   August 2008   December 2008   March 2009   April 2009   May 2009   June 2009   October 2009   November 2009   December 2009   May 2013  

    This page is powered by Blogger. Isn't yours?