Les articles du développeur symfony2 Aix en Provence Mathieu JUERS

Installation de fail2ban sur Centos 6

yum install fail2ban Remplacer fail2ban@example.com par root@votredomaine.com dans /etc/fail2ban/jail.conf sed -i 's/fail2ban@example.com/root@votredomaine.com/' /etc/fail2ban/jail.conf
sed -i 's/you@example.com/root@votredomaine.com/' /etc/fail2ban/jail.conf
Démarrer fail2ban fail2ban-client start Ou recharger la configuration de fail2ban si le service est déjà lancé. fail2ban-client reload

Montage à chaud d'un disque sur une machine virtuelle VMWARE

ls /sys/class/scsi_host retourne : host0 host1 host2 host3 echo "- - -" > /sys/class/scsi_host/host0/scan Source : http://www.cyberciti.biz/tips/vmware-add-a-new-hard-disk-without-rebooting-guest.html

Exportation git à la svn export

git archive master | tar -x -C /mon/repertoire/de/destination Source : http://stackoverflow.com/questions/160608/how-to-do-a-git-export-like-svn-export

Vider la file d'attente de postfix

Liste des mails dans la file d'attente mailq Vider la file d'attente postsuper -d ALL

Drivers adaptateur RS232 USB PL2303 sur MACOSX

Drivers adaptateur RS232 USB PL2303 cd ~
wget http://xbsd.nl/pub/osx-pl2303.kext.tgz
cd /path/to/osx-pl2303.kext
sudo cp -R osx-pl2303.kext /System/Library/Extensions/
cd /System/Library/Extensions
sudo chmod -R 755 osx-pl2303.kext
sudo chown -R root:wheel osx-pl2303.kext
cd /System/Library/Extensions
sudo kextload ./osx-pl2303.kext
sudo kextcache -system-cache

Installer wget sur MAC OS X

sudo port install wget

Utiliser minicom et une mini2440

Minicom est un programme de contrôle de modem et d'émulation de terminal pour les Unix-like
Très utile pour contrôle une carte de développement embarqué du type FriendlyARM Mini2440 | S3C2440 ARM9 Board

sudo port install minicom sudo su -
touch /opt/local/etc/minirc.dfl
 minicom -s > Configuration du port série
Port série : /dev/tty.PL2303-000013FD
Contrôle de flux matériel : Non


> Enregistrer config. sous dfl
> Sortir de Minicom
 minicom

Compiler les plugins nageos sur un serveur distant

/usr/sbin/useradd -m -s /bin/bash nagios
cd /tmp
wget -v http://downloads.sourceforge.net/project/nagiosplug/nagiosplug/1.4.15/nagios-plugins-1.4.15.tar.gz
gunzip -c nagios-plugins-1.4.15.tar.gz | tar -xf -
cd nagios-plugins-1.4.15
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install

Vérifier l'utilisateur dans un script bash

Il est important d’exécuter certains scripts (comme vider les caches d'un framework) sous un utilisateur unique.
if [[ $(whoami) != 'mathieu' ]]
then
  echo "Seul l'utilisateur 'mathieu' peut lancer ce script"
  exit
fi

Rediriger le sous domaine www vers le domaine principal

Pour éviter le duplicate content et optimiser son référencement il est important de rediger le sous domaine www vers le domaine principal ou inversement.

On redirige vers le domaine principal RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]
On redirige vers le sous domaine www RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Récupérer les valeurs de l'entité associé à une formulaire symfony2 dans twig

Pour récupérer les attributs d'un objet associé à un formulaire symfony2 dans twig il faut procéder de la sorte :

{{ form.get('value') }}

Par exemple pour récupérer la propriété nom :

{{ form.get('value').nom }}

Utiliser l'api soap sms d'ovh pour être notifié des problèmes sur vos serveurs

Pour recevoir par sms les notifications de nagios, j’utilise ce programme en ruby et son fichier de config que j'ai modifié pour mes besoins.

Il permet d'utiliser un compte utilisateur sms plutôt que le nickhandle, ce qui est beaucoup plus sécurisé car le nickhandle donne accès à tous vos services OVH.

https://github.com/mathsunn/nagios_notify_sms_ovh

Pour cela suivre la documentation suivante :
https://github.com/mathsunn/nagios_notify_sms_ovh/blob/master/README.md

Nagios vous enverra un sms dés qu'un hôte ou un service rencontrera un problème.
Vu le prix d'un sms chez ovh, vous aurez pour une dizaine d'euros une centaine de sms, vous avertissant en temps réel des problèmes sur vos serveurs. Vous pourrez ainsi intervenir rapidement sur ces problèmes et les régler.

Doctrine: Contrainte unique sur des champs mutiples

/**
* @ORM\Entity
* @ORM\Table(name="ecommerce_products",uniqueConstraints={
* @ORM\UniqueConstraint(name="search_idx", columns={"name", "email"})})
*/

Connaitre les serveurs dns d'un nom de domaine

nslookup -q=NS test.fr

Désactiver les clés étrangères sur mysql

SET foreign_key_checks = 0;

Modifier l'encodage d'un fichier rapidement avec vi

En latin1 :set fileencoding=latin1 En utf8 :set fileencoding=utf8

Mémo Docker

Installation sur Debian

# Ajout au fichier /etc/apt/source.list
deb https://get.docker.io/ubuntu docker main

sudo apt-get update
sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring

Commandes

# Lunch container
docker run -d -p 11480:80 -v $(pwd):/var/www -v $(pwd)/shared:/shared test/symfony
docker stop $(docker ps -a -q)


# Delete all container
docker rm $(docker ps -a -q)

# Delete all images
docker rmi $(docker images -a -q)

# Last container
docker ps -q -n 1

# List container with full id
docker ps --no-trunc

# Commit change container
docker commit {container_id} test/symfony

# Inspect an container
docker inspect {full_container_id}

# Build an container with Dockerfile
docker build -t test/symfony base_symfony2

Github


https://github.com/mathsunn/docker_base_symfony