httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeremy Hilton <jeremy-l...@adtcs.com>
Subject Re: [users@httpd] Looking for an easier way to see if Apache is running.
Date Wed, 16 Feb 2005 14:24:15 GMT
On 2/16/05 3:32 AM, "rod rook" <rod.rook@gmail.com> wrote:

> On Tuesday 15 February 2005 11:38 pm, Leif W wrote:
> | > "rod rook" <rod.rook@gmail.com>; 2005-02-15@23:48 GMT-5 Tue
> | >
> | > The only problem I have is my inability to know if it is started on
> | > boot as it
> | > is supposed to. The starting script is /etc/rc.d/init.d/httpd (as
> | > shown
> |
> | What happens if you type:
> |
> |     /etc/rc.d/init.d/httpd start
> 
> [root@fixed pine]# /etc/rc.d/init.d/httpd start
> Starting httpd: httpd (pid 1906) already running
> |
> | That is how it gets called at startup.  So if it fails at a command
> | prompt, it will fail at startup.  But maybe you see some error messages
> | here?
> 
> I don't see any error message.
> |
> | > On boot, 'netstat -a' does not list the word, httpd.
> |
> | I'd also try a command such as this:
> |
> |     ps auxww | grep httpd | grep -v grep
> |
> | (look at all processes, look for httpd, ignore the grep program)
> |
> | If you do find an httpd process, look at the PID and path.
> 
> root      1906  0.0  0.2  3572 1624 ?        S    01:43
> 0:00 /usr/local/apache2/bin/httpd -k start
> pine      1923  0.0  0.2  3672 1716 ?        S    01:43
> 0:00 /usr/local/apache2/bin/httpd -k start
> pine      1924  0.0  0.2  3672 1716 ?        S    01:43
> 0:00 /usr/local/apache2/bin/httpd -k start
> pine      1925  0.0  0.2  3672 1716 ?        S    01:43
> 0:00 /usr/local/apache2/bin/httpd -k start
> pine      1926  0.0  0.2  3672 1716 ?        S    01:43
> 0:00 /usr/local/apache2/bin/httpd -k start
> pine      1935  0.0  0.2  3672 1716 ?        S    01:43
> 0:00 /usr/local/apache2/bin/httpd -k start
> 
> It appears that Mandrake does not recognize Apache as a web server.
> I also installed a pure-ftp server and it is reconized as below:
> 
> root      1970  0.0  0.1  4292 1300 ?        S    01:43   0:00 pure-ftpd
> (SERVER)
> |
> | > The Madrake Control Center (System -> services) shows httpd to be
> | > stopped
> | > although marked to start on boot.
> |
> | I have no idea about Mandrake.  I can speculate, but it could be any of
> | a number of reasons.
> |
> | > If I issue the command, apachectl start, I get a response like "httpd
> | > (pid
> | > 1906) already running.."
> |
> | Is the PID always listed as 1906 when you try this command?  If you do
> | the "ps" and "grep" compound command given above, do you see the same
> | PID listed as when you try to use "apachectl"?
> 
> I found the PID file which is created by apache upon successful start.
> http.config controls the its location and I set it to /var/run/httpd.pid.
> |
> | > Is there any easy way to tell if the server is running at the given
> | > moment?
> |
> | Usually "ps" suffices, and "grep" to look for specific things.
> | "netstat" would also indicate if something is using the web ports,
> | usually port 80 for HTTP or 443 for HTTPS.
> |
> | > Why does the Control Center say it is stopped? Should I change the
> | > script in
> | > some way? I borrowed the script from someone on this mailing list and
> | > I am
> | > not sure if it is suitable for Mandrake 10.0.
> |
> | That may definitely be worth investigating.  I have not used Mandrake in
> | several years, so things have undoubtedly changed.  There are only two
> | things to check in this script.  First of all it should run as specified
> | with my very first command line given in this email.  If you see any
> | "file not found" messages, then it should say which file, and there are
> | only two possibilities, which I list in order of appearance.
> |
> | 1) /etc/rc.d/init.d/functions not found?  The script may have been
> | written for another Linux.
> 
> The file exists at that location.
> 
> | 2) /usr/local/apache2/bin/apachectl not found?  Find the location of
> | your installed Apache httpd.
> |     using bash shell (most common in Linux): type -a apachectl
> |     using any other shell (if "which" exists): which apachectl
> 
> The location is correct.
> 
> |
> | Also, what happens with the following "status" invocation?
> |
> | /etc/rc.d/in-it.d/httpd status
> 
> [root@fixed pine]# /etc/rc.d/init.d/httpd status
> httpd (pid 1935 1926 1925 1924 1923 1906) is running...
> 
> |
> | If it fails, but you verified the full path to apachectl is correct,
> | then the /etc/rc.d/init.d/functions file may be incompatible, because
> | that is likely where the "status" command is defined.  I have no idea
> | what the output would be.  I have never heard of a command line program
> | named "status", so I am guessing it's merely a shell function defined in
> | the sourced functions script.  It probably checks the "ps" output, maybe
> | "netstat" as well, and "pid" file, or maybe does something else, I do
> | not know.
> 
> The function file basically appears to read PID files in /var/run.
> Now I do see httpd.pid in /var/run, but Mandrake Control Center still lists
> httpd as stopped. The functions file may need more than just listing pid file
> in /var/run.
> 
> ================= /etc/rc.d/init.d/functions ====================
> # -*-Shell-script-*-
> #
> # functions    This file contains functions to be used by most or all
> #        shell scripts in the /etc/init.d directory.
> #
> 
> TEXTDOMAIN=initscripts
> TEXTDOMAINDIR=/etc/locale
> LOCPATH=/etc/locale
> export TEXTDOMAINDIR LOCPATH
> 
> # Make sure umask is sane
> umask 022
> 
> # Set up a default search path.
> PATH="/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin"
> export PATH
> 
> [ -z "${CONSOLETYPE:-}" ] && CONSOLETYPE="`/sbin/consoletype`"
> 
> # Get a sane screen width
> [ -z "${COLUMNS:-}" ] && COLUMNS=80
> 
> if [ -f /etc/sysconfig/i18n -a -z "$NOLOCALE" ]; then
> . /etc/sysconfig/i18n
> if [ "$CONSOLETYPE" != "pty" ]; then
>     [ "$CONSOLE_NOT_LOCALIZED" = "yes" ] && GP_LANG=C
>     [ "$CONSOLE_NOT_LOCALIZED" = "yes" ] && GP_LANGUAGE=C
> fi
> if [ -z "$GP_LANG" ]; then
>     [ -n "$LC_CTYPE" ] && GP_LANG=$LC_CTYPE || GP_LANG=$LC_MESSAGES
> fi
> if [ -z "$GP_LANGUAGE" ]; then
>     [ -n "$LANGUAGE" ] && GP_LANGUAGE=$LANGUAGE || GP_LANGUAGE=$GP_LANG
> fi
> fi
> 
> # Read in our configuration
> if [ -z "${BOOTUP:-}" ]; then
> if [ -f /etc/sysconfig/init ]; then
>     . /etc/sysconfig/init
> else
>   # This all seem confusing? Look in /etc/sysconfig/init,
>   # or in /usr/share/doc/initscripts-*/sysconfig.txt
>   BOOTUP=color
>   RES_COL=60
>   MOVE_TO_COL="echo -en \\033[${RES_COL}G"
>   SETCOLOR_SUCCESS="echo -en \\033[1;32m"
>   SETCOLOR_FAILURE="echo -en \\033[1;31m"
>   SETCOLOR_WARNING="echo -en \\033[1;33m"
>   SETCOLOR_NORMAL="echo -en \\033[0;39m"
>   LOGLEVEL=1
> fi
> if [ "$CONSOLETYPE" = "serial" ]; then
>     BOOTUP=serial
>     MOVE_TO_COL=
>     SETCOLOR_SUCCESS=
>     SETCOLOR_FAILURE=
>     SETCOLOR_WARNING=
>     SETCOLOR_NORMAL=
> fi
> fi
> 
> if [ "${BOOTUP:-}" != "verbose" ]; then
>  INITLOG_ARGS="-q"
> else
>  INITLOG_ARGS=
> fi
> 
> gprintf() {
>       if [ -x /bin/gettext -a -n "$1" ]; then
>   if [ -n "$GP_LANG" ]; then
>       local TEXT=`LC_ALL=$GP_LANG LANGUAGE=$GP_LANGUAGE gettext -e
> --domain=$TEXTDOMAIN "$1"`
>   else
>       local TEXT=`gettext -e --domain=$TEXTDOMAIN "$1"`
>   fi
> else
>   local TEXT=$1
> fi
> [ "${1#*\\n}" ] || TEXT="$TEXT\n"
> 
> shift
> printf "$TEXT" "$@"
> }    
> 
> # Frontend to gprintf (support up to 4 %s in format string)
> # returns the message transleted in GPRINTF_MSG and
> # the resting parms in GPRINTF_REST
> # This simplifies a lot the call of functions like action,
> # now with i18n support
> gprintf_msg_rest() {
> case "$1" in
>      *%s*%s*%s*%s*)
>              GPRINTF_MSG=$(gprintf "$1" "$2" "$3" "$4" "$5")
>              shift 5;;
>      *%s*%s*%s*)
>              GPRINTF_MSG=$(gprintf "$1" "$2" "$3" "$4")
>              shift 4;;
>      *%s*%s*)
>              GPRINTF_MSG=$(gprintf "$1" "$2" "$3")
>              shift 3;;
>      *%s*)
>              GPRINTF_MSG=$(gprintf "$1" "$2")
>              shift 2;;
>      *)
>              GPRINTF_MSG=$(gprintf "$1")
>              shift;;
> esac
> GPRINTF_REST="$@"
> }
> 
> # Check if $pid (could be plural) are running with
> # the same root as this script
> inmyroot() {
> local i r
> 
> for i in $* ; do
> [ "/proc/$i/root" -ef "/proc/$$/root" ] && r="$r $i"
> done
> echo "$r"
> }
> 
> 
> # Check if $pid (could be plural) are running
> checkpid() {
> local i
> 
> for i in $* ; do
> [ -d "/proc/$i" ] && return 0
> done
> return 1
> }
> 
> 
> # A function to start a program.
> daemon() {
> # Test syntax.
> local gotbase= force=
> local base= user= nice= bg= pid=
> nicelevel=0
> while [ "$1" != "${1##[-+]}" ]; do
>  case $1 in
>    '')    gprintf "%s: Usage: daemon [+/-nicelevel] {program}\n" $0
>           return 1;;
>    --check)
>   base=$2
>   gotbase="yes"
>   shift 2
>   ;;
>    --check=?*)
>   base=${1#--check=}
>   gotbase="yes"
>   shift
>   ;;
>    --user)
>   user=$2
>   shift 2
>   ;;
>    --user=?*)
>           user=${1#--user=}
>   shift
>   ;;
>    --force)
>   force="force"
>   shift
>   ;;
>    [-+][0-9]*)
>   nice="nice -n $1"
>           shift
>   ;;
>    *)     gprintf "%s: Usage: daemon [+/-nicelevel] {program}\n" $0
>           return 1;;
>  esac
> done
> 
>       # Save basename.
>       [ -z "$gotbase" ] && base=${1##*/}
> 
>       # See if it's already running. Look *only* at the pid file.
> if [ -f /var/run/${base}.pid ]; then
> local line p
> read line < /var/run/${base}.pid
> for p in $line ; do
> [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && pid="$pid $p"
> done
> fi
> 
> [ -n "${pid:-}" -a -z "${force:-}" ] && return
> 
> # make sure it doesn't core dump anywhere; while this could mask
> # problems with the daemon, it also closes some security problems
> ulimit -S -c 0 >/dev/null 2>&1
> 
> # if they set NICELEVEL in /etc/sysconfig/foo, honor it
> [ -n "$NICELEVEL" ] && nice="nice -n $NICELEVEL"
> 
> # Echo daemon
>       [ "${BOOTUP:-}" = "verbose" -a -z "$LSB" ] && echo -n " $base"
> 
> # libsafe support
> if [ -r /etc/sysconfig/system ] && grep -q
> '^LIBSAFE=yes$' /etc/sysconfig/system && [ -r /lib/libsafe.so.2 ]; then
>    LD_PRELOAD=/lib/libsafe.so.2
>    export LD_PRELOAD
> fi
> 
> # And start it up.
> if [ -z "$user" ]; then
>   $nice initlog $INITLOG_ARGS -c "$*"
> else
>   $nice initlog $INITLOG_ARGS -c "su -s /bin/bash - $user -c \"$*\""
> fi
> rc=$?
> [ $rc = 0 ] && success "%s startup" $base || failure "%s startup" $base
> unset LD_PRELOAD
> return $rc
> }
> 
> # A function to stop a program.
> killproc() {
> RC=0
> # Test syntax.
> if [ "$#" -eq 0 ]; then
> gprintf "Usage: killproc {program} [signal]\n"
> return 1
> fi
> 
> notset=0
> # check for second arg to be kill level
> if [ -n "$2" ]; then
> killlevel=$2
> else
> notset=1
> killlevel="-9"
> fi
> 
>       # Save basename.
>       base=${1##*/}
> 
>       # Find pid.
> pid=
> if [ -f /var/run/${base}.pid ]; then
> local line p
> read line < /var/run/${base}.pid
> for p in $line ; do
> [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && pid="$pid $p"
> done
> fi
> if [ -z "$pid" ]; then
> pid=`pidof -o $$ -o $PPID -o %PPID -x $1 || \
> pidof -o $$ -o $PPID -o %PPID -x $base`
> fi
> 
> # Avoid killing processes not running in the same root
> [ -n "$pid" ] && pid="`inmyroot $pid`"
> 
>       # Kill it.
>       if [ -n "${pid:-}" ] ; then
>               [ "$BOOTUP" = "verbose" -a -z "$LSB" ] && echo -n "$base "
> if [ "$notset" -eq "1" ] ; then
>       if checkpid $pid 2>&1; then
>   # TERM first, then KILL if not dead
>   kill -TERM $pid
>   usleep 100000
>   if checkpid $pid && sleep 1 &&
>      checkpid $pid && sleep 3 &&
>      checkpid $pid ; then
>                               kill -KILL $pid
> usleep 100000
>   fi
>        fi
> checkpid $pid
> RC=$?
> [ "$RC" -eq 0 ] && failure "%s shutdown" $base || success "%s shutdown"
> $base
> RC=$((! $RC))
> # use specified level only
> else
>        if checkpid $pid; then
> kill $killlevel $pid
> RC=$?
> [ "$RC" -eq 0 ] && success "%s %s" $base $killlevel || failure "%s %s"
> $base $killlevel
> fi
> fi
> else
>    failure "%s shutdown" $base
>    RC=1
> fi
> 
>       # Remove pid file if any.
> if [ "$notset" = "1" ]; then
>           rm -f /var/run/$base.pid
> fi
> return $RC
> }
> 
> # A function to find the pid of a program. Looks *only* at the pidfile
> pidfileofproc() {
> local base=${1##*/}
> 
> # Test syntax.
> if [ "$#" -eq 0 ] ; then
> gprintf "Usage: pidfileofproc {program}\n"
> return 1
> fi
> 
> # First try "/var/run/*.pid" files
> if [ -f /var/run/$base.pid ] ; then
>        local line p pid=
> read line < /var/run/$base.pid
> for p in $line ; do
>       [ -z "${p//[0-9]/}" -a -d /proc/$p ] && pid="$pid $p"
> done
>        if [ -n "$pid" ]; then
>                echo $pid
>                return 0
>        fi
> fi
> }
> 
> # A function to find the pid of a program.
> pidofproc() {
> base=${1##*/}
> 
> # Test syntax.
> if [ "$#" -eq 0 ] ; then
> gprintf "Usage: pidofproc {program}\n"
> return 1
> fi
> 
> # First try "/var/run/*.pid" files
> if [ -f /var/run/$base.pid ]; then
>        local line p pid=
> read line < /var/run/$base.pid
> for p in $line ; do
>       [ -z "${p//[0-9]/}" -a -d /proc/$p ] && pid="$pid $p"
> done
>        if [ -n "$pid" ]; then
>                echo $pid
>                return 0
>        fi
> fi
> pidof -o $$ -o $PPID -o %PPID -x $1 || \
> pidof -o $$ -o $PPID -o %PPID -x $base
> }
> 
> status() {
> local base=${1##*/}
> local pid
> 
> # Test syntax.
> if [ "$#" -eq 0 ] ; then
> gprintf "Usage: status {program}\n"
> return 1
> fi
> 
> # First try "pidof"
> pid=`pidof -o $$ -o $PPID -o %PPID -x $1 || \
>     pidof -o $$ -o $PPID -o %PPID -x ${base}`
> if [ -n "$pid" ] ; then
>        gprintf "%s (pid %s) is running...\n" ${base} "$pid"
>        return 0
> fi
> 
> # Next try "/var/run/*.pid" files
> if [ -f /var/run/${base}.pid ] ; then
>        read pid < /var/run/${base}.pid
>        if [ -n "$pid" ] ; then
>                gprintf "%s dead but pid file exists\n" ${base}
>                return 1
>        fi
> fi
> # See if /var/lock/subsys/${base} exists
> if [ -f /var/lock/subsys/${base} ]; then
> gprintf "%s dead but subsys locked\n" ${base}
> return 2
> fi
> gprintf "%s is stopped\n" ${base}
> return 3
> }
> 
> echo_success() {
> [ "$BOOTUP" = "color" ] && $MOVE_TO_COL
> echo -n "["
> [ "$BOOTUP" = "color" ] && $SETCOLOR_SUCCESS
> gprintf "  OK  "
> [ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
> echo -n "]"
> echo -ne "\r"
> return 0
> }
> 
> echo_failure() {
> [ "$BOOTUP" = "color" ] && $MOVE_TO_COL
> echo -n "["
> [ "$BOOTUP" = "color" ] && $SETCOLOR_FAILURE
> gprintf "FAILED"
> [ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
> echo -n "]"
> echo -ne "\r"
> return 1
> }
> 
> echo_passed() {
> [ "$BOOTUP" = "color" ] && $MOVE_TO_COL
> echo -n "["
> [ "$BOOTUP" = "color" ] && $SETCOLOR_WARNING
> gprintf "PASSED"
> [ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
> echo -n "]"
> echo -ne "\r"
> return 1
> }
> 
> echo_warning() {
> [ "$BOOTUP" = "color" ] && $MOVE_TO_COL
> echo -n "["
> [ "$BOOTUP" = "color" ] && $SETCOLOR_WARNING
> gprintf "WARNING"
> [ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
> echo -n "]"
> echo -ne "\r"
> return 1
> }
> 
> # Log that something succeeded
> success() {
> gprintf_msg_rest "$@"
> if [ -z "$IN_INITLOG" ]; then
>    initlog $INITLOG_ARGS -n $0 -s "$GPRINTF_MSG" -e 1
> else
>    # silly hack to avoid EPIPE killing rc.sysinit
>    trap "" SIGPIPE
>    echo "$INITLOG_ARGS -n $0 -s \"$GPRINTF_MSG\" -e 1" >&21
>    trap - SIGPIPE
> fi
> [ "$BOOTUP" != "verbose" -a -z "$LSB" ] && echo_success
> return 0
> }
> 
> # Log that something failed
> failure() {
> rc=$?
> gprintf_msg_rest "$@"
> if [ -z "$IN_INITLOG" ]; then
>    initlog $INITLOG_ARGS -n $0 -s "$GPRINTF_MSG" -e 2
> else
>    trap "" SIGPIPE
>    echo "$INITLOG_ARGS -n $0 -s \"$GPRINTF_MSG\" -e 2" >&21
>    trap - SIGPIPE
> fi
> [ "$BOOTUP" != "verbose" -a -z "$LSB" ] && echo_failure
> return $rc
> }
> 
> # Log that something passed, but may have had errors. Useful for fsck
> passed() {
> rc=$?
> gprintf_msg_rest "$@"
> if [ -z "$IN_INITLOG" ]; then
>    initlog $INITLOG_ARGS -n $0 -s "$GPRINTF_MSG" -e 1
> else
>    trap "" SIGPIPE
>    echo "$INITLOG_ARGS -n $0 -s \"$GPRINTF_MSG\" -e 1" >&21
>    trap - SIGPIPE
> fi
> [ "$BOOTUP" != "verbose" ] && echo_passed
> return $rc
> }  
> 
> # Run some action. Log its output.
> action() {
> gprintf_msg_rest "$@"
> echo -n "$GPRINTF_MSG "
> 
> # libsafe support
> if [ -r /etc/sysconfig/system ] && grep -q
> '^LIBSAFE=yes$' /etc/sysconfig/system && [ -r /lib/libsafe.so.2 ]; then
>   LD_PRELOAD=/lib/libsafe.so.2
>   export LD_PRELOAD
> fi
> 
> initlog $INITLOG_ARGS -c "$GPRINTF_REST" && success "$GPRINTF_MSG" ||
> failure "$GPRINTF_MSG"
> rc=$?
> echo
> unset LD_PRELOAD
> return $rc
> }
> 
> # returns OK if $1 contains $2
> strstr() {
> #case "$1" in
> #    *${2}*)    return 0 ;;
> #esac
> #return 1
> [ "$1" = "$2" ] && return 0
> slice=${1#*$2*}
> [ "$slice" = "$1" ] && return 1
> return 0
> }
> 
> 
> # Confirm whether we really want to run this service
> confirm() {
> gprintf "Start service %s (Y)es/(N)o/(C)ontinue? [Y] \n" $1
> local YES=`gprintf "yY"`
> local NOT=`gprintf "nN"`
> local CNT=`gprintf "cC"`
> read answer
> 
> if strstr "$YES" "$answer" || [ "$answer" = "" ] ; then
>   return 0
> elif strstr "$CNT" "$answer" ; then
>   return 2
> elif strstr "$NOT" "$answer" ; then
>   return 1
> fi
> confirm $*
> }
> 
> initsplash() {
>   [[ -f /etc/sysconfig/bootsplash ]] && source /etc/sysconfig/bootsplash
>   [[ -n $SPLASH ]] && splash_rc=$SPLASH
>   [[ -n $THEME ]] && theme=$THEME
>   [[ -x /sbin/splash.sh ]] || splash_rc=no
>   if [[ -e /proc/splash ]]; then
>       grep -q off /proc/splash && splash_rc=no
>   else
> splash_rc=no
>   fi        
>   splash_cfg=/etc/bootsplash/
> 
>   [[ $splash_rc != "no" && $splash_rc != "No" && $splash_rc != "NO" ]]
&&
> export splash_rc=yes
>   [[ -d $splash_cfg/themes ]] || splash_rc=
>   if [[ $splash_rc = "yes" && -n $theme ]];then
> [[ ! -d $splash_cfg/themes/$theme ]] && theme=Mandrake
> 
> res=`fbresolution`
> tmpval=$LOGO_CONSOLE
>       if [ -f /etc/bootsplash/themes/$theme/config/bootsplash-$res.cfg ];
> then
>    function box() { true; } # ignore box descriptions in the config file
>           . /etc/bootsplash/themes/$theme/config/bootsplash-$res.cfg
> fi
> 
> if [[ $tmpval != "theme" ]];then
>    LOGO_CONSOLE=$tmpval
> fi
>   fi
>   if [[ -z "$1" ]]; then
>   set `/sbin/runlevel`
>       runlevel=$2
>       previous=$1
>   else
> runlevel=$1
> previous=N
>   fi
>   nbservices=0
>   # 
>   # for small dir, it is faster than echo /etc/rc$runlevel.d/* | wc -w
>   #
>   for i in /etc/rc$runlevel.d/*
>   do
> a=$[nbservices++]
>   done
>   for i in /etc/rc$runlevel.d/*.rpm*
>   do
> a=$[nbservices--]
>   done
>   a=$[nbservices++]
>   # this is the number of step in rc.sysinit, could be ajusted
>   [[ "$previous" = "N" ]] && nbservices=$(($nbservices+7)) && progress=6
>   export nbservices res theme progress_enable progress text_x text_y
> text_color text_size splash_rc LOGO_CONSOLE
> }
> 
> rc_splash() {
>   [[ "$splash_rc" = "yes" ]] || return
>   if [[ -n "$2" ]]; then
>       progress=$2
>   else 
>       a=$[progress++]
>   fi
>   LANGUAGE=$LANGUAGE /sbin/splash.sh "$1"
> }
> ==========================================================
> |
> | Also, there is the possibility that the Mandrake Control Center is
> | looking for a pid file, and if it finds the pid file, assumes that the
> | server is already running, thus giving you the "already running" message
> | with the same pid.  If this is the case, you will need to figure out
> | WHERE Mandrake Control Center looks for the PID (usually /var/run is a
> | good place to start), and modify the script to store the PID in a file
> | there after each successful "/etc/rc.d/init.d/httpd start", and remove
> | it after a successful "/etc/rc.d/init.d/httpd stop" (but only if the
> | server was previously running).
> 
> This was already answered.
> |
> | Finally, another thing to try is "apachectl configtest", just to make
> | sure Apache is starting properly.  In any case, you must first verify
> | that you can start and stop the server using apachectl, before trying to
> | fix a script that calls apachectl.
> 
> [root@fixed pine]# apachectl configtest
> Syntax OK
> 
> |
> | Leif
> 
> Leif, thank you very much for your taking time out going through many points.
> I learned a lot from you. I will somehow have to figure out how I can have
> Mandrake understand httpd is a web server. Unfortunately I removed apache2
> RPM package that was included in the Mandrake installation and I must be
> missing a this OS-specific file. The good thing is apache starts up on boot
> as well as expected.
> 
> rod 
> |
> |
> |
> | ---------------------------------------------------------------------
> | The official User-To-User support forum of the Apache HTTP Server Project.
> | See <URL:http://httpd.apache.org/userslist.html> for more info.
> | To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
> |    "   from the digest: users-digest-unsubscribe@httpd.apache.org
> | For additional commands, e-mail: users-help@httpd.apache.org
> 
> ---------------------------------------------------------------------
> The official User-To-User support forum of the Apache HTTP Server Project.
> See <URL:http://httpd.apache.org/userslist.html> for more info.
> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
>  "   from the digest: users-digest-unsubscribe@httpd.apache.org
> For additional commands, e-mail: users-help@httpd.apache.org
> 

According to your ps, apache is running as the user pine. So what exactly is
the problem? That the Mandrake Control Center shows it to be stopped? Maybe
the Mandrake Control Center is broke.

> root      1906  0.0  0.2  3572 1624 ?        S    01:43
> 0:00 /usr/local/apache2/bin/httpd -k start
> pine      1923  0.0  0.2  3672 1716 ?        S    01:43
> 0:00 /usr/local/apache2/bin/httpd -k start
> pine      1924  0.0  0.2  3672 1716 ?        S    01:43
> 0:00 /usr/local/apache2/bin/httpd -k start
> pine      1925  0.0  0.2  3672 1716 ?        S    01:43
> 0:00 /usr/local/apache2/bin/httpd -k start
> pine      1926  0.0  0.2  3672 1716 ?        S    01:43
> 0:00 /usr/local/apache2/bin/httpd -k start
> pine      1935  0.0  0.2  3672 1716 ?        S    01:43
> 0:00 /usr/local/apache2/bin/httpd -k start

Jeremy


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message