Varnish et son " stockage "

Introduction Varnish peut cacher les données en mémoire et/ou sur disque. On peut donc lui dire qu’on lui alloue 512Mo de mémoire pour cacher et aussi 95% de l’espace libre d’une partition en ajoutant les paramètres ci-dessous : -s malloc,512M \ -s file,/var/lib/varnish/varnish_storage.bin,95% Le stockage " Transient " Varnish a aussi par défaut, un cache en mémoire pour les objets de courte durée, ce cache n ‘a pas de limite par défaut, ce fonctionnement par défaut peut donc faire swaper et cracher votre serveur (ou le mien 🙂 ) [Lire]

Protection contre le hotlinking avec Varnish

Voici un exemple de condition à ajouter dans votre vcl recv pour protéger un dossier d’un site :

if (req.http.host == "le.domaine.a.proteger.ltd" && req.url ~ "^/l/uri/a/proteger" && (req.http.referer && req.http.referer !~ "^http://le.domaine.a.proteger.ltd/")) {
    error 403 "No hotlinking please";
}

Remplacer :

  • le.domaine.a.proteger.ltd par le domaine (attention si votre site est accessible avec et sans www)
  • /l/uri/a/proteger : par l’uri à protéger, supprimer cette partie si vous voulez protéger l’intégralité du site

Pour mettre en place le même type de protection via apache, voir cet article : Un htaccess pour les pompeurs de sites dans lequel est expliqué comment procéder avec des règles de réécriture Apache

Désactiver le son du Boot OSx

Dans un terminal, lancer la commande :

sudo nvram SystemAudioVolume=" "

Purger les mails a destination d'un domaine

Le script perl ci-dessous s’utilise en mettant en paramètre le domaine pour lequel vous voulez purger les mails :

#!/usr/bin/perl

$REGEXP = shift || die "no email-adress given (regexp-style, e.g. bl.*\@yahoo.com)!";

@data = qx</usr/sbin/postqueue -p>;
for (@data) {
  if (/^(\w+)(\*|\!)?\s/) {
     $queue_id = $1;
  }
  if($queue_id) {
    if (/$REGEXP/i) {
      $Q{$queue_id} = 1;
      $queue_id = "";
    }
  }
}

#open(POSTSUPER,"|cat") || die "couldn't open postsuper" ;
open(POSTSUPER,"|postsuper -d -") || die "couldn't open postsuper" ;

foreach (keys %Q) {
  print POSTSUPER "$_\n";
};
close(POSTSUPER);

Calculé la mémoire consommé par apache

La commande suivante va vous calculer la totalités de la mémoire utilisé par Apache ainsi que la taille de vos processus Apache.

La commande se base sur PS, les configurations d’apache et php ne sont pas lu.

Si votre processus apache se nome httpd, vous devez adaptez la commande en remplaçant apache2 par httpd 🙂

ps -ylC apache2 | awk '{x += $8;y += 1} END {print "Apache Memory Usage (MB): "x/1024; print "Average Process Size (MB): "x/((y-1)*1024)}

Template Varnish

Le but de cette configuration est de simplifier au maximum la mise en place de Varnish.

Avant d’appliquer la configuration a votre Varnish, vous devez éditer le fichier backend.vcl pour configurer votre backend.

Cette configuration reste minimaliste et utilise la configuration " builtin " qui fonctionne très bien à conditions que les RFC soient respecté.

VimTips – Remplacer les majuscules par des minuscules

  • Remplacer les minuscules en majuscules: :%s/[a-z]/\U&/
    • Remplacer les majuscules en minuscules: :%s/[A-Z]/\L&/
    • Convertir la selection en majuscule : gU
    • Convertir la selection en minuscule : gu
vim  Tips 

Configurer Lightdm pour utiliser Unity 2D par défaut

Dans un terminal, exécuter la commande ci dessous :

sudo sed -i 's/user-session=ubuntu/user-session=ubuntu-2d/g' /etc/lightdm/lightdm.conf

Ou “a la main”, éditer le fichier /etc/lightdm/lightdm.conf pour remplacer la ligne commençant par user-session par cette ligne :

user-session=ubuntu-2d

Changer la taille de innodb_log_file_size

Si vous avez besoin de modifier le paramètre innodb_log_file_size ,il ne faut pas juste modifier le paramètre et redémarrez le serveur. Si vous le faites, InnoDB va refuser de démarrer car les journaux existants ne correspondent pas à la taille configurée. Vous devez arrêter le serveur proprement, déplacer (ne pas supprimer) les fichiers ib_logfile0 ib_logfile1, etc. Vérifiez le journal des erreurs pour s’assurer qu’il n’y a pas de problème de fermeture. [Lire]