MA PLAGE PERSO

Le blog d'Hervé Le Roy : Internet, les logiciels libres et la photographie

Access a web server on your localhost from Android emulator using a domain name

It's fairly easy to access your localhost from an Android emulator. The Android documentation explains that 10.0.2.2 is a special alias to your host loopback interface (i.e., 127.0.0.1 on your development machine).

However, if you want to access a domain name (instead of an IP address) it becomes a little trickier. I wanted to use a domain name to validate the behaviour of my Android code when accessing a HTTPS website.

Let's say you want that your-test-ssl-domain.com resolves in 10.0.2.2. There are two options:

  1. Modify /etc/hosts on the Android emulator (note: the emulator doesn't read/use your localhost /etc/hosts)
  2. Setup your localhost DNS to answer 10.0.2.2 when he is asked to resolve your-test-ssl-domain.com

There are several blog posts which explains how to modify /etc/hosts on the Android emulator. I went for the second option.

At startup, the emulator reads the list of DNS servers that your system is currently using. Since Ubuntu 12.04, Network-Manager uses Dnsmasq to speed up DNS queries. By default, Dnsmasq doesn't use /etc/hosts, but it is possible to force it like this:

echo '10.0.2.2 your-test-ssl-domain.com' >> /etc/hosts
echo 'addn-hosts=/etc/hosts' > /etc/NetworkManager/dnsmasq.d/etc-hosts
service network-manager restart

Restart your emulator. Android will resolve your-test-ssl-domain.com in 10.0.2.2.

Source:
Configure DNSMASQ to use /etc/hosts file

Mon aide-mémoire Docker - Docker cheat sheet

Docker

docker ps List running containers
docker images List docker images
docker exec -it <container_id> bash Launch a shell in a running container
docker rm <container_id> Remove container
docker rmi <image_id> Remove image
docker stop $(docker ps -a -q) Stop all containers
docker rm $(docker ps -a -q) Remove all containers

Build a docker image named "web" using a Dockerfile found in current directory (".")

docker build -t web .

Same as above but disable cache to force a complete rebuild

docker build --no-cache=true -t web .

Docker CLI reference

 

Docker Compose

docker-compose build Build application (when run in directory with docker-compose.yml)
docker-compose up Run application
docker-compose up -d Run application detached from console
docker-compose stop Stop application
docker-compose run django bash Launch a shell in the container named django

Compose CLI reference

 

Docker Machine

Create dev machine

docker-machine -D create -d virtualbox dev

Create production machine (on DigitalOcean)

docker-machine -D create -d digitalocean --digitalocean-access-token=<token> production

Set shell environment to use dev machine

eval "$(docker-machine env dev)"

You can now run any docker or docker-compose commands on your machine

Unset shell env variables

eval "$(docker-machine env -u)"

Docker machine

Envoyer des SMS depuis Nagios en utilisant l'API SMS d'Orange

Mise à jour 21 avril 2010 : Les Instant API deviennent les API d'Orange et déménagent vers un nouveau site. J'ai modifié l'article en conséquence. Heureusement, les APIs n'ont pas changé d'adresse, donc le code source reste inchangé.

Ce tutoriel explique comment configurer Nagios pour utiliser l'API d'envoi de SMS d'Orange. En pré-requis, je suppose que Nagios est déjà installé et que vous connaissez le fonctionnement des fichiers de configuration de Nagios (je ne détaille pas les chemins vers les fichiers de configuration car ils dépendent de votre distribution et de votre personnalisation).

Lire la suite...

Rsnapshot sur ReadyNAS Duo ou comment faire des sauvegardes incrémentales

Ce tutoriel explique pas-à-pas comment faire des sauvegardes incrémentales d’un serveur sous Linux en utilisant le ReadyNAS Duo. Dans mon cas précis, le serveur à sauvegarder est un Dedibox v2 avec un seul disque 160 Go (pas de RAID), d’où l’importance de sauvegarder l’ensemble des données et de la configuration du système pour pouvoir le restaurer en cas de panne.

Lire la suite...

Réplication de la pré-production vers le serveur de production

Deux lignes de shell bash, un ligne d'iptables et une modification d'IP dans un fichier de configuration, c'est a peu près tout ce dont j'ai eu besoin pour automatiser la réplication du contenu de mon serveur de pré-production (Linux Debian à la maison, connecté par une ligne ADSL) à mon serveur de production (Linux Debian, hébergé dans le datacenter d'Easynet).

Cela m'a tout de même demandé trois heures pour en arriver là. Voilà comment faire.

Lire la suite...