Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 26/01/2017, à 17:26

emge25

[RESOLU] apache2 ne répond plus ; La connexion a échouée

Bonjour,
Après quelques semaines de bons et loyaux services, mon serveur apache refuse le service.
localhost dans firefox me retourne : La connexion a échouée.
J'ai désinstallé et réinstallé plusieurs fois apache2 ; c'est toujours pareille. J'ai trouvé ailleurs un post qui parle de ce pb et j'ai suivi les conseils de test. Voici ce que ça me donne. À la fin j'ai mis le contenu de  /etc/init.d/apache2 qui semble en cause (du peu que je comprend, je suis newbee dans ce domaine) :-((

mic@Mic:~$ service apache2 status
● apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: inactive (dead) since jeu. 2017-01-26 11:47:05 CET; 7min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 7001 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
  Process: 6993 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)

janv. 26 11:47:05 Mic systemd[1]: Starting LSB: Apache2 web server...
janv. 26 11:47:05 Mic apache2[6993]: /etc/init.d/apache2: 46: .: Can't open /etc/apache2/envvars
janv. 26 11:47:05 Mic apache2[6993]: /etc/init.d/apache2: 57: .: Can't open /etc/apache2/envvars
janv. 26 11:47:05 Mic apache2[7001]: /etc/init.d/apache2: 46: .: Can't open /etc/apache2/envvars
janv. 26 11:47:05 Mic apache2[7001]: /etc/init.d/apache2: 57: .: Can't open /etc/apache2/envvars
janv. 26 11:47:05 Mic systemd[1]: Started LSB: Apache2 web server.

mic@Mic:~$ sudo netstat -natup | grep :80
mic@Mic:~$ 
mic@Mic:~$ sudo tail /var/log/syslog
Jan 26 11:47:05 Mic apache2[7001]: /etc/init.d/apache2: 46: .: Can't open /etc/apache2/envvars
Jan 26 11:47:05 Mic apache2[7001]: /etc/init.d/apache2: 57: .: Can't open /etc/apache2/envvars
Jan 26 11:47:05 Mic systemd[1]: Started LSB: Apache2 web server.
Jan 26 11:52:03 Mic dbus[905]: [system] Activating via systemd: service name='org.freedesktop.hostname1' unit='dbus-org.freedesktop.hostname1.service'
Jan 26 11:52:03 Mic systemd[1]: Starting Hostname Service...
Jan 26 11:52:03 Mic dbus[905]: [system] Successfully activated service 'org.freedesktop.hostname1'
Jan 26 11:52:03 Mic systemd[1]: Started Hostname Service.
Jan 26 11:54:57 Mic systemd[1]: Started CUPS Scheduler.
Jan 26 11:54:57 Mic colord[1051]: (colord:1051): Cd-WARNING **: failed to get session [pid 7137]: Aucun périphérique ou adresse
Jan 26 11:54:57 Mic colord[1051]: message repeated 2 times: [ (colord:1051): Cd-WARNING **: failed to get session [pid 7137]: Aucun périphérique ou adresse]

mic@Mic:~$ sudo tail /var/log/apache2/error.log
mic@Mic:~$ sudo tail /var/log/apache2/access.log
mic@Mic:~$ 

==============================================
contenu de /etc/init.d/apache2
#!/bin/sh
### BEGIN INIT INFO
# Provides:          apache2
# Required-Start:    $local_fs $remote_fs $network $syslog $named
# Required-Stop:     $local_fs $remote_fs $network $syslog $named
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# X-Interactive:     true
# Short-Description: Apache2 web server
# Description:       Start the web server
#  This script will start the apache2 web server.
### END INIT INFO

DESC="Apache httpd web server"
NAME=apache2
DAEMON=/usr/sbin/$NAME

SCRIPTNAME="${0##*/}"
SCRIPTNAME="${SCRIPTNAME##[KS][0-9][0-9]}"
if [ -n "$APACHE_CONFDIR" ] ; then
	if [ "${APACHE_CONFDIR##/etc/apache2-}" != "${APACHE_CONFDIR}" ] ; then
	        DIR_SUFFIX="${APACHE_CONFDIR##/etc/apache2-}"
	else
	        DIR_SUFFIX=
	fi
elif [ "${SCRIPTNAME##apache2-}" != "$SCRIPTNAME" ] ; then
	DIR_SUFFIX="-${SCRIPTNAME##apache2-}"
	APACHE_CONFDIR=/etc/apache2$DIR_SUFFIX
else
	DIR_SUFFIX=
	APACHE_CONFDIR=/etc/apache2
fi
if [ -z "$APACHE_ENVVARS" ] ; then
	APACHE_ENVVARS=$APACHE_CONFDIR/envvars
fi
export APACHE_CONFDIR APACHE_ENVVARS

ENV="env -i LANG=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
if [ "$APACHE_CONFDIR" != /etc/apache2 ] ; then
	ENV="$ENV APACHE_CONFDIR=$APACHE_CONFDIR"
fi
if [ "$APACHE_ENVVARS" != "$APACHE_CONFDIR/envvars" ] ; then
	ENV="$ENV APACHE_ENVVARS=$APACHE_ENVVARS"
fi

PIDFILE=$(. $APACHE_ENVVARS && echo $APACHE_PID_FILE)

VERBOSE=no
if [ -f /etc/default/rcS ]; then
	. /etc/default/rcS
fi
. /lib/lsb/init-functions


# Now, set defaults:
APACHE2CTL="$ENV apache2ctl"
PIDFILE=$(. $APACHE_ENVVARS && echo $APACHE_PID_FILE)
APACHE2_INIT_MESSAGE=""

CONFTEST_OUTFILE=
cleanup() {
	if [ -n "$CONFTEST_OUTFILE" ] ; then
		rm -f "$CONFTEST_OUTFILE"
	fi
}
trap cleanup 0  # "0" means "EXIT", but "EXIT" is not portable


apache_conftest() {
	[ -z "$CONFTEST_OUTFILE" ] || rm -f "$CONFTEST_OUTFILE"
	CONFTEST_OUTFILE=$(mktemp)
	if ! $APACHE2CTL configtest > "$CONFTEST_OUTFILE" 2>&1 ; then
		return 1
	else
		rm -f "$CONFTEST_OUTFILE"
		CONFTEST_OUTFILE=
		return 0
	fi
}

clear_error_msg() {
	[ -z "$CONFTEST_OUTFILE" ] || rm -f "$CONFTEST_OUTFILE"
	CONFTEST_OUTFILE=
	APACHE2_INIT_MESSAGE=
}

print_error_msg() {
	[ -z "$APACHE2_INIT_MESSAGE" ] || log_warning_msg "$APACHE2_INIT_MESSAGE"
	if [ -n "$CONFTEST_OUTFILE" ] ; then
		echo "Output of config test was:" >&2
		cat "$CONFTEST_OUTFILE" >&2
		rm -f "$CONFTEST_OUTFILE"
		CONFTEST_OUTFILE=
	fi
}

apache_wait_start() {
	local STATUS=$1
	local i=0

	if [ $STATUS != 0 ] ; then
	        return $STATUS
	fi
	while : ; do
	        PIDTMP=$(pidofproc -p $PIDFILE $DAEMON)
	        if [ -n "${PIDTMP:-}" ] && kill -0 "${PIDTMP:-}" 2> /dev/null; then
	                return $STATUS
	        fi

	        if [ $i = "20" ] ; then
	                APACHE2_INIT_MESSAGE="The apache2$DIR_SUFFIX instance did not start within 20 seconds. Please read the log files to discover problems"
	                return 2
	        fi

	        [ "$VERBOSE" != no ] && log_progress_msg "."
	        sleep 1
	        i=$(($i+1))
	done
}

apache_wait_stop() {
	local STATUS=$1

	if [ $STATUS != 0 ] ; then
	        return $STATUS
	fi

	PIDTMP=$(pidofproc -p $PIDFILE $DAEMON)
	if [ -n "${PIDTMP:-}" ] && kill -0 "${PIDTMP:-}" 2> /dev/null; then
	        local i=0
	        while kill -0 "${PIDTMP:-}" 2> /dev/null;  do
	                if [ $i = '60' ]; then
	                        break
	                        STATUS=2
	                fi
	                [ "$VERBOSE" != no ] && log_progress_msg "."
	                sleep 1
	                i=$(($i+1))
	        done
	        return $STATUS
	else
	    return $STATUS
	fi
}


#
# Function that starts the daemon/service
#
do_start()
{
	# Return
	#   0 if daemon has been started
	#   1 if daemon was already running
	#   2 if daemon could not be started

	if pidofproc -p $PIDFILE "$DAEMON" > /dev/null 2>&1 ; then
	        return 1
	fi

	if apache_conftest ; then
	        $APACHE2CTL start
	        apache_wait_start $?
	        return $?
	else
	        APACHE2_INIT_MESSAGE="The apache2$DIR_SUFFIX configtest failed."
	        return 2
	fi
}

#
# Function that stops the daemon/service
#
do_stop()
{
	# Return
	#   0 if daemon has been stopped
	#   1 if daemon was already stopped
	#   2 if daemon could not be stopped
	#   other if a failure occurred

	# either "stop" or "graceful-stop"
	local STOP=$1
	# can't use pidofproc from LSB here
	local AP_RET=0

	if pidof $DAEMON > /dev/null 2>&1 ; then
	        if [ -e $PIDFILE ] && pidof $DAEMON | tr ' ' '\n' | grep -w $(cat $PIDFILE) > /dev/null 2>&1 ; then
	                AP_RET=2
	        else
	                AP_RET=1
	        fi
	else
	    AP_RET=0
	fi

	# AP_RET is:
	# 0 if Apache (whichever) is not running
	# 1 if Apache (whichever) is running
	# 2 if Apache from the PIDFILE is running

	if [ $AP_RET = 0 ] ; then
	        return 1
	fi

	if [ $AP_RET = 2 ] && apache_conftest ; then
	        $APACHE2CTL $STOP > /dev/null 2>&1
	        apache_wait_stop $?
	        return $?
	else
	        if [ $AP_RET = 2 ]; then
					clear_error_msg
	                APACHE2_INIT_MESSAGE="The apache2$DIR_SUFFIX configtest failed, so we are trying to kill it manually. This is almost certainly suboptimal, so please make sure your system is working as you'd expect now!"
	                killproc -p $PIDFILE $DAEMON
	                apache_wait_stop $?
	                return $?
	        elif [ $AP_RET = 1 ] ; then
	                APACHE2_INIT_MESSAGE="There are processes named 'apache2' running which do not match your pid file which are left untouched in the name of safety, Please review the situation by hand".
	                return 2
	        fi
	fi

}


#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
	if apache_conftest; then
	        if ! pidofproc -p $PIDFILE "$DAEMON" > /dev/null 2>&1 ; then
	                APACHE2_INIT_MESSAGE="Apache2 is not running"
	                return 2
	        fi
	        $APACHE2CTL graceful > /dev/null 2>&1
	        return $?
	else
	        APACHE2_INIT_MESSAGE="The apache2$DIR_SUFFIX configtest failed. Not doing anything."
	        return 2
	fi
}


# Sanity checks. They need to occur after function declarations
[ -x $DAEMON ] || exit 0

if [ ! -x $DAEMON ] ; then
	echo "No apache-bin package installed"
	exit 0
fi

if [ -z "$PIDFILE" ] ; then
	echo ERROR: APACHE_PID_FILE needs to be defined in $APACHE_ENVVARS >&2
	exit 2
fi


case "$1" in
  start)
	log_daemon_msg "Starting $DESC" "$NAME"
	do_start
	RET_STATUS=$?
	case "$RET_STATUS" in
		0|1)
			log_success_msg
			[ "$VERBOSE" != no ] && [ $RET_STATUS = 1 ] && log_warning_msg "Server was already running"
	        ;;
		2)
			log_failure_msg
			print_error_msg
			exit 1
			;;
	esac
	;;
  stop|graceful-stop)
	log_daemon_msg "Stopping $DESC" "$NAME"
	do_stop "$1"
	RET_STATUS=$?
	case "$RET_STATUS" in
		0|1)
			log_success_msg
			[ "$VERBOSE" != no ] && [ $RET_STATUS = 1 ] && log_warning_msg "Server was not running"
	        ;;
		2)
			log_failure_msg
			print_error_msg
			exit 1
	        ;;
	esac
	print_error_msg

	;;
  status)
	status_of_proc -p $PIDFILE "apache2" "$NAME"
	exit $?
	;;
  reload|force-reload|graceful)
	log_daemon_msg "Reloading $DESC" "$NAME"
	do_reload
	RET_STATUS=$?
	case "$RET_STATUS" in
		0|1)
			log_success_msg
			[ "$VERBOSE" != no ] && [ $RET_STATUS = 1 ] && log_warning_msg "Server was already running"
			;;
		2)
			log_failure_msg
			print_error_msg
			exit 1
			;;
	esac
	print_error_msg
	;;
  restart)
	log_daemon_msg "Restarting $DESC" "$NAME"
	do_stop stop
	case "$?" in
		0|1)
			do_start
			case "$?" in
				0)
					log_end_msg 0
					;;
				1|*)
					log_end_msg 1 # Old process is still or failed to running
					print_error_msg
					exit 1
					;;
			esac
			;;
		*)
			# Failed to stop
			log_end_msg 1
			print_error_msg
			exit 1
			;;
	esac
	;;
  start-htcacheclean|stop-htcacheclean)
	echo "Use 'service apache-htcacheclean' instead"
	;;
  *)
	echo "Usage: $SCRIPTNAME {start|stop|graceful-stop|restart|reload|force-reload}" >&2
	exit 3
	;;
esac

exit 0

# vim: syntax=sh ts=4 sw=4 sts=4 sr noet

Merci d'avance à qui voudra bien se pencher sur mon pb


Modération : merci à l'avenir d'utiliser les balises code (explications ici).

Dernière modification par emge25 (Le 02/02/2017, à 18:19)

Hors ligne

#2 Le 26/01/2017, à 20:04

jplemoine

Re : [RESOLU] apache2 ne répond plus ; La connexion a échouée

Que donne

cat /var/log/* | grep -i apache

Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#3 Le 27/01/2017, à 11:31

emge25

Re : [RESOLU] apache2 ne répond plus ; La connexion a échouée

Merci J-P
résultat des courses:

mic@Mic:~$ 
mic@Mic:~$ cat /var/log/* |grep -i apache
cat: /var/log/apache2: est un dossier
cat: /var/log/apt: est un dossier
Fichier binaire (entrée standard) correspondant
mic@Mic:~$ 

Comme je suis curieux, j'ai fais:

mic@Mic:~$ 
mic@Mic:~$ cd /var/log
mic@Mic:/var/log$ ls
alternatives.log       auth.log         dpkg.log.6.gz      minidlna.log.4.gz
alternatives.log.1     auth.log.1       dpkg.log.7.gz      mysql
alternatives.log.2.gz  auth.log.2.gz    dpkg.log.8.gz      privoxy
alternatives.log.3.gz  auth.log.3.gz    faillog            sddm.log
alternatives.log.4.gz  auth.log.4.gz    fontconfig.log     syslog
alternatives.log.5.gz  boot.log         fsck               syslog.1
alternatives.log.6.gz  bootstrap.log    gpu-manager.log    syslog.2.gz
alternatives.log.7.gz  btmp             hp                 syslog.3.gz
alternatives.log.8.gz  btmp.1           installer          syslog.4.gz
apache2                cups             kern.log           syslog.5.gz
apport.log             dbconfig-common  kern.log.1         syslog.6.gz
apport.log.1           dist-upgrade     kern.log.2.gz      syslog.7.gz
apport.log.2.gz        dmesg            kern.log.3.gz      unattended-upgrades
apport.log.3.gz        dpkg.log         kern.log.4.gz      wtmp
apport.log.4.gz        dpkg.log.1       lastlog            wtmp.1
apport.log.5.gz        dpkg.log.2.gz    minidlna.log       Xorg.0.log
apport.log.6.gz        dpkg.log.3.gz    minidlna.log.1     Xorg.0.log.old
apport.log.7.gz        dpkg.log.4.gz    minidlna.log.2.gz  Xorg.1.log
apt                    dpkg.log.5.gz    minidlna.log.3.gz  Xorg.1.log.old
mic@Mic:/var/log$ 

Puis  j'ai voulu voir ce que les logs avaient dans le ventre : cat ./*.log | grep -i apache m'a donné une sortie délirante, alors j'ai fais une redirection dans un fichier. Pour ne pas encombrer ici, j'ai mis le fichier dans ma Dropbox à cette adresse:
https://www.dropbox.com/s/1u12e9a69jwy6 … g.txt?dl=0
Qu'en dis tu?

Hors ligne

#4 Le 02/02/2017, à 12:20

emge25

Re : [RESOLU] apache2 ne répond plus ; La connexion a échouée

Ouuuuuuuuuuufffffffffffff ! ça y est !
Finalement en faisant ceci:
J'ai dégagé les dossiers sous /var/www/html (bien que je ne voie pas le rapport)
Puis :
sudo apt remove apache* mysql-server* php*
puis ça :
sudo apt-get install lamp-server^
ET ÇA MARCHE !

si ça peut servir ....

Hors ligne