AddDefaultCharset
D'après http://httpd.apache.org/docs/2.2/mod/core.html#adddefaultcha(...) , il est possible d'utiliser l'élément de configuration AddDefaultCharset au niveau d'un vhost, donc de déclarer un encodage par défaut pour chacun de test vhosts. L'option est documentée comme utilisable dans tous les contextes (globalement, vhost, directory, .htaccess) pour les trois versions majeures d'apache (1.3, 2.0, 2.2), donc normalement il y a pas mal de chances pour que ce soit bon pour toi.
[ Répondre ]
KeepAlive off
D'expérience, sur des sites à fort trafic (plusieurs centaines de mégas-bits par serveur en sortie en période de charge), il vaut mieux les désactiver, ça maintient des connexions pour rien, et donc ça augmente artificiellement le nombre de process Apache connectés (là ou justement on a besoin de diminuer ce nombre de façon à garder un écart correct entre le nombre de clients connectés et le MaxClient). Ca peut faire vraiment une grosse différence, en terme d'utilisation mémoire et de temps CPU.
L'excellent site de Willy Tarreau donne une très bonne explication : http://1wt.eu/articles/2006_lb/index_10.html#tune
[ Répondre ]
script?
Une commande unique ou un script complet irait? Pour un script :
xarli@tiki:/tmp$ cat test.sh
exec < file1
while read ligne
do
grep $ligne file2
done
xarli@tiki:/tmp$ sh test.sh
dsdssd sfdsdfsd toto
qsdfqsdftoto toto qsqsf
sisi qsfsdfsdf
dfsdfs nono qdqsd
xarli@tiki:/tmp$
[ Répondre ]
Bonding
Ce que tu veux faire, c'est du bonding d'interface (failover donc actif/passif), ça marche assez bien pour de la haute dispo (j'en utilise couramment). Un lien au hasard trouvé dans google sur le sujet spécifiquement pour Debian :
http://www.debianhelp.co.uk/bonding.htm
[ Répondre ]
DRBD
Si si, DRBD 8.X.X supporte les configurations actif/actif (accès simultanés en lecture/écriture), bien que les docs ne soient pas à jour sur le site de DRBD et linux-ha ( http://www.linux-ha.org/DRBD/FAQ#head-ec4ab5a57e15232e9ac4e1(...) ). La seule contrainte est d'utiliser un système de fichier supportant les accès simultanés depuis plusieurs noeuds (GFS ou OCFS2). Par contre tu es limité à 2 noeuds avec DRBD.
Une autre solution plus performante et éventuellement plus extensible (plus de noeuds accédant à la ressource), c'est comme tu le dis une baie de disque supportant les accès concurrents, et un système de fichier identique à ceux cités ci-dessus (GFS/OCFS).
[ Répondre ]
Limite du nombre de partitions utilisables par disque
Il existe une limitation du nombre de partitions par disque, dépendant du type de disque, pour de l'IDE c'est 63, et en SCSI tu ne peux avoir que 15 partitions ( http://www.linux-france.org/article/sys/chargeurs/ix86/lilo/(...) ).
[ Répondre ]
GPG
GPG est capable de compresser + chiffrer. Le commutateur "-z" te permet de spécifier le niveau de compression.
"gpg --help" te donnera les algorithmes de compression supportés.
[ Répondre ]
LoggedFS
C'est un système de fichier Fuse se contentant de journaliser les opérations sous un point de montage, et qui te permettrait donc de voir les modifications/créations de fichiers effectués à un endroit précis :
http://loggedfs.sourceforge.net/
Par contre, pour surveiller tout le système à partir de la racine, ça risque peut-être d'être compliqué, mais pour une petite arborescence, ça devrait répondre à ton problème (la partie dernier fichier modifié au moins).
[ Répondre ]
Xinetd
Déjà fait ce genre de truc, avec proftpd et xinetd. En gros, un nouveau serveur ftp accepte chaque nouvelle connexion, et on lance un script dès qu'il rend la main.
dans la conf xinetd :
service ftp
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/local/bin/lance-ftp.sh
log_on_success += DURATION USERID
log_on_failure += USERID
bind = monnomdhote
}
Et le fichier shell /usr/local/bin/lance-ftp.sh correspondant :
#!/bin/sh
/usr/sbin/proftpd; /usr/local/bin/apres-ftp.sh
Dans le script appelé après la fin d'une connexion, il faut vérifier si des fichiers ont été déposés par contre, mais il n'est lancé que lorsqu'un utilisateur FTP se déconnecte (pas dis que c'était optimal non plus).
[ Répondre ]
Snoopy
Un petit soft qui trace tous les appels execve
http://sourceforge.net/projects/snoopylogger/
Ca permet de tout tracer via Syslog, pour un utilisateur ou pour un soft (très pratique).
Attention, c'est super verbeux, donc à utiliser avec précaution.
[ Répondre ]
DenyHosts
C'est un soft qui va surveiller ton journal des accès, et après un certain nombre d'échec, il va bannir via hosts.deny les adresses IP sources. Tu peux whitelister des adresses.
http://denyhosts.sourceforge.net/
Assez pratique, surtout avec les robots qui tournent.
[ Répondre ]
les droits sur la commande su ont sautés
Tu dois replacer le droit setuig, comme ça :
chown root /bin/su
chmod u+s /bin/su
Si su n'est pas dans /bin, fait le là où il se trouve. Tu peux le trouver avec :
which su
[ Répondre ]
Debug
Des évènements sont-ils rajoutés dans les journaux de ton serveur la nuit, dans les périodes ou il semble injoignable (/var/log/syslog)?
Sinon, essaie de mettre en place des scripts appelés régulièrement sur ce serveur, en journalisant leur sortie, pour voir ce qui se passe (ping vers une adresse IP extérieure, récupération d'un fichier en HTTP sur le net, résolution DNS, ping vers la passerelle). Ca te permettra de voir ce qui se passe de manière plus précise.
[ Répondre ]
Re: DRBD + Heartbeat
Dans pas longtemps la release candidate 2 vient de sortir, bien que la roadmap ( http://svn.drbd.org/drbd/trunk/ROADMAP ) indique de nombreux points restants à traiter, cad pas encore à 100% (est-elle à jour?).
[ Répondre ]
Spécifier le chemin?
Par exemple, si tu n'a pas changer de répertoire depuis ta compilation :
./a.out
[ Répondre ]
Re: echo $JAVA_HOME
Si je me souviens bien (je n'ai pas accès à ma machine sous Ubuntu avant ce soir) :
/usr/lib/jvm/java-1.5.0-sun/bin/java
[ Répondre ]
Re: echo $JAVA_HOME
Bah chez moi ça marche pourtant, avec tomcat5 fraichement installé pour l'essai.
root@karlanton:~# /usr/share/tomcat5/bin/startup.sh
The JAVA_HOME environment variable is not defined
This environment variable is needed to run this program
root@karlanton:~# export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
root@karlanton:~# /usr/share/tomcat5/bin/startup.sh
Using CATALINA_BASE: /usr/share/tomcat5
Using CATALINA_HOME: /usr/share/tomcat5
Using CATALINA_TMPDIR: /usr/share/tomcat5/temp
Using JAVA_HOME: /usr/lib/jvm/java-1.5.0-sun
Sinon, essaye de rajouter l'affichage des variables dans les scripts /usr/share/tomcat5/bin/startup.sh et surtout (ou plutôt d'ailleurs) /usr/share/tomcat5/bin/catalina.sh, en rajoutant -ex après l'invocation du shell, comme ça en début de script :
#!/bin/sh -ex
Tu dois voir le bon chemin vers le binaire java à un moment, dans l'appel de catalina.sh, ce qui n'est apparemment pas le cas actuellement.
[ Répondre ]
echo $JAVA_HOME
ça te donne quoi? Question bête, mais tu as bien fait prendre en compte ta modif du profile?
[ Répondre ]



Re: Et le DNS ?
Autre méthode pour éviter les timeout, place dans le fichier de conf du serveur SSH (normalement /etc/ssh/sshd_config) :
UseDNS noDans beaucoup de cas, c'est superflu, pour de l'accès depuis un réseau privé, et ça accélère beaucoup les choses.
[ Répondre ]