Menu principal

Statut de la page

Puppet : déployer automatiquement une applications Web avec les services Apache/PHP/MySQL

Dans ce court article, je vous propose de découvrir comment avec Puppet, il est simple de déployer un serveur Web complet prêt à accueillir une application web depuis son dépôt GIT. Je vais prendre pour exemple le célèbre CMS WordPress. Premièrement, on installe les modules dont on aura besoin : puppet module install puppetlabs-apache --version 2.3.0 puppet module install puppetlabs-mysql --version 5.1.0 puppet module install puppetlabs-vcsrepo Partons sur une simple définition de node dans le fichier /etc/puppetlabs/code/environments/production/manifests/site.pp contenant notre serveur web. On installe Apache avec le moteur prefork et non pas worker fourni par défaut car on souhaite installer mod_php. Enfin on créé un VirtualHost www.morot.test dont les fichiers seront dans le répertoire /srv/www : node 'www' { class { 'apache': default_vhost => false, mpm_module [...]
Lire la suite
Vus : 79
Publié par Morot : 22

OpenLDAP : corriger les ldif_read_file: checksum error

Si comme moi il vous arrive de modifier les fichiers de configuration ldif d’openldap à la main plutôt que de les modifier en injectant un LDIF, cela génère des jolies erreurs non bloquantes comme ceci :

ldif_read_file: checksum error on "/etc/ldap/slapd.d/cn=config/olcDatabase={1}hdb.ldif"

Pour corriger, rien de plus simple, on installe un utilitaire et on génère le nouveau CRC :

apt-get install libarchive-zip-perl
crc32 

Il ne reste plus qu'à modifier l'en-tête du fichier en erreur, ici /etc/ldap/slapd.d/cn=config/olcDatabase={1}hdb.ldif avec vim (c'est autorisé cette fois!) et à indiquer le checksum obtenu.

Vus : 164
Publié par Morot : 22

Puppet : automatiser la construction d’un volume GlusterFS répliqué

Puppet : automatiser la construction d’un volume GlusterFS répliqué Je vais présenter rapidement comment créer le code Puppet adapté à la création d’un cluster à deux noeuds avec deux bricks répliqués. Pour la démonstration, j’aurais deux VM Ubuntu 16.04 et les bricks seront sur deux disques durs de 8 Go. Préparation du Puppet Master Installation des modules nécessaires : # puppet module install puppetlabs-lvm Notice: Preparing to install into /etc/puppetlabs/code/environments/production/modules ... Notice: Downloading from https://forgeapi.puppet.com ... Notice: Installing -- do not interrupt ... /etc/puppetlabs/code/environments/production/modules └─┬ puppetlabs-lvm (v0.9.0) └── puppetlabs-stdlib (v4.20.0) # puppet module install puppet-gluster Notice: Preparing to install into /etc/puppetlabs/code/environments/production/modules ... Notice: [...]
Lire la suite
Vus : 178
Publié par Morot : 22

HAProxy : gérer la persistance des sessions lorsque l’application n’est pas conçue pour

Le problème avec les sessions HTTP c’est qu’elles sont complètement décorrélées des sessions TCP. Sans load balancer, ce n’est pas un problème, par contre dans une architecture multi serveur, un utilisateur peut être redirigé vers un serveur web qui n’est pas au courant de la session HTTP. Ce cas se produit typiquement avec un algorithme de type round robin. Ainsi, un utilisateur peut lors de la première connexion être authentifié sur un serveur puis lors de l’accès suivant être redirigé vers le second serveur moins chargé. Habituellement, pour gérer ce type de situation : On utilise un système de cache partagé entre les serveurs pour gérer les sessions : base de données, memcache, système de fichier L’application gère nativement le mode cluster Pour une même [...]
Lire la suite
Vus : 242
Publié par Morot : 22

Loadbalancer hautement disponible avec HAProxy et Keepalived

Introduction Cet article est une version actualisée de ce que j’avais publié dans GNU/Linux France Magazine numéro 163. Voici ce que l’on souhaite obtenir : Un service utilisateur hautement disponible avec des serveurs de type Postfix, Apache, Zimbra, Dovecot, etc… Les serveurs de ces backends devront être en mode actif/actif afin de pouvoir fournir un système apte à monter en charge La haute disponibilité sera gérée par des load balancer qui ne devront pas être eux mêmes un SPOF, ils seront donc également load balancés Et pour être en phase avec la législation, les backends devront avoir en visibilité les adresses IP des clients et ce contrairement à un certain nombre d’architectures où le load balancer effectue du NAT et donc [...]
Lire la suite
Vus : 383
Publié par Morot : 22

HHVM, l’autre interpréteur PHP!

HHVM est un interpréteur pour le langage PHP créé par Facebook. Il gère actuellement un sous ensemble confortable de PHP5 et le langage de programmation Hack dérivé de PHP. Les différences de fonctionnement entre Hack et PHP sont documentées sur le site officiel. De même, la plupart des modules PHP sont fonctionnels avec HHVM. Installation : Le projet HHVM a le bon goût de proposer des paquets Debian et Ubuntu, par conséquent : sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449 sudo add-apt-repository "deb http://dl.hhvm.com/ubuntu $(lsb_release -sc) main" sudo apt-get update sudo apt-get install hhvm Pour tester, c’est très simple, on peut utiliser le démon HHVM. Créons une simple page PHP [...]
Lire la suite
Vus : 586
Publié par Morot : 22

HA avec Keepalived (GLMF 163)

Haute Disponibilité et répartition de charge avec KeepAlived ! Keepalived c’est un peu comme le miel, au début ça colle aux doigts et après on s’aperçoit que son parfum sucré est drôlement agréable. Je vais donc aborder les fondements de la haute disponibilité de services réseaux au niveau kernel pour arriver à une solution entièrement pilotée. De quoi s’agit-il ? Une architecture informatique est dite hautement disponible lorsque sa conception est pensée d’une part pour répondre à la panne d’un ou plusieurs équipements et d’autre part lorsqu’elle est capable d’encaisser un pic de charge sans sourciller. La solution présentée dans ces pages se focalise sur la notion de services réseaux. Bien entendu, la notion de haute disponibilité doit être prise en compte à tous les niveaux [...]
Lire la suite
Vus : 770
Publié par Morot : 22

Authentification LDAP sous Ubuntu 12.04 LTS

Voici un petit tuto très succint pour mettre en place rapidement une authentification LDAP. Je ne m’attarderai pas sur la sécurité, la réplication etc… On part d’un serveur vierge, avec le réseau configuré. Si votre domaine DNS c’est toto.local, le DIT LDAP sera dc=toto,dc=local. Pour moi ce sera dc=morot,dc=fr C’est parti : apt-get install slapd ldap-utils> On met en place nos OU qui contiendront les utilisateurs et les groupes (faire un control+D à la fin de la saisie) : ldapadd -x -W -D cn=admin,dc=morot,dc=fr dn: ou=People,dc=morot,dc=fr objectClass: top objectClass: organizationalUnit ou: People dn: ou=Groups,dc=morot,dc=fr objectClass: top objectClass: organizationalUnit ou: Groups On ajoute une première entrée [...]
Lire la suite
Vus : 2469
Publié par Morot : 22

Tuto Darktable : Effets sélectifs sur les couleurs en noir et le blanc

Les effets noir et blanc ou sépia, tout le monde connait et sait faire, bon nombre de logiciels ont déjà des filtres pré-existants avec parfois quelques variations possibles. Partons d’une simple photo de fleur avec un légers bokeh. Celle-ci est plutôt sans intérêt et pas très bien exposée. Importez cette image dans la bibliothèque Darktable, et rendez-vous dans couleur puis zone de couleur. Si le module n’est pas disponible, vous le trouverez dans la section plus de modules. Mettez ensuite tous les niveaux au minimum ce qui a pour effet de créer une image basique en noir et blanc. Ce qu’on vient de faire en fait s’appelle la désaturation des [...]
Lire la suite
Vus : 2507
Publié par Morot : 22

Synology DS213J et ipkg

IPKG, c’est beau propre et frais, mais ça n’existe pas pour l’architecture Marvel Armada 370.  Mais grace à ces petits gars on sait maintenant que c’est à peu près compatible au niveau des binaires avec l’architecture Marvell Kirkwood mv6281 déjà bien supportée. Donc en fait, c’est très simple et fermez les yeux quand on dit que ce n’est pas compatible car les commandes suivantes suffisent pour installer le nécessaire : feed=http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable ipk_name=`wget -qO- $feed/Packages | awk '/^Filename: ipkg-opt/ {print $2}'` wget $feed/$ipk_name tar -xOvzf $ipk_name ./data.tar.gz | tar -C / -xzvf - mkdir -p /opt/etc/ipkg echo "src cross $feed" > [...]
Lire la suite
Vus : 3528
Publié par Morot : 22
Powered by BilboPlanet