WordPress : Recevoir des notifications de mise à jour

wordpress

Un nombre très important de site web tourne sur wordpress ce qui en fait aussi un des plus vulnérables aux attaques. Il suffit de regarder cette liste d’articles pour s’apercevoir que cela revient régulièrement.

Il est donc important d’être averti le plus rapidement possible en cas de mise à jour de WordPress et de ses plugins. Un des gros avantages de WordPress est son énorme quantité de plugins. Nous allons utiliser l’un d’entre eux pour recevoir un mail en cas de mise à jour.

Cette extension est WP Updates Notifier et vous permettra d’être notifié en cas de nouvelle version de WordPress ou quand un plugin a été mise à jour.

En a t’on vraiment besoin ?

Dans un premier temps oon pourrait penser que l’on a pas besoin de cette extension. Mais est ce que vous accédez à l’administration tous les jours ? Combien de fois par jour ?

Si vous n’accédez pas assez souvent à l’administration, vous allez sans doute passer à côté d’une mise à jour …

Avec cette solution cela vous permet d’être beaucoup plus proactif.

Configuration du plugin WP Updates Notifier

Après avoir installer et activer l’extension WP Updates Notifier, la configuration se trouve dans la partie « Réglages ». Voici ce qui apparait à l’écran.

updates notifier

  • On laisse le « wordpress cron » c’est le plus simple;
  • On choisit la fréquence de contrôle. Au moins 2 fois par jour.
  • Remplir l’email de destination et de l’émetteur.
  • Laisser activé les notifications pour la mise à jour d’extensions, de thèmes et de WordPress
  • On cache la mise à jour aux simples utilisateurs.

Et pour les multisite WordPress ?

Cette extension fonctionne aussi avec les multisites wordpress. Pour cela il suffit de l’activer sur le blog principal et de le configurer.

Donc installez dès à présent l’extension WP Updates Notifier plugin et conserver vos sites sécurisés. Vous n’avez maintenant plus d’excuses !!

Les regex -> expression régulière

expression régulière

Les expressions régulières … cette phrase me hantait à l’époque…
Il m’était quasiment impossible d’effectuer une recherche dans des fichiers de logs…
Voici ce qu’il faut retenir !

Voici un extrait de la definition de  Wikipedia:

 Une expression rationnelle ou expression régulière est en informatique une chaîne de caractères que l’on appelle parfois un motif et qui décrit un ensemble de chaînes de caractères possibles selon une syntaxe précise. Les expressions rationnelles sont issues des théories mathématiques des langages formels des années 1940

Pas évident non plus comme approche … alors que ce ne sont que des expressions que l’on retrouve regulièrement !
On les retrouve dans tous les langages : Perl, awk, Python, vi, grep, C++, Java, sed, avec le mod_rewrite d’apache, règles nginx…

1- La Théorie

Symbole   Description
n’importe quel caractère
[…] tout caractère parmis ceux énumérés
[^…] tout caractère exepté ceux énumérés
^ la position en début de ligne
$ la position en fin de ligne
< la position en début de mot
la position en fin de mot
| (pipe) reconnaît l’un ou l’aure des termes qu’il sépare
? 0 ou 1 occurence du caractère ou de l’expression régulière précédé
* 0 ou n occurences du caractère ou de l’expression régulière précédé

2- La Pratique avec egrep

Recherche les mots dont q n’est pas suivi de u :

egrep 'q[^u]' wordlist.txt

Recherche toute ligne qui commence par ‘From:, Subject:’ ou Date dans le fichier de mail :

egrep '^(From|Subject|Date):' mailbox

Liste toute les lignes du fichier money commençant avec le caractère $

egrep '^\\$' money

Liste tous les fichiers et répertoires dans le répertoire courant qui ne se terminent pas avec .tex

ls -l | egrep '\[^.tex\]$'

Liste tous les fichiers et répertoires dans le répertoire courant qui se terminent avec .tex

ls -l | egrep '\[.tex\]$'

3- La Pratique avec Vi

Remplace un espace ou plus par un espace.

:1,$s/ */ /g

Supprime les espaces en fin de ligne.

:1,$s/ *$//

Supprime tous les numéros en début de ligne.

:1,$s/^\[0-9\]\[0-9\]* //

4- La Pratique avec les autres outils

 sed

Supprime toutes les lignes vides du fichier

$ sed 's/^$/d' toto.txt

Supprime tous les guillemets dans le fichier

$ sed 's/"//g' toto.txt

awk

Affiche le fichier sans prendre en compte les lignes vides du fichier.

$ awk ‘$0 !~ /^$/’ phonelist.txt
$ awk ‘NF > 0’ toto.txt

grep

Soit le fichier phone2.txt suivant :

Durand, Sophie 4-5471
Bigard, Jean-Marie 8-7463
Roumanoff, Anne 3-8456
Satriani, Joe 7-1554
Saintlazar, Rob 5-8451
Vai, Steve 7-9547
Maiden, Iron 9-6669

Affiche les lignes dont le numéro de téléphone commence par un 5 et se termine par un 1

grep '5-...1' phone2.txt

Affiche les lignes dont le nom de famille commence par un S et dont le prénom commence par un R

$ grep '^S\[^ \]* R' phone2.txt

Affiche les lignes dont le nom de famille commence avec les lettres allant de M à Z

$ grep '^\[M-Z\]' phone2.txt

Affiche les lignes dont le prénom est composé de quatre caractères

$ grep ',....\t' phone2.txt

Si vous en voulez encore :

L’article de Wikipedia

Jenkins : installation sur Centos, Debian ou Ubuntu

jenkins install

Jenkins est un outil open source d’intégration continue. C’est sans doute le plus connu de sa catégorie. Il est écrit en JAVA et embarque son propre serveur web. L’intégration continue apporte de nombreux avantages comme l’automatisation de taches ou encore la possibilité de délivrer une version fonctionnelle de votre application régulièrement.

Jenkins (anciennement appelé Hudson), dont la réputation n’est plus à faire, s’est formé tout un éco-système et dispose à ce jour plus de 1000 Plugins. Nous allons voir comment l’installer sur les distributions linux les plus standard avec Nginx en reverse proxy.

Centos / RedHat

1. Mise en place du repository

wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key

2. Installation

yum install jenkins

3. Activation du service

Pour s’assurer que le service soit démarrer au lancement du serveur :

systemctl enable jenkins

On démarre le service :

systemctl start jenkins

Debian / Ubuntu

1. Mise en place du repository

wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'

2. Installation

sudo apt-get update
sudo apt-get install jenkins

3. Activation du service

Pour s’assurer que le service soit démarrer au lancement du serveur :

systemctl enable jenkins

On démarre le service :

systemctl start jenkins

Mise en place du reverse proxy avec Nginx

Nous allons créer un nouveau virtual host pour notre Jenkins.

 vi /etc/nginx/conf.d/jenkins.conf

et y mettre ceci :

upstream app_server {
    server 127.0.0.1:8080 fail_timeout=0;
}

server {
    listen 80;
    server_name jenkins.cloud-devops.fr;

    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;

        proxy_pass http://app_server;
        }
}

On relance le service nginx :

systemctl restart nginx

et on peut accéder à Jenkins via l’url http://jenkins.cloud-devops.fr/

Notre Jenkins est maintenant installé. Nous verrons par la suite comment le paramétrer pour