Apache habitude de redémarrer après je activer SSL
Une fois que j'ai a2enmod ssl module et redémarrer apache, j'obtiens l'erreur suivante:
Restarting web server apache2
AH00548: NameVirtualHost has no effect and will be removed in the next
release /etc/apache2/ports.conf:14
(98)Address already in use: AH00072: make_sock: could not bind to address
[::]:443
(98)Address already in use: AH00072: make_sock: could not bind to address
0.0.0.0:443
no listening sockets available, shutting down
AH00015: Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
Pour l'arrêter je peux soit disenmod ou de commenter le module suivant les lignes dans les ports.fichier conf:
Listen 80
#<IfModule mod_ssl.c>
# Listen 443
#</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Toute aide serait grandement appréciée
OriginalL'auteur Stephen66 | 2015-02-18
Vous devez vous connecter pour publier un commentaire.
Les lignes suivantes de votre état de sortie qu'un autre programme est déjà en écoute sur le port 443 et en raison du fait que Apache ne prend pas en charge le partage de port il est incapable de se lier à ce port, et il s'arrête.
Donc je vous recommande de fermer le programme d'écoute sur ce port vers le bas. Vous pouvez déterminer quels programmes sont à l'écoute sur le port TCP 443 avec la commande suivante (doit être lancé en tant que super-utilisateur):
Puis arrêtez l'écoute déjà programme (par exemple en utilisant
service <programme> stop
ou en utilisantkill <processID>
(l'ID de processus est également fourni parnetstat
). Ensuite, vous pouvez démarrer Apache en utilisantservice apache2 start
ou par l'exécution de/etc/init.d/apache2 start
. Les deux commandes de travail lorsque vous travaillez avec Ubuntu/Debian. Si vous travaillez avec CentOS/RedHat, Apache est nomméhttpd
.Ok problème résolu. Je commande "kill 1553" et puis je peux redémarrer apache amende. Merci
Vous êtes les bienvenus. J'ai mis à jour ma réponse ainsi que votre réponse.
Dans le cas où il aide quelqu'un, mon problème était que j'avais "Listen 443" à 2 endroits. Suppression de la double résolu.
OriginalL'auteur Lukas
L'erreur "AH00015: Impossible d'ouvrir les journaux" est révélatrice de la perte d'un fichier ou d'un répertoire dans l'une de vos journaux de définitions. Si vous avez un serveur web avec beaucoup de virtuel nommé sites en cours d'exécution sur elle, il est facile de supprimer un répertoire et d'oublier de mettre à jour le
httpd-vhosts.conf
ouhttpd-ssl.conf
des fichiers à supprimer le fichier config.- Je exécuter FreeBSD 10.3 avec Apache 2.4, de sorte que mes fichiers sont peut-être dans un autre endroit que le vôtre. Mais une fois que vous les trouvez où vos hôtes virtuels sont situés les fichiers, la solution est la même. C'est ce que vous devez faire pour résoudre ce problème:
Changement dans le répertoire où votre virtual hosts sont définis:
cd /usr/local/www/conf/extra
Utiliser grep pour tirer tous les journaux de références de fichier de votre nommée
hôte virtuel définitions:
grep -i log * > x.tmp
Cela va créer un fichier avec les entrées qui indiquent le nom du fichier de log apache directive ErrorLog, CustomeLog, TransferLog), et le nom du fichier journal.
Utiliser le shell bash pour l'installation d'un moment de lecture en boucle pour récupérer le fichier à part
et de capturer les noms des fichiers journaux dans un autre fichier:
cat x.tmp | while read a b c d; do echo $c >> y.tmp; done
Utiliser votre éditeur de texte favori pour modifier le
y.tmp
fichier à enlever quoi que ce soitqui ne ressemble pas à le nom d'un fichier journal (junk). Cette ordure est
inévitable avec l'aide de grep pour rechercher du texte dans un fichier de grande taille. Une fois
vous avez une liste de fichiers (et rien d'autre), insérer "ls-la" en
devant les noms de fichier. Avec l'éditeur vi, vous pouvez le faire avec
la commande suivante:
:%s/^/ls -la /
Exécuter le fichier de script à l'aide de sh ou bash comme suit:
sh y.tmp
Il montrera l'individu fichier s'il existe, et s'il n'
existe il affiche un message d'erreur similaire à la suivante:
ls: /usr/local/www/virtual/nsr/logs/access.log: No such file or directory
Cela pourrait être causé par une faute d'orthographe, un répertoire manquant, ou certains
autre cause (un lien symbolique qui pointe vers un inexistante objet). Soit
modifier votre virtual hosts définitions pour la retirer de la
de configuration, ou de définir le répertoire avec les autorisations correctes
pour le serveur web pour y accéder.
Redémarrer le serveur web (
apachectl start
) et de vérifier le httpdles démons sont en cours d'exécution à l'aide de
ps awx | grep http
.OriginalL'auteur David Stoddard
Basé directement sur cette réponse, vous devez tuer un
httpd
(il aserver.port = 80
dans sonlighttpd.conf
), puis essayez de démarrerapache
.OriginalL'auteur rexxar