running multiple copies of apache/httpd instances...

From: bruce (bedouglas_at_earthlink.net)
Date: 07/09/05

  • Next message: Hoffmann: "Re: FC4 Wallpapers"
    To: <fedora-list@redhat.com>
    Date: Sat, 9 Jul 2005 11:23:54 -0700
    
    

    hi...

    a simple/basic question. can someone point me to the way to run multiple
    copies of apache/httpd from the gnome services dialog.

    i had thought it should have been as simple as copying the existing
    '/etc/rc.d/init.d/httpd' to a httpd-foo and making the required changes, and
    then creating a copy of the httpd.conf file with the required directives...

    when i create the httpd-foo file in the init.d dir, i can do a '/httpd-svn
    (start/stop)' and see the process start/stop....

    the problem that i'm appearing to have is that when i start the new httpd
    process, it simply overwrites/restarts the existing httpd processes.... i
    had thought that there's a way to implement multpiple apache/httpd processes
    on the same server...

    i want two separate copies of apache running on the same server, each using
    a separate port #.

    any ideas/thoughts/comments/etc...

    thanks

    bruce
    bedouglas@earthlink.net

    ps...

    the shell scripts that i'm using for the original and new httpd processes
    are:

    original:
    -----------
    [root@lserver2 init.d]# cat httpd
    #!/bin/bash
    #
    # httpd Startup script for the Apache HTTP Server
    #
    # chkconfig: - 85 15
    # description: Apache is a World Wide Web server. It is used to serve \
    # HTML files and CGI.
    # processname: httpd
    # config: /etc/httpd/conf/httpd.conf
    # config: /etc/sysconfig/httpd
    # pidfile: /var/run/httpd.pid

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

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

    # Start httpd in the C locale by default.
    HTTPD_LANG=${HTTPD_LANG-"C"}

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

    # Set HTTPD=/usr/sbin/httpd.worker in /etc/sysconfig/httpd to use a server
    # with the thread-based "worker" MPM; BE WARNED that some modules may not
    # work correctly with a thread-based MPM; notably PHP will refuse to start.

    # Path to the apachectl script, server binary, and short-form for messages.
    apachectl=/usr/sbin/apachectl
    httpd=${HTTPD-/usr/sbin/httpd}
    prog=httpd
    pidfile=${PIDFILE-/var/run/httpd.pid}
    lockfile=${LOCKFILE-/var/lock/subsys/httpd}
    RETVAL=0

    # check for 1.3 configuration
    check13 () {
            CONFFILE=/etc/httpd/conf/httpd.conf
            GONE="(ServerType|BindAddress|Port|AddModule|ClearModuleList|"
            GONE="${GONE}AgentLog|RefererLog|RefererIgnore|FancyIndexing|"
            GONE="${GONE}AccessConfig|ResourceConfig)"
            if LANG=C grep -Eiq "^[[:space:]]*($GONE)" $CONFFILE; then
                    echo
                    echo 1>&2 " Apache 1.3 configuration directives found"
                    echo 1>&2 " please read
    /usr/share/doc/httpd-2.0.52/migration.html"
                    failure "Apache 1.3 config directives test"
                    echo
                    exit 1
            fi
    }

    # 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: "
            check13 || exit 1
            LANG=$HTTPD_LANG daemon $httpd $OPTIONS
            RETVAL=$?
            echo
            [ $RETVAL = 0 ] && touch ${lockfile}
            return $RETVAL
    }
    stop() {
            echo -n $"Stopping $prog: "
            killproc $httpd
            RETVAL=$?
            echo
            [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
    }
    reload() {
            echo -n $"Reloading $prog: "
            check13 || exit 1
            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 ${pidfile} ] ; then
                    stop
                    start
            fi
            ;;
      reload)
            reload
            ;;
      graceful|help|configtest|fullstatus)
            $apachectl $@
            RETVAL=$?
            ;;
      *)
            echo $"Usage: $prog
    {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|confi
    gtest}"
            exit 1
    esac

    exit $RETVAL
    ----------------------------------------------------------------------------

    --
    modified:
    -----------
    [root@lserver2 init.d]# cat httpd-svn
    #!/bin/bash
    #
    # httpd-svn        Startup script for the Apache HTTP Server
    #
    # chkconfig: - 85 15
    # description: -Apache is a World Wide Web server.  It is used to serve \
    #              HTML files and CGI.
    # processname: httpdsvn
    # config: /etc/httpd/conf/httpd-svn.conf
    # config: /etc/sysconfig/httpd
    # pidfile: /var/run/httpd.pid
    # Source function library.
    . /etc/rc.d/init.d/functions
    if [ -f /etc/sysconfig/httpd ]; then
            . /etc/sysconfig/httpd
    fi
    # Start httpd in the C locale by default.
    HTTPD_LANG=${HTTPD_LANG-"C"}
    # This will prevent initlog from swallowing up a pass-phrase prompt if
    # mod_ssl needs a pass-phrase from the user.
    INITLOG_ARGS=""
    # Set HTTPD=/usr/sbin/httpd.worker in /etc/sysconfig/httpd to use a server
    # with the thread-based "worker" MPM; BE WARNED that some modules may not
    # work correctly with a thread-based MPM; notably PHP will refuse to start.
    # Path to the apachectl script, server binary, and short-form for messages.
    apachectl=/usr/sbin/apachectl
    httpd=${HTTPD-/usr/sbin/httpd}
    prog=httpd
    pidfile=${PIDFILE-/var/run/httpd.pid}
    lockfile=${LOCKFILE-/var/lock/subsys/httpd}
    RETVAL=0
    # check for 1.3 configuration
    check13 () {
            CONFFILE=/etc/httpd/conf/httpd-svn.conf
            GONE="(ServerType|BindAddress|Port|AddModule|ClearModuleList|"
            GONE="${GONE}AgentLog|RefererLog|RefererIgnore|FancyIndexing|"
            GONE="${GONE}AccessConfig|ResourceConfig)"
            if LANG=C grep -Eiq "^[[:space:]]*($GONE)" $CONFFILE; then
                    echo
                    echo 1>&2 " Apache 1.3 configuration directives found"
                    echo 1>&2 " please read
    /usr/share/doc/httpd-2.0.52/migration.html"
                    failure "Apache 1.3 config directives test"
                    echo
                    exit 1
            fi
    }
    # 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: "
            check13 || exit 1
            LANG=$HTTPD_LANG daemon $httpd $OPTIONS -f conf/httpd-svn.conf
            RETVAL=$?
            echo
            [ $RETVAL = 0 ] && touch ${lockfile}
            return $RETVAL
    }
    stop() {
            echo -n $"Stopping $prog: "
            killproc $httpd
            RETVAL=$?
            echo
            [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
    }
    reload() {
            echo -n $"Reloading $prog: "
            check13 || exit 1
            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 ${pidfile} ] ; then
                    stop
                    start
            fi
            ;;
      reload)
            reload
            ;;
      graceful|help|configtest|fullstatus)
            $apachectl $@
            RETVAL=$?
            ;;
      *)
            echo $"Usage: $prog
    {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|confi
    gtest}"
            exit 1
    esac
    exit $RETVAL
    -- 
    fedora-list mailing list
    fedora-list@redhat.com
    To unsubscribe: http://www.redhat.com/mailman/listinfo/fedora-list
    

  • Next message: Hoffmann: "Re: FC4 Wallpapers"

    Relevant Pages

    • Re: Rivet and snit....
      ... >> or if it's installed as 'httpd' ... I know it must be on the Apache ... I want to develop a web-based GUI config tool. ... option to then select a saved config and the web-form will appear with the ...
      (comp.lang.tcl)
    • Apache Cant See Files & Dirs Created in /home
      ... The system is a dedicated server leased from an ISP. ... Starting httpd: httpd: could not open document config file /home/extra.conf ... files created outside of /home can be seen anywhere by Apache, ...
      (linux.redhat)
    • Re: STARTING apache or httpd
      ... Kumar, Praveen (cahoot) ... Subject: STARTING apache or httpd ... electronic and hard copies of the communication, ...
      (AIX-L)
    • [Full-Disclosure] [FLSA-2004:2068] Updated httpd packages fix security issues
      ... Updated httpd packages that include fixes for security issues are now ... A remotely triggered memory leak in the Apache HTTP Server earlier than ...
      (Full-Disclosure)
    • Apache, PHP, FOPEN Permissions problem
      ... I have a fresh install of Fedora Core 4 with Apache 2.0.54 and PHP. ... default configuration does not start httpd automatically. ... The script has not changed. ...
      (php.general)