FreshRSS

🔒
❌ À propos de FreshRSS
Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
☐ ☆ ✇ malekal.com

Comment installer et configurer memcached

Par : malekalmorte

memcached est un cache pour objet pour les serveurs distribués.
Il permet de stocker des objets sous la forme clé/valeur.
Vous pouvez installer memcached sur n'importe quel VPS, serveur dédié (OVH, Dedibox, IONIS 1&1) car la plupart des distributions Linux le proposent.
memcached peut aussi fonctionner sur un pool de serveurs pour du load balancing par exemple pour vos serveurs WEB à travers les librairies PHP.

Dans ce tutoriel, je vous montre comment installer memcached sur un serveur dédié ou sur des serveurs partagés pour du load balancing.
Enfin quelques configurations memcached pour des applications PHP telles que WordPress, Google PageSpeed ou phpBB.

Comment installer et configurer memcached

Comment installer et configurer memcached et php-memcache

Attention, il y a deux librairies PHP php-memcache et php-memcached, donc selon le driver utilisé par votre application PHP, il faut installer le bon.

Sur les distributions Linux Redhat, CentOS, le paquet est php-pecl-memcached.

Sur un serveur dédié

  • Installez memcached avec APT :
apt-get install php-memcache memcached
  • Sur un serveur dédié seul, vous pouvez faire écouter memcached sur le localhost.
  • Pour cela, éditez le fichier /etc/memcached.conf puis décommentez le paramètre -l.
-l 127.0.0.1
  • Puis éditez le fichier de configuration de PHP /etc/php/7.3/mods-available/memcache.ini :
session.save_handler = memcache
session.save_path = 'tcp://127.0.0.1:11211'
  • On peut aussi ajouter des paramètres par exemple :
session.save_path="tcp://127.0.0.1:11211?persistent=1&weight=1&timeout=1&retry_interval=15"
  • Enfin redémarrez les services :
/etc/init.d/php-fpm restart
/etc/init.d/memcached restart

Sur plusieurs de serveurs pour du load balancing

L'utilisation de sessions PHP peut être un problème lorsque vos applications PHP sont équilibrées en charge sur de nombreux serveurs Web.
Vous pouvez les stocker sur un export NFS ou recoder le session_set_save_handler en utilisant un backend SQL par exemple. Mais il n'y a pas de solution plus efficace, plus évolutive, plus performante et plus facile à déployer que d'utiliser memcache.

  • Installez memcached avec APT :
apt-get install php-memcache memcached
  • puis éditez le fichier éditez le fichier /etc/memcached.conf pour commencer la ligne -l.
  • Ainsi memcached va écouter sur toutes les interfaces réseaux.
  • Il est possible de spécifier les adresses IP en les séparant par des virgules mais dans mon cas cela ne fonctionnait pas.
-l 127.0.0.1, IP1, IP2
  • Ensuite éditez le fichier /etc/php/7.3/mods-available/memcache.ini et ajoutez les lignes suivantes.
  • memcache.session_redundancy doit être réglé sur nb serveur + 1. Ici il est à 4 pour un pool de trois serveurs.
memcache.allow_failover=1
memcache.session_redundancy=4
  • Enfin pour stocker la session PHP avec memcached, éditez le fichier /etc/php/7.3/mods-available/memcache.ini.
  • Puis modifiez les variables suivantes :
session.save_handler = memcache
session.save_path = 'tcp://IP1:11211,tcp://IP2:11211,tcp://IP2:11211'
  • Ensuite il convient de protéger l'accès avec iptables par exemple.
  • Inspirez vous de ces règles pour autoriser le port 11211 sur chaque serveur en remplaçant IP1, IP2 par l'adresse IP des serveurs du pool
iptables -A INPUT -s IP1 -i eth1 -p tcp -m state --state NEW -m tcp --dport 11211 -j ACCEPT
iptables -A INPUT -s IP2 -i eth1 -p tcp -m state --state NEW -m tcp --dport 11211 -j ACCEPT
  • Pour tester la connexion memcached, vous pouvez utiliser memcping disponible dans libmemcached-tools
memcping --server=IP1,IP2 --verbose
  • Enfin redémarrez les services :
/etc/init.d/php-fpm restart
/etc/init.d/memcached restart

Comment savoir si memcached est installé

Si vous rencontrez des problèmes memcached, voici comment vérifier votre installation.

Vérifier que le service memcached est actif

Commencez par vérifier que memcached est en cours de fonctionnement.
Pour cela il faut vérifier que le service (daemon) est bien actif.

systemctl status memcached

ou plus général à toutes les distributions Linux :

/etc/init.d/memcached status

Lorsque le service est actif, Active retourne active (running).

● memcached.service - memcached daemon
   Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2021-07-02 13:21:23 UTC; 3h 7min ago
     Docs: man:memcached(1)
 Main PID: 26864 (memcached)
    Tasks: 10 (limit: 4915)
   Memory: 41.8M
   CGroup: /system.slice/memcached.service
           └─26864 /usr/bin/memcached -m 2048 -p 11211 -u memcache -P /var/run/memcached/memcached.pid

Autre méthode avec ps pour vérifier que le processus memcached est en cours de fonctionnement:

ps -ef|grep memcached

Enfin vérifiez avec netstat que memcached est bien en écoute (LISTENING) :

netstat -lp|grep memcached

avec phpinfo

Ensuite il faut vérifier que le module memcached de PHP est bien actif.
La solution la plus simple est de consulter la configuration PHP avec phpinfo.

  • Créez une page PHP avec :
<?php
phpinfo();
?>
  • Puis consultez la page depuis votre navigateur internet.
  • La liste des modules se charge, vérifiez que memcached est bien présent
Vérifier que le module php-memcached est bien chargé avec phpinfo

Enfin pensez à supprimer la page de test par sécurité.

Comment configurer memcached

Ensuite vous devez configurer votre application PHP (ou autre) à utiliser memcached.
Il faut modifier la configuration, en général un fichier config.php.

Utiliser memcached avec WordPress

Il faut passer par une extension de cache telle que Total Cache ou WP Super Cache.
A partir de là, on active memcached dans la configuration de l'extension.

Il est aussi possible de passer par Batcache.
Cela nécessite

  • D'uploader le fichier advanced-cache.php dans le dossier /wp-content/ de WordPress
  • Puis de modifier le fichier de configuration de WordPress wp-config.php pour ajouter :
define(‘WP_CACHE’, true);

Utiliser memcached avec phpBB

Modifiez le fichier config.php de phpBB en remplaçant la variable acm_type de cette manière :

//$acm_type = 'phpbb\\cache\\driver\\file';
$acm_type = 'phpbb\\cache\\driver\\memcache';

Si vous avez besoin d'indiquer l'adresse memcached :

define('PHPBB_ACM_MEMCACHE_HOST', 'localhost'); // Memcache server hostname
define('PHPBB_ACM_MEMCACHE_PORT', 11211); // Memcache server port
define('PHPBB_ACM_MEMCACHE_COMPRESS', false); // Compress stored data

Utiliser memcached avec Google PageSpeed

Google PageSpeed est un module pour Apache ou Nginx pour optimiser vos sites WEB.
Il permet notamment la mise en place d'un cache que l'on peut placer dans memcached.
Pour cela, il faut déclarer les paramètres suivants :

## Speed up PageSpeed by storing it in memcached
pagespeed MemcachedThreads               1;
pagespeed MemcachedServers               "localhost:11211";

Vider ou afficher le contenu d'un serveur Memcached en ligne de commandes

Enfin pour obtenir des informations sur le contenu du serveur Memcached.
Comment interroger le contenu ou vider le cache, suivez ce tutoriel :

L’article Comment installer et configurer memcached est apparu en premier sur malekal.com.

☐ ☆ ✇ malekal.com

6 extensions pour sauvegarder WordPress

Par : malekalmorte

Avec WordPress, vous pouvez créer de très beaux sites internet personnels comme un blog ou d'entreprise ou présentation de produits.
Mais comment éviter la perte de données ?
En faisant une sauvegarde de votre site WordPress. Vous pouvez effectuer une sauvegarde locale ou à distance dans le Cloud (Google Drive, FTP, OneDrive, ...).

Pour cela, vous pouvez installer une extension qui permet d'exporter la base de données SQL mais aussi les fichiers du site.
Dans cet article, je vous propose une sélection des 6 meilleurs extensions de sauvegardes WordPress.

meilleures extensions de sauvegarde pour WordPress

6 extensions pour sauvegarder WordPress

UpdraftPlus

UpdraftPlus est une extension de sauvegarde très complète avec une version gratuite.
Vous pouvez sauvegarder WordPress manuellement ou planifier des sauvegardes.
Il est aussi possible d'acheter un plugin pour une sauvegarde dans le Cloud vers Microsoft OneDrive, Microsoft Azure, Google Cloud Storage, Backblaze B2, SFTPSCP et WebDAV.

  • Sauvegarde complète ou partielle et incrémentale
  • Vous permet de configurer des horaires de sauvegarde automatiques, pour la commodité ultime.
  • Est plus Rapide et utilise moins de ressources
  • Extension WordPress la plus utilisée avec 3 millions de sites

Choisissez les parties de WordPress à sauvegarder (Core, Thèmes, Extensions, Base de données).

Faire une sauvegarde de son site WordPress avec UpdraftPlus Backups

Le tutoriel du site :

Duplicator

Duplicator est à la fois une extension WordPress de sauvegarde mais aussi de migration.
Elle existe en version gratuite avec des limitations.

Vous configurez un paquet qui correspond à une archive de sauvegarde avec le contenu souhaité (thèmes, extensions, base de données).
Puis au besoin vous restaurez le paquet.
Le paquet peut contenir un fichier install.php avec les instructions de migration pour déplacer WordPress.

Créer un paquet pour sauvegarder WordPress

Voici les fonctionnalités de base :

  • Déplacer, migrer ou cloner un site WordPress entre domaines ou hébergements sans aucune coupure.
  • Récupérer un site en ligne en local pour du développement ;
  • Migrez un site WordPress d’un hébergeur à un autre
  • Sauvegarder manuellement un site WordPress ou certaines parties ;
  • PRO : Sauvegarder dans le Cloud vers Dropbox, Google Drive, Microsoft OneDrive, Amazon S3 et FTP/SFTP
  • Dupliquer un site en production vers un site de pré-production et vice-versa ;
  • Empaqueter un site WordPress entier pour le ré-utiliser ou le distribuer ;
  • Réaliser une migration WordPress complète sans vous embêter avec des scripts d’import/export SQL.

BackWPup

BackWPup est une extension WordPress pour sauvegarder tous vos fichiers joints, ainsi que tous les fichiers systèmes, les extensions et les thèmes dans un seul fichier. Vous pouvez créer une tâche pour mettre à jour votre sauvegarde avec uniquement les fichiers qui ont été modifiés.
Enfin vous pouvez planifier une sauvegarde automatique de votre base de données.

Les fonctionnalités :

  • Sauvegarde de la base de données (nécessite mysqli)
  • Export XML de WordPress
  • Création d’un fichier avec la liste des extensions installées
  • Optimiser la base de données
  • Vérifier et réparer la base de données
  • Sauvegarder les fichiers dans un répertoire local ou FTP au format zip, tar, tar.gz (nécessite gz, ZipArchive)
  • Envoyer les journaux et les sauvegardes par courriel
  • Support du multi-site seulement pour les administrateurs du réseau
  • PRO : Sauvegardes dans le Cloud sur Dropbox, S3, Microsoft Azure (Blob), RackSpaceCloud, SugarSync, Amazon Glacier, Google Drive, OneDrive, HiDrive
  • PRO : Restaurez vos sauvegardes en quelques clics depuis votre admin WordPress. Aussi disponible en tant qu’application autonome.
Lancer une sauvegarde de WordPress avec BackWPup

Attention la version gratuite ne propose pas de fonctionnalités de restauration.
Le ZIP contient tous les fichiers ainsi qu'un export SQL.
Il faut donc réintégrer ce dernier manuellement, ce qui nécessite quelques connaissances informatiques.

All-in-One WP Migration

Voici une autre extension avec une partie gratuite.
Vous pouvez l'utiliser pour créer des sauvegardes que l'on peut restaurer avec la version payante.
Des fonctions d'export et d'import qui inclut  la base de données, les médias, les extensions et les thèmes.
De quoi migrer votre site WordPress.

La création de sauvegarde est très simple.
Par contre, aucune fonction de sauvegarde automatique n'est disponible.

All-in-One WP Migration : Sauvegarder WordPress

Il est possible de télécharger la sauvegarde à tout moment.

All-in-One WP Migration : Sauvegarder WordPress

L'export et import supporte les sources par Fichier, FTP, Dropbox, Google Drive, Amazon S3, URL, OneDrive, Box, Mega, DigitalOcean Spaces, Backblaze B2, Google Cloud Storage, Microsoft Azure Storage, Amazon Glacier, pCloud, WebDAV, S3 Client

All-in-One WP Migration : Sauvegarder à distance WordPress

WPvivid Backup

Voici une autre extension de sauvegarde gratuite qui propose les fonctionnalités suivantes :

  • Sauvegarde de base de donnée
  • Puissant moteur de planification
  • Envoyer des sauvegardes à plusieurs stockages cloud
  • Stratégie incluse/exclue (fichiers/dossiers/types de fichiers)
  • La migration automatique avancée (personnalisez tout ce qu'il faut migrer)

Elle est très simple d'utilisation.
Pour effectuer une sauvegarde manuelle de WordPress, un simple clic suffit.
De même pour activer les planifications de sauvegarde.

WPvivid Backup : Sauvegarder WordPress

C'est aussi la seule extension gratuite qui propose une sauvegarde dans le Cloud.

WPvivid Backup : Sauvegarder WordPress

Database Backup for WordPress

On termine cette revue des extensions de sauvegarde WordPress avec Database Backup for WordPress.
Comme son nom l'indique, elle ne sauvegarde que la base de données.
Les fichiers du site ne le seront pas.

Vous choisissez les tables de la base de données à inclure ou exclure.

Sauvegarder la base de données WordPress avec Database Backup for WordPress

Puis vous obtenez un fichier tar.sql que vous pouvez télécharger ou envoyer par mail.

Sauvegarder la base de données WordPress avec Database Backup for WordPress

Quelle est la meilleure extension de sauvegarde pour WordPress ?

Elles se valent toutes et propose à peu près les mêmes fonctionnalités.
Des sauvegardes locales ou dans le Cloud mais aussi une planifications pour une sauvegarde automatique.
Toutes les extensions existent en version gratuite avec des limitations.
Mais c'est WPvivid Backup qui s'en sort le mieux en proposant des fonctionnalités intéressantes dans la version gratuite.

L’article 6 extensions pour sauvegarder WordPress est apparu en premier sur malekal.com.

☐ ☆ ✇ Korben

Testez la montée en charge de votre serveur avec Locust

Par : Korben

Si vous voulez tester la résistance de votre serveur et l’évolution de ses performances lors d’une augmentation du trafic, rien de mieux qu’un outil de test de montée en charge.

Et c’est pourquoi je vous présente aujourd’hui Locust.

Locust est un outil de test de charge facile à utiliser qui vous permet d’écrire et de jouer des scénarios de test en Python. Ainsi, avec un peu de code, vous pouvez simuler des comportements utilisateurs, qui bouclent ou qui prennent des chemins conditionnels différents.

Locust est également distribué, ce qui signifie que vous pouvez lancer des tests de charges répartis sur plusieurs machines, ce qui permet de simuler des milliers d’utilisateurs simultanés.

Ce qui est sympa également, c’est que Locust possède une interface graphique qui vous affichera la progression de votre test en temps réel. Vous pourrez même modifier la charge pendant l’exécution du test et comme il peut également fonctionner en ligne de commandes, vous pouvez l’intégrer à vos process CI/CD.

Ne pensez pas non plus que Locust soit uniquement dédié à du test de site web. En écrivant un client spécifique, vous pourrez ainsi tester d’autres systèmes ou protocoles.

Pour installer Locust, il vous faudra Python >= 3.6 et lancer la commande suivante :

pip3 install locust

Vous aurez également besoin d’écrire un premier scénario de test. Voici un exemple :

import time
from locust import HttpUser, task, between

class QuickstartUser(HttpUser):
    wait_time = between(1, 2.5)

    @task
    def hello_world(self):
        self.client.get("/hello")
        self.client.get("/world")

    @task(3)
    def view_items(self):
        for item_id in range(10):
            self.client.get(f"/item?id={item_id}", name="/item")
            time.sleep(1)

    def on_start(self):
        self.client.post("/login", json={"username":"foo", "password":"bar"})

Si vous regardez le code, vous pouvez voir qu’il y a 2 @task.

Ce sont les tâches qui seront effectuées par les utilisateurs simulés. Lorsque le QuickstartUser s’exécutera, il choisira au hasard l’une des tâches déclarées. Notez que la @task(3) a une pondération plus élevée, donc il y a 3 fois plus de chances que ce soit celle-ci qui soit choisie.

Ensuite, le reste n’est qu’une histoire de post et de get sur différents endpoints de votre site.

Bref, sauvegardez ce script sous la nom de fichier :

locustfile.py

Puis lancez locust :

locust -f locustfile.py

L’outil se lancera et vous donnera une URL à laquelle accéder avec votre ordinateur. Ensuite y’a plus qu’à mettre vos paramètres et à lancer le test.

Le test commencera alors en vrai. J’espère que votre serveur tiendra le coup 🙂

Et vous pourrez voir de beaux graphiques en temps réel, les erreurs rencontrées et bien sûr récupérer toutes les données pour les exploiter ensuite dans d’autres outils.

Locust est distribué sous licence libre et vous pouvez trouver son code en vous rendant sur le github.

Je vous invite également à lire la documentation ici.

☐ ☆ ✇ UnderNews

Exposition des réseaux : + de 200k failles détectées, 400k serveurs exposés au sein des 1500 entreprises analysées

Par : UnderNews

Rapport Zscaler « Exposed » 2021 : Les infrastructures physiques et dans le Cloud des entreprises sont plus exposées que jamais en raison des surfaces d’attaque étendues.

The post Exposition des réseaux : + de 200k failles détectées, 400k serveurs exposés au sein des 1500 entreprises analysées first appeared on UnderNews.
❌