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 🙂 ) {.warning}

[Lire]

Monitorer Apache avec Zabbix

Configuration de Nginx

Le serveur apache doit donner sont status en local via l’url http://localhost/server-status Pour cela, il faut ajouter configurer le vhost localhost comme ci-dessous. Il sera disponible uniquement via localhost:

<VirtualHost 127.0.0.1:80>
     ServerName localhost
    <Location /server-status>
        SetHandler server-status
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </Location>
</VirtualHost>

Configuration de l’agent Zabbix

Dans la configuration de l’agent Zabbix ajouter les paramètres suivant pour remonter au serveur les nouvelles clefs

[Lire]

Monitorer Nginx avec Zabbix

Configuration de Nginx

Le serveur nginx doit donner sont status en local via l’url http://localhost:61123/nginx_status

Pour cela, il faut ajouter le " server " suivant qui sera disponible uniquement via localhost sur le port 61123:

server {
        listen       127.0.0.1:61123;
        server_name  localhost;
        location /nginx_status {
                stub_status on;
                access_log   off;
                allow 127.0.0.1;
                deny all;
        }
}

Configuration de l’agent Zabbix

Dans la configuration de l’agent Zabbix ajouter les paramètres suivant pour remonter au serveur les nouvelles clefs

[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

[Lire]

FreeBSD 10.0 sur une Raspberry Pi rev. B

Voici comment “bsdifier” votre Raspberry :

  1. Téléchargez l’image : FreeBSD-10.0-STABLE-arm-armv6-RPI-B-20140127-r261200.img.bz2 ou plus récente sur un miroir FreeBSD
  2. Copier l’image sur votre SD avec dd : bunzip2 -c FreeBSD-10.0-STABLE-arm-armv6-RPI-B-20140127-r261200.img.bz2 | dd of=/dev/votresd bs=1M
  3. Une fois la BSD en ligne :
    1. SSH sera lancé
    2. Le compte root n’as pas de mot de passe (vous ne pourrez pas vous y connecter en ssh sans changer le mot de passe)
    3. Le clavier est en qwerty
    4. L’interface réseau est en DHCP

Si vous voulez faire l’image vous même, voici un article (en anglais) qui explique comment procéder et comment compiler le kernel : Creating a custom FreeBSD build for Raspberry Pi

[Lire]

Visualizer Spotify

Si il y a bien une Feature qui manquait a Spotify, c’est celle ci, avoir un visualizer intégré.

Il existe et fonctionne pour Mac, Linux et Windows :

/images/spotify-visualizer.png

Spotify visualizer

L’annonce a été faite le 14 novembre sur leur blog et cela n’est pas fait a moitié car, le code source et la documentation sont disponible : Code, Docs

Je n’ai pas l’impression qu’on puisse le mettre en plein écran :/

[Lire]

Connaitre son IP public via une requête DNS

Sous Linux

dig +short myip.opendns.com @resolver1.opendns.com

Vous pouvez vous faire un alias du type

monip="dig +short myip.opendns.com @resolver1.opendns.com"

Sous Windows

Dans une console (de mémoire):

nslookup
server resolver1.opendns.com
myip.opendns.com

Motion – envoyer les videos sur Google Drive

J’ai mit en place Motion sur ma Raspberry PI pour faire un système de vidéo surveillance qui enregistre une vidéo uniquement lorsqu’il y a un mouvement.

Pour cela, j’ai installé Raspbian sur ma Raspberry PI puis le packet motion après avoir branché une webcam compatible en USB.

Pour que le script fonctionne, vous devez installer ffmpeg et python-gdata.

  • ffmpeg - Multimedia player, server, encoder and transcoder (transitional package)
    • Je l’utilise pour ré-encoder l’avi généré
  • python-gdata - Google Data Python client library

Descriptions des fichiers utilisé

/etc/motion/motion.conf

Fichier de configuration du daemon motion.

[Lire]

Gérer la swap de ca Raspberry PI

Raspbian ne créé pas de partition pour la swap, dphys est utilisé pour générer un fichier.

  1. Définissez la taille du fichier de swap désiré dans le fichier /etc/dphys-swapfile
  2. (Re-)Générer le fichier avec la commande dphys-swapfile setup
  3. Désactiver votre swap si elle est active avec dphys-swapfile swapoff
  4. Puis réactiver la avec la nouvelle taille grâce à dphys-swapfile swapon