Différences entre les versions de « Trucs & Astuces Software »
De BlaxWiki
Aller à la navigationAller à la recherche| Ligne 29 : | Ligne 29 : | ||
* Apache "SSL a reçu un enregistrement qui dépasse la longueur maximale autorisée (Code d'erreur : ssl_error_rx_record_too_long)" | * Apache "SSL a reçu un enregistrement qui dépasse la longueur maximale autorisée (Code d'erreur : ssl_error_rx_record_too_long)" | ||
On peut avoir cette erreur (qui est généralement combiné à VirtualHost *:443 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results) lorsque l'on n'a des VirtualHost en 80 et 443, et mais mal défini, il faut bien avoir | On peut avoir cette erreur (qui est généralement combiné à VirtualHost *:443 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results) lorsque l'on n'a des VirtualHost en 80 et 443, et mais mal défini, il faut bien avoir (vérifier que NameVirtualHost *:80 ne soit pas déja défini dans ports.conf) | ||
<pre> | <pre> | ||
NameVirtualHost *:80 | NameVirtualHost *:80 | ||
Version du 25 mars 2014 à 14:33
Cette page regroupe quelques trucs & astuces sur des problèmes liés à des Software
- Apache "Could not reliably determine..."
"httpd: Could not reliably determine the server's fully qualified domain name, using preprod.agrasc.notaires.fr for ServerName" Cela arrive quand on il manque dans le /etc/hosts le nom du serveur sur l'ip privé (de l'avoir en 127.0.0.1 ne change rien) et que ce nom de serveur est précisé dans la configuration d'apache : il faut un ServerName dans la configuration globale d'apache et pas seulement dans un virtual host Un /etc/hosts correct : 127.0.0.1 localhost.localdomain localhost ben.blaxeen.com ben ::1 localhost6.localdomain6 localhost6 192.168.203.71 ben.blaxeen.com ben
- Apache problème de virtual host
Erreur : [warn] _default_ VirtualHost overlap on port 443, the first has precedence && [warn] _default_ VirtualHost overlap on port 80, the first has precedence Solution : Cela arrive quand on a defini à la fois des <VirtualHost *:80>, des <VirtualHost *:443> et qu on rajoute un <VirtualHost *>. Il faut bien avoir un NameVirtualHost *:80 et NameVirtualHost *:443 Solution bis : Cela arrive aussi quand on a plusieurs fois le même <VirtualHost a.b.c.d:80> pour des ServerName différent et qu'on a pas mis NameVirtualHost a.b.c.d:80 Erreur : [warn] NameVirtualHost *:80 has no VirtualHosts Solution : Cela arrive quand on a un NameVirtualHost *:80 mais pas de <VirtualHost *:80> Erreur : [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results Erreur : [error] VirtualHost *:443 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results Solution : Cela arrive quand un on a NameVirtualHost *:80 et <VirtualHost *:80> NameVirtualHost * et <VirtualHost *>, il faut mettre le port pour tous. Pareil pour le 443
- Apache "SSL a reçu un enregistrement qui dépasse la longueur maximale autorisée (Code d'erreur : ssl_error_rx_record_too_long)"
On peut avoir cette erreur (qui est généralement combiné à VirtualHost *:443 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results) lorsque l'on n'a des VirtualHost en 80 et 443, et mais mal défini, il faut bien avoir (vérifier que NameVirtualHost *:80 ne soit pas déja défini dans ports.conf)
NameVirtualHost *:80 NameVirtualHost *:443 <VirtualHost *:80> ... </VirtualHost> <VirtualHost *:443> ... </VirtualHost>
Il peut arriver que des mails envoyés sur root en local termine dans la mailbox du user nobody. Si le fichier /etc/aliases est correct (lancer la commande newaliases si il y a une modif), il faut regarder du cote du main.cf au niveau de mailbox_command, mettre procmail -a $DOMAIN -d $LOGNAME au lieu de procmail -a "$EXTENSION"
- Mail de la crontab et de logrotate
Lorsqu'une commande est lancée dans la crontab, elle génère toujours un mail vers root avec comme contenu la sortie standard et / ou la sortie d'erreur de la commande lancé via la crontab. Pour éviter cela, rajouter à la fin des lignes de /etc/crontab : >> /dev/null 2>&1 (pour que la sortie standard soit aussi redirige vers /dev/null comme pour la sortie d'erreur). Si un service comme squid envoie ses logs vers rsyslog, qui aura donc une ligne "local6.* /var/log/squid/squid.log", le fichier /etc/logrotate.d/squid devra donc aussi être modifié pour ne pas recevoir de mail lors du reload de rsyslog : "/etc/init.d/syslog-ng reload > /dev/null 2>&1"
- Php segfault
Si on a des segfaults sur un script php, on peut deja faire un strace php -q -d display_errors script.php pour voir ou ca coince. Il faut aussi vérifier avec un cat -tve que le fichier php ne contient pas des ^M à la fin de ligne (qui correspondent à une édition sous windows) et qui peuvent corrompre le script. Faire alors un dos2unix sur les fichiers en question
- Phpmyadmin & Isilon
Cela m'est arrivé sur phpmyadmin mais peut surement arriver sur d'autres soft, j avais une erreur "Fatal error: Call to a member function getName() on a non-object in". Cela le faisait sur un montage nfs sur un Isilon, mais en local pas d'erreur. Cela arrive avec l'Isilon (pb de FS 64 bits)
- Process & consommation de ressouce cpu
Il peut arriver que mysql ou un autre process consomme soudainement trop de ressources cpu sans raison. Cela peut être suite au changement a la perte de temps, ou comme en 2012 où une seconde a été rajoutée fin juin (seconde intercalaire) (http://blog.mozilla.org/it/2012/06/30/mysql-and-the-leap-second-high-cpu-and-the-fix/). Il faut dans ce cas exécuter les commandes suivantes : # export LANG=en_US.utf-8 # /etc/init.d/ntpd stop; date -s "`date`" ; /etc/init.d/ntpd start
- Serveur syslog
Sur un serveur de log (rsyslog, syslog-ng ou autres), il faut le configurer (généralement dans le script d'init) afin qu'il ne fasse pas de résolution dns lorsqu'il recoit des logs des différents serveurs, cela permet de gagner du temps, la résolution dns étant inutiles. On peut en plus renseigner le /etc/hosts du serveur syslog avec le nom des machines qui envoient les logs