Tutoriel | Configurer la réplication master/slave d’une instance PostgreSQL
Article publié le 7 Septembre 2018
Un petit tutoriel sur la manière la plus facile de mettre en place une réplication Master/Slave d'une instance PostgreSQL. Une réplication Master/Slave est extrêmement utile. Elle vous permettra d'avoir un failover et donc une continuité de service en cas de perte de votre master mais également de répartir la charge en redirigeant toute les requête read-only (select) sur votre slave.
Dans ce tutoriel, deux instances PostgreSQL seront installées sur deux machines distinctes.
La version utilisée lors de la rédaction de ce tutoriel est la version 10. Si vous utilisez une version différente de postgresql, ce tutoriel sera toujours valable, seul le chemin du répertoire d'installation de postgresql et certaines commandes changeront légèrement.… Lire la suite
Tutoriel | Installation d’un cluster ElasticSearch
Article publié le 28 Mars 2018
Un petit tutoriel qui pourra être utile à ceux qui, comme moi, ont souffert de la prise en main d'ElasticSearch ;-).
Ce tutoriel expliquera la marche à suivre pour monter un cluster ElasticSearch.
Dans l'exemple ci-dessous, je vais monter un cluster ElasticSearch composé de trois nœuds.
1) Installation
Installez ElasticSearch sur chaque machine (au moment où ce tutoriel a été rédigé, la version courante d'ElasticSearch est la 6.2)
Installation sous Debian:
Téléchargez et installez la clé GPG:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Ajoutez le répo elasticsearch (à adapter en fonction de la version courante du moment):
… Lire la suiteecho "deb https://artifacts.elastic.co/packages/6.x/apt
Tutoriel | Déployez facilement un cluster Kubernetes avec Rancher
Article publiée le 13 Janvier 2018
Article mis à jour le 21 Août 2018
Kubernetes est un orchestrateur de container docker extrêmement puissant mais également très fastidieux à déployer. Il existe pourtant un moyen très simple pour déployer Kubernetes en utilisant Rancher.
Rancher est un outil permettant de gérer vos environnements Docker de manière intuitive via une interface graphique (site de Rancher: https://rancher.com/)
Pour ce tuto je vais utiliser trois machines sous Debian 9 avec docker installé. Pour ceux qui ne connaissent pas Docker, je leurs suggère de lire le tutoriel ci-dessous:
Pour info un tutoriel rédigé le 20 Août 2018 explique comment installer Kubernetes from scratch (à la mano!)… Lire la suite
AWX l’alternative gratuite à Ansible Tower
Article publiée le 03 octobre 2017
Tous les utilisateurs connaissent Ansible Tower, l'interface graphique pour gérer Ansible créé par RedHat qui est une solution très onéreuse! Hors une variante opensource existe également sponsorisé depuis peu par RedHat :AWX
Ci-dessous une petite doc d'installation dédiée adaptée aux distributions RedHat/CentOS:
- Installez Ansible: yum install ansible
- Créer le fichier install_aws.yml qui contiendra le playbook d'installation AWX:
… Lire la suite- name: Deploy AWX
hosts: all
become: true
become_user: roottasks:
- name: sort out the yum repos
yum:
name: "{{ item }}"
state: "latest"
with_items:
- "epel-release"
- "yum-utils"- name: add the docker ce yum repo
yum_repository:
name: "docker-ce"
description: "Docker CE YUM repo"
gpgcheck: "yes"
enabled: "yes"
baseurl: "https://download.docker.com/linux/centos/7/$basearch/stable"
Tutoriel | Gérez vos container docker avec Portainer
Article publié le 2 Octobre 2017
Un petit tutoriel afin de vous présenter un outil peu connu mais extrêmement puissant vous permettant de gérer vos environnements Docker avec une simplicité sans égale: Portainer.
Si vous cherchez une interface graphique pour gérer votre environnement docker, portainer est fait pour vous!
Afin de suivre ce tuto, Docker doit-être installé sur votre machine. Un tuto sur l'installation et la configuration de docker est disponible :
https://journaldunadminlinux.fr/tuto-docker-demarrer-avec-docker/
1) Installation de Portainer
Portainer est livré nativement dans un container docker. Pour le déployer :
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer:/data portainer/portainer
Une fois le container déployé connectez vous à l'interface web via l'adresse suivante: http://ipdevotremachine:9000
2) Configuration
Lors de la première connexion, il vous sera demandé de créer le mot de passe du user admin:
Il vous sera demandé ensuite de "brancher" votre instance portainer à votre machine Docker.… Lire la suite
Présentation de Zentyal 5
Article publié le 1er Octobre 2017
Deux après la rédaction de mon article sur la solution IPCOP (https://journaldunadminlinux.fr/tutoriel-securiser-son-reseau-avec-ipcop/), je vais partager aujourd'hui ma nouvelle découverte: Zentyal.
Zentyal est une solution de sécurité (mais pas seulement) Opensource vous offrant pleins de fonctionnalités:
- Mise en réseau (Networking)
- Pare-feu (informatique) et routage
- Filtrage
- NAT (Network address translation) et redirections de port
- VLAN 802.1Q (Réseau local virtuel)
- Support de passerelles IP multiples (PPPoE and DHCP)
- Règles de passerelle multiple, équilibrage de charge et basculement automatique
- Lissage du trafic (à l'aide d'une couche d'application)
- Suivi graphique de la vitesse du trafic
- Système de détection d'intrusions dans le système
- Client DNS dynamique
- Infrastructure réseau
- Serveur DHCP (Dynamic Host Configuration Protocol)
- Serveur NTP (Network Time Protocol)
- Serveur DNS
- Mises à jour dynamiques via DHCP (Dynamic Host Configuration Protocol)
- Serveur RADIUS (Remote Authentication Dial-In User Service)
- Prise en charge VPN
- Autoconfiguration de routes dynamiques
- Proxy HTTP
- Cache Internet
- Authentification de(s) utilisateur(s)
- Filtrage de contenu (avec des listes par catégorie)
- Antivirus transparent
- Système de détection d'intrusions
- Serveur mail
- Domaines virtuels
- Quotas
- Soutien pour Sieve
- Récupération de compte externe
- POP3 et IMAP avec SSL/TLS
- Filtre antispam et antivirus
- Listes grises, noires et blanches
- Filtre proxy transparent POP3
- Compte "catch-all" (fourre-tout)
- Pare-feu (informatique) et routage
- Messagerie internet (webmail)
- Serveur internet (web server)
- Hôtes virtuels
- Autorité de certification
- Travail de groupe (workgroup)
- Gestion centralisée des utilisateurs et des groupes
- Soutien maître/esclave
- Synchronisation avec un contrôleur de domaine Windows Active Directory
- Windows PDC
- Système de mot de passe
- Assistance pour les clients Windows 7
- Partage des ressources en réseau
- Serveur de fichiers
- Antivirus
- Corbeille
- Serveur d'impression
- Serveur de fichiers
- Groupware: partage de calendriers, agendas, repertoire, boîte mail, wiki, etc.
- Gestion centralisée des utilisateurs et des groupes
Tutoriel | Répartition de charge en fonction des ressources disponibles sur vos machines avec HAPROXY
Article publiée le 23 Septembre 2017
Il y a quelque temps, je suis tombé sur la problématique suivante: comment faire en sorte que mon LoadBalancer HAProxy répartisse les connexions sur les machines ayant le moins de charge CPU?
Un collègue m'a alors fait suivre une doc qui m'a apporté la solution.
Ci-dessous un petit tuto vous expliquant comment procéder en prenant comme exemple la répartition d'un flux SSH sur 2 machines. Rien ne vous empêche d'adapter ce tuto pour rediriger d'autres type de connexion (HTTP, etc...)
1) Configuration de votre serveur HAPROXY
- Installez HAPROXY:
Sous Debian/Ubuntu:
apt-get install haproxy
Sous RedHat/Centos
yum install haproxy
Éditez le fichier /etc/haproxy/haproxy.cfg… Lire la suite
tuto | Installez et configurez rundeck (ordonnanceur opensource)
Article publié le 14 Août 2017
Article mis à jour le 17 Janvier 2018
J'ai eu l'occasion de tester pas mal d'ordonnanceur et j’ai remarqué que la plupart du temps les solutions du marché sont onéreuses, difficile à mettre en place et dur à maîtriser.
C'est pour ces raisons que j'ai été impressionné par la solution Rundeck.
Cet ordonnanceur open-source est extrêmement simple à mettre en place et à administrer. De plus énormément de plugins sont disponible ce qui permet de bénéficier d'un paquet de fonctionnalités supplémentaire (intégration d'Ansible, etc...)
1) Installation
Sous Debian/Ubuntu:
Installez Java:
apt-get install openjdk-8-jdk
Télécharger le paquet DEB sur le site officiel de Rundeck et installez le.… Lire la suite
Tuto | Installer et configurer un serveur WildFly
Article publiée le 7 Juin 2017
WildFly est un fork opensource de Jboss. Ce serveur d'application Java EE représente une alternative à crédible par rapport aux autres serveurs d'application JAVA type weblogic, websphère (tutoriel d'installation disponible ici), Jboss, etc...
Ce tutoriel explique comment installer et configurer rapidement un serveur WildFly afin qu'il soit opérationnel. Nous ne rentrerons pas dans les fonctionnalités avancées du produit.
1) Installation
Avant toute chose, Wildfly doit être exécuté via un user système dédié (surtout pas en root!).
Le choix de la distribution importera peu (Debian/Ubuntu ou Centos/RedHat feront très bien l'affaire). Assurez que JAVA soit installé sur votre serveur.… Lire la suite
Tuto | Installer et configurer OpenNebula sous Debian
Article publié le 6 Juin 2017
Article mis à jour le 13 Janvier 2018
Cela fait un petit moment que je m'intéresse aux technologies Cloud (AWS, OpenStack, etc...) et OpenNebula a particulièrement attiré mon attention par sa simplicité d'installation.
C'est pourquoi, je vous propose un petit tutoriel d'installation sur OpenNebula sous Debian.
Pour suivre ce tutoriel, vous aurez besoin d'au minimum deux VMs: Une VM pour l'interface de gestion et d'une ou plusieurs VMs pour les hôtes (hyperviseurs).
1) Installation de l'interface de gestion
1.1) Installation des paquets
On installe les dépôts:
… Lire la suitewget -q -O- http://downloads.opennebula.org/repo/Debian/repo.key | apt-key add -
echo "deb http://downloads.opennebula.org/repo/5.2/Debian/8
PyDash | Outil de monitoring Web pour Linux
Article publiée le 11 Avril 2017
J'ai découvert par hasard un petit outil de monitoring Web en temps réel nommé PyDASH. Cet outil développé en Python vous permet d'avoir un aperçu global de votre machine:
1) Installation
1.1) Prérequis
Installez les prérequis:
Sous Debian/Ubuntu:
apt-get install git python-pip apache2 libapache2-mod-wsgi
Sous Redhat/Centos
Installez les dépots EPEL:
yum install epel-release
Puis installez les prérequis:
yum install git python-pip httpd mod-wsgi
1.2) Installation de PyDASH
On installe ensuite PyDASH:
Positionnez-vous dans le répertoire apache censé contenir le contenu (par défaut /var/www)
Rapatriez les sources depuis le dépôt GIT officiel
… Lire la suitegit clone https://github.com/k3oni/pydash
Tuto | Installation et configuration de nginx + Loadbalancing
Article publiée le 10 Avril 2017
Durant mon temps libre, j'ai décidé de m'intéresser de prêt à Nginx. Il est vrai que je n'ai jamais eu l'occasion de le mettre en place étant donné que l'intégralité de mes environnements WEB tournent avec Apache. Nginx est un serveur Web spécialement conçu pour encaisser de très forts trafics. Les performances de celui-ci sont nettement supérieures à ceux d'Apache. De plus, Nginx intègre une fonctionnalité de LoadBalancing très puissante. Cependant, l'inconvénient majeur de Nginx est qu'il ne peut gérer nativement du contenu dynamique (PHP par exemple). Il faudrait pour cela passer par une configuration légèrement plus fastidieuse par rapport à celle d'Apache.… Lire la suite
Tuto Docker | Gérer vos container avec Docker compose
Article publiée le 10 Février 2017
Après mon tuto sur Docker (http://journaldunadminlinux.fr/tuto-docker-demarrer-avec-docker/) je continue dans ma lancée en vous présentant l'outil docker-compose. Docker-compose est un outil officiel Docker absolument génial qui permet de gérer à 100% vos container uniquement avec un fichier de configuration yml. Cet outil est d'autant plus pratique si vos applications nécessite l'installation de plusieurs containers pour fonctionner.
I) Installation
L'installation est très simple (curl doit être installé sur votre machine):
curl -L https://github.com/docker/compose/releases/download/1.11.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
La commande docker-compose doit fonctionner:
2) Utiliser Docker Compose
Pour vous montrer comment fonctionne docker-compose je vais prendre comme exemple l'installation d'un GITLAB complet sous Docker (base de données + application).… Lire la suite
Tuto Docker | Démarrer avec Docker
Article publié le 09/02/2017
Mis à jour le 22/08/2018
Après pas mal de temps, j'ai enfin décidé à me mettre à étudier Docker. Étant très hésitant au départ, je me suis vite aperçu que Docker est un outil extrêmement puissant, flexible avec un potentiel Devops incroyable.
La question que se posent beaucoup de personnes est: qu'est-ce que c'est Docker? Contrairement à la virtualisation classique ou vous virtualisez l'intégralité de la machine et tout se qu'elle héberge, Docker n'héberge que les applications et les librairies!
I) Installation
Sous Debian:
On ajoute les dépôts docker et on installe:
… Lire la suitesudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg
Tuto | Installation d’un serveur PostgreSQL multi-instances
Article publiée le 27 Décembre 2016
Je continue dans ma lancée des tutoriels concernant l'installation et la configuration de base de données multi instance (cf: tuto sur l'installation d'une base Mysql multi instance: http://journaldunadminlinux.fr/tuto-installation-dune-mysql-multi-instance/).
Si vous ne connaissez rien du tout sur postgresql je vous suggère d'aller faire un tour sur le tuto d'installation de postgres: http://journaldunadminlinux.fr/tuto-installation-dune-mysql-multi-instance/
Ci-dessous la procédure pour configurer un serveur postgresql en multi instance
- Procédez à l'installation de PostgreSQL via la commande apt-get install postgresql postgresql-common postgresql-contrib
- Faites, une sauvegarde du fichier de configuration /etc/postgresql/9.4/main/postgresql.conf
- Copier la configuration ci-dessous dans votre fichier postgresql.conf:
… Lire la suitedata_directory =
'/var/lib/postgresql/9.4/main'
hba_file =
'/etc/postgresql/9.4/main/pg_hba.conf'
Tuto | Installez et débutez avec postgresql
Article publiée le 27 Décembre 2016
PostgreSQL est pour moi la meilleure alternative à Oracle. Elle allie performance, fiabilité et simplicité d'administration. Ayant eu pas mal de galère avec MySQL que je trouve plus "fragile" j'ai vite été séduis par la robustesse de PostGRESQL.
1) Installation
Debian/Ubuntu
apt-get install postgresql-*
RedHat/Centos
La version de postgresql contenu dans les dépôts de ces distributions sont un peu veilles. Je vous suggère d'ajouter les dépots yum officiel:
CentOS/RHEL
7
# rpm -Uvh http:
//yum.postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-1.noarch.rpm
CentOS/RHEL
6
# rpm -Uvh http:
//yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-redhat94-9.4-1.noarch.rpm
CentOS/RHEL
5
# rpm -Uvh http:
//yum.postgresql.org/9.4/redhat/rhel-5-x86_64/pgdg-redhat94-9.4-1.noarch.rpm
9.4 correspond à la version de postgreSQL, rien ne vous empêche d'installer une version supérieur/inférieur en modifiant le lien.… Lire la suite
Tuto | Installation d’une base Mysql Multi-instances
Article publiée le 26 Décembre 2016
Un petit tutoriel sur l'installation d'une base de données MySQL multi instance. Ce type d'installation vous sera particulièrement utile si votre serveur héberge plusieurs instances applicative. En effet admettons que vous hébergiez plusieurs instances applicatives, au lieu de créer une base de données par application, vous pourrez créer une instance MySQL dédié par application. L'avantage est que vous pourrez effectuer un tunning précis de votre base de données par application.
- Procédez à l'installation de mysql via la commande apt-get install mysql-server
- Faites une sauvegarde du fichier de configuration original /etc/mysql/my.cnf et modifier le de la manière suivante (le fichier de configuration est bien sur à adapter.
Tutoriel | Mettre en place un reverse proxy Apache avec un serveur tomcat
Article publié le 8 Novembre 2016
Article mise à jour le 19 Janvier 2018
Très souvent je peux constater que des admins mettent directement leur serveur Tomcat en front (les clients se connectent directement sur le Tomcat).
Il est très vivement recommandé d'utiliser un serveur Apache en front (reverse proxy). En effet l'utilisation d'un serveur apache a les avantages suivants:
- Sécurité: Le serveur tomcat est isolé de l'extérieur et apache gère mieux les requêtes HTTP
- Performance: Apache sera plus performant que Tomcat (le moteur HTTP d'apache est beaucoup plus performant).
- Configuration: Apache contrairement à Tomcat est hautement configurable!
Une fois votre serveur apache installé activez le mode proxy:
a2enmod proxy_http
Créez votre virtualhost:
… Lire la suitetouch /etc/apache2/site-available/<nom de votre site>.conf
tutoriel | Installation et configuration de Tomcat 9
Article publiée le 8 Novembre 2016
1) Présentation
Tomcat 9 est sortie depuis quelque temps.
Tous d'abord faisons un point sur les nouveautés:
- Implémentation des spécification de JAVA7
- Implémentation de Java Servlet 3.1,
- Implémentation de de JavaServer Page2.3
Ci dessous un petit tuto rappel de comment installer un serveur tomcat (version 9):
Cette article reprend le tutoriel que j'ai rédigé pour tomcat 8 en étant adapté pour cette nouvelle version. Il n'y aura pas de gros changement pour les personnes ayant lu le tutoriel sur tomcat 8 🙂
Prérequis: Java
yum install java* pour (RedHat/Centos) ou apt-get install openjdk* (Sous debian/Ubuntu)
- Créez proprement votre répertoire d’installation de tomcat, dans mon cas cela sera /srv/tomcat
mkdir /srv/tomcat
- Décompressez l'archive dans le répertoire de destination:
… Lire la suitemv <votre archive>.tar.gz
Tutoriel | Installer et paramétrer un FTP sécurisé avec VsFTPD
Article publiée le 12 Octobre 2016
Petit tuto expliquant comment configurer un serveur FTPs sécurisé avec vsftpd. Vsftpd étant le serveur FTP le plus sécurisé, je vous le recommande fortement.
- Installez vsftpd via la commande apt-get install vsftpd (sous Debian) ou yum install vsftpd (sous RedHat/CentOS)
- Une fois l'installation effectuée, éditez le fichier /etc/vsftpd/vsftpd.conf et écraser le contenu avec la configuration suivante (sans oublier de faire une sauvegarde du fichier original):
anonymous_enable=NO
… Lire la suite# A adapter
pasv_min_port=
30000
pasv_max_port=3
0099
local_enable=YES
virtual_use_local_privs=YES
write_enable=YES
local_umask=
18
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=
600
data_connection_timeout=
1200
chroot_local_user=YES
listen=YES
max_clients=
30
pam_service_name=vsftpd.virtual
guest_enable=YES
user_sub_token=$USER
local_root=/srv/ftp/$USER
hide_ids=YES
userlist_enable=YES
tcp_wrappers=YES
ssl_enable=YES
allow_anon_ssl=NO
allow_writeable_chroot=YESforce_local_data_ssl=YES
force_local_logins_ssl=YES
rsa_cert_file=/etc/ssl/certs/<nom du fichier>.crt