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 02/10/2017
Après 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:
echo "deb https://apt.dockerproject.org/repo debian-jessie main" > /etc/apt/sources.list.d/docker.list
apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
apt-get update && apt-get install docker-engine
Sous Centos:
On ajoute les dépôts docker et on installe:
vi /etc/yum.repos.d/docker.repo[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpgyum install docker-enginesystemctl enable dockersystemctl start docker
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:
data_directory =
'/var/lib/postgresql/9.4/main'
hba_file =
'/etc/postgresql/9.4/main/pg_hba.conf'
ident_file =
'/etc/postgresql/9.4/main/pg_ident.conf'
external_pid_file =
'/var/run/postgresql/9.4-main.pid'
listen_addresses =
'localhost'
port =
5432
max_connections =
100
unix_socket_directories =
'/var/run/postgresql'
ssl =
true
shared_buffers = 1024MB
work_mem = 16MB
maintenance_work_mem = 1024MB
checkpoint_segments =
64
checkpoint_completion_target =
0.9
effective_cache_size = 1024MB
log_min_duration_statement =
500
log_line_prefix =
'%m %d '
datestyle =
'iso, mdy'
lc_messages =
'en_US.UTF-8'
lc_monetary =
'en_US.UTF-8'
lc_numeric =
'en_US.UTF-8'
lc_time =
'en_US.UTF-8'
default_text_search_config =
'pg_catalog.english'
ssl_cert_file =
'/etc/ssl/certs/ssl-cert-snakeoil.pem'
ssl_key_file =
'/etc/ssl/private/ssl-cert-snakeoil.key'
- Créez les dossiers de stockage avec les bons droits:
mkdir /srv//pg && chown postgres:postgres /srv//pg && chmod
700
/srv/pg
-
Créez les répertoires pour les fichiers de configurations
mkdir /etc/postgresql/
9.4
/<instance>
- Créez la nouvelle instance
su - postgres
/usr/lib/postgresql/
9.4
/bin/initdb -D /srv//pg
cp /etc/postgresql/
9.4
/main/*conf /etc/postgresql/
9.4
/<instance name>
- Éditez et modifier le fichier /etc/postgresql/9.4/<instance name>/postgresql.conf avec les bonnes informations
|
- Redémarrez PostgreSQL
Quelques commandes pour aider (version "9.4" adapter bien évidemment):
Lister les Clusters : pg_lsclusters
Arrêter une instance: pg_ctlcluster 9.4 <instance name> stop
Démarrer une instance: pg_ctlcluster 9.4 instance1 start
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:
touch /etc/apache2/site-available/<nom de votre site>.conf
Ajoutez y la configuration suivante
< VirtualHost *: 80>
ServerName <nom de votre site>
ProxyPreserveHost On
ProxyRequests On
ProxyPass / <adresse IP ou DNS de votre appli tomcat>
ProxyPassReverse / <Adresse IP ou DNS de votre appli tomcat>
</VirtualHost>
Activez ensuite votre virtualHost via la commande a2ensite <nom de votre VirtualHost> puis recharger la configuration de votre serveur apache avec la commande /etc/init.d/apache2 reload
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:
mv <votre archive>.tar.gz <repertoire d’installation> && tar -xvf <repertoire d’installation>/<votre archive>.tar.gz
Exemple: mv /root/apache-tomcat-9.0.0.tar.gz /srv/tomcat/
Quelques petites explications:
- Le répertoire bin contient tous les scripts de tomcat notamment ceux de démarrage et d’arrêt.… Lire la suite
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
# 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
rsa_private_key_file=/etc/ssl/
private
/<nom du fichier>.key
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH
openssl req -x509 -newkey rsa:
1024
-keyout /etc/ssl/
private
/private.key -out /etc/ssl/certs/certificate.crt -nodes -days
3650
chmod
0600
/etc/ssl/
private
/private.key; chmod
0640
/etc/ssl/
certs
/certificate.crt
#%PAM-
1.0
auth required pam_userdb.so db=/etc/vsftpd/login
account required pam_userdb.so db=/etc/vsftpd/login
session required pam_loginuid.so
useradd ftp
Tutoriel | chiffrer et déchiffrer avec GnuPG
Article publié le 10 Octobre 2016
Petit tuto très simplifié sur comment chiffrer/dechiffrer des fichiers avec GnuPG.
- Démarrez l'agent gnugpg:
gpg-agent --daemon --use-standard-socket
- Authentifiez vous sans utiliser sudo mais en vous connectant directement avec le compte UNIX souhaité.
- Générez votre clé privée (de préférence sur une machine sûre):
gpg -gen-key
- Renseignez les informations demandées par l'invite de commande. Si la génération de votre clé prend trop de temps, utilisez la commande ci-dessous
rngd -r /dev/urandom
- Générez votre clé de révocation (au cas ou)
gpg --output revoke.asc --gen <id de votre clé>
- Vérifiez que votre clé a bien été généré
gpg --list-keys
- Exportez votre clé publique qui sera nécessaire pour chiffrer / déchiffrer (la clé public devra être envoyé au destinataire afin qu'il puisse
déchiffrer le contenu).… Lire la suite
Tutoriel | Installer et configurer le firewall Shorewall
Article publié le 23 Juin 2016
Un petit tuto sur le firewall Shorewall qui simplifie grandement la configuration d'IPTABLES. En effet avec Shorewall vous pouvez configurer de manière très efficace IPTABLE juste avec une petite poignée de fichiers de configuration (très utile pour de nombreux serveurs dédiés piratés...)
1) Installation
Sous Debian/ Ubuntu:
apt-get install shorewall shorewall-core
(sans oublier shorewall6 si vous avez une interface réseau avec une adresse IPV6)
Sous RedHat/Centos
Shorewall n'est pas dans les dépots officiels de ces distributions. Pour cela il est nécessaire de rajouter les dépôts de shorewall:
Créez le fichier /etc/yum.repos.d/shorewall.repo et rajouter les lignes suivantes:
[shorewall]
name = RHEL $releasever - Shorewall - sysadminguide.net
baseurl = http://mirror.sysadminguide.net/shorewall
enabled = 1
protect = 0
gpgcheck = 0
Puis installez shorewall:
yum install shorewall, shorewall-core
(Sans oublier shorewall6 si vous avez une interface réseau avec une adresse IPV6;-))
2) Configuration
2.1) Sous Debian:
Copiez les fichiers de configurations depuis le répertoire /usr/share/doc/shorewall/examples/one-interface vers /etc/shorewall
cd /usr/share/doc/shorewall/examples/one-interface && cp {interfaces, policy, shorewall.conf.gz, zones} /etc/shorewall && gunzip /etc/shorewall/shorewall.conf.gz
cd /usr/share/doc/shorewall6/examples/one-interface && cp {interfaces, policy, shorewall.conf.gz, zones} /etc/shorewall6 && gunzip /etc/shorewall6/shorewall.cong.gz (si vous avez une adresse IPv6)
Créez le fichier /etc/shorewall/rules (également pour /etc/shorewall6/rules le cas échéant) et ajoutez y les lignes suivantes:
?SECTION NEW
SHELL cat /etc/shorewall/rules.d/*.rules 2> /dev/null || true
Puis créez le répertoire /etc/shorewall/rules
mkdir /etc/shorewall/rules.d
(mkdir /etc/shorewall6/rules.d)
2.2) RedHat
La procédure est presque identique à celle de Debian.… Lire la suite
Installer et configurer Centreon Entreprise Server
Article publié le 25 Mai 2013
Mis à jour publié le 24 Mai 2016
Ce tutoriel a été mis à jour pour la sortie de la version 3.x
Nagios/Centreon est pour moi le meilleur système de supervision qui existe. Il est puissant, gratuit avec une énorme communauté qui le maintient.
Maintenant sa mise en place est plus ou moins fastidieuse.
J'ai découvert par hasard que Centreon proposait une édition Entreprise.
La version standard est entièrement gratuite est présente de nombreux avantage
- Téléchargeable sous forme d'ISO centreon Entreprise standard est livré sous forme d'OS complet (basé sur CENTOS) avec tout le système de monitoring préinstallé.… Lire la suite
Testez la configuration SSL de vos serveurs avec ssllabs
Article publiée le 23 Mai 2016
Depuis pas mal de temps je bosse sur la configuration SSL des serveurs web. Ayant rejoint une entreprise dont la préoccupation sur la sécurité est forte j'ai pu connaitre l'existence de petits outils permettant de faire un check complet de la configuration SSL (HTTPS) de votre site Web.
Cet outil est vraiment bien et peu notamment vous servir en cas d'audit pour prouver que la configuration de vos serveurs web est sérieuse.
1) Qualys SSL LABs
Le plus connu et réputé Qualys SSLLABS. Via cette page web vous pouvez avoir un diagnostic complet de votre site avec une note ainsi que des indications sur ce qui peut être amélioré:
2) API SSL Labs
Pour ceux qui sont vraiment à fond dans la configuration SSL de leurs serveurs web, je leur propose une petite solution afin d'automatiser les checks de leurs site.… Lire la suite
Tutoriel | Tuto ZFS Linux
Article publiée le 6 Mai 2016
Article mise à jour le 23 Juin 2017
Un petit tuto sur le système (et gestionnaire de volume) ZFS. En travaillant sur des serveurs ayant ce système de fichiers, j'ai pu voir son incroyable potentiel !
IL est courant que ZFS fasse peur à tort étant donnée que la corruption de données n'existe pas avec ce système de fichiers...En effet, avec ZFS, aurevoir fsck et compagnie!
ZFS est un système de fichiers développé à l'origine par SUN. Les caractéristiques de ZFS sont quasiment illimités:
- 248 : le nombre d'instantanés maximal ;
- 248 : le nombre de fichiers dans chaque système de fichiers ;
- 16 exbioctets : la taille maximum du système de fichiers ;
- 16 exbioctets : la taille maximum d'un seul fichier ;
- 256 : le nombre maximal théorique de fichiers par répertoire (en réalité limité à 248 par le nombre maximal de fichiers dans un système de fichiers).
Historiser (logguer) toutes les commandes shell avec snoopy dans un fichier log
Article publié le 31 Mars 2016
L'un de mes premiers tuto a été de proposer une solution pour "historiser qui a tapé telle commande et quand" dans une base Mysql en patchant et recompilant le bash.
(http://journaldunadminlinux.fr/loggue-toutes-les-commandes-executees-dans-une-base-mysql/).
Depuis j'ai découvert une autre solution certes moins aboutie mais beaucoup plus facile à mettre en place: snoopy.
Snoopy va logger chaque commande tapée par un utilisateur dans un fichier de log (par défaut /var/log/auth.log).
Téléchargez les sources de snoopy ici: http://source.a2o.si/download/snoopy/
Décompressez-les ensuite avec un tar -xvf <nom de votre archive>
Nous allons procéder à la compilation (assurez vous que gcc et make soient bien installées)
./configure && make && make install && make enable
(il est possible que la compilation plante à cause d'un prérequis manquant: socat.… Lire la suite
Tutoriel | Installation d’Oracle 12c et configuration d’une instance
Article publiée le 13 Mars 2016
Ce tutoriel vous expliquera comment installer Oracle 12c et créer une instance Oracle.
Oracle ne supporte son produit que pour les distributions de la famille RedHat (Centos, Oracle Linux Server) c'est pourquoi mon tutoriel ne sera pas adapté pour les distributions de la famille Debian (Ubuntu Server etc...)
Ce tutoriel a été testé via une RedHat 7 mais peut être utilisé sur une version antérieure de RedHat ou de CentOS
Si vous vous connectez sur votre machine depuis un poste Windows via Putty, la configuration d'un X11 Forwarding (Export Display) est nécessaire.
Un tutoriel sur le sujet est disponible ici: http://journaldunadminlinux.fr/activer-x11-forwarding-pour-ssh/
SELinux doit également être désactivé: http://journaldunadminlinux.fr/activer-ou-desactiver-selinux/
Désactivez le firewall : service iptables stop
1) Prérequis
Les sources d'Oracle sont disponibles sur le site officiel.… Lire la suite
Tuto | Installer et configurer IBM DB2 10.5
Article publiée le 21 Février 2016
Ce tutoriel vous expliquera la marche à suivre complète pour installer le système de base de donnée IBM DB2 V10.5.
IBM ne supporte DB2 que pour RedHat c'est pourquoi ce tutoriel ne sera adapté que pour les distributions RedHat/Centos.
1) Installation
Connectez-vous sur votre machine en paramétrant correctement votre EXPORT DISPLAY car l'installation de DB2 se fait via une interface graphique.
(tuto X11 Forwarding dispo ici: http://journaldunadminlinux.fr/activer-x11-forwarding-pour-ssh/).
Après avoir téléchargé les sources de DB2 V10.5 sur le site d'IBM, décompressez l'archive avec la commande tar -xvf <le nom de votre archive>.
Normalement vous devriez avoir le contenu suivant :
Dans un premier temps, nous allons exécuter le script db2prereqcheck afin de vérifier que les prérequis soient comblés avant de lancer l'installation:
./db2prereqcheck
Erreurs possibles qui peuvent être remontées par le script db2prereqcheck:
Désactivation de SElinux: il est nécessaire de désactiver SElinux pour installer DB2.… Lire la suite
Activer X11 forwarding en SSH avec putty
Article publiée le 20 Février 2016
Petit article pour rappeler comment activer le X11 Forwarding (déportation d'affichage) via votre putty. En effet, en écumant les forums, j'ai pu voir pas mal d'utilisateurs galérer sur ce sujet.
La procédure est simple et très importante à connaitre car beaucoup de produits nécessite un X11 Forwarding pour procéder à leurs installations (Oracle, SAP etc...)
1. Prérequis:
Sous Debian/Ubuntu: apt-get install x11-auth
Sous RedHat/Centos: yum -y install xorg-x11-xauth
2. Xming:
Sur votre poste Windows installez l'outil XMING (Téléchargeable ici: https://sourceforge.net/projects/xming)
Une fois XMING installé lancez le et vérifiez que l'icone de XMING apparaisse bien dans votre bar de notification:
3.… Lire la suite
Retrouver la commande ifconfig | « ifconfig command not found for RedHat & Centos 7 »
Article publiée le 2 Février 2016
Je pense que tout le monde l'a remarqué: sous Centos7 / RedHat 7 la commande "ifconfig" n'existe plus! Eh oui hélas, celle ci est considéré comme obsolète par la communauté... Quelle chamboulement dans nos habitudes!
Désormais vous devez utiliser la commande "ip addr" pour afficher vos interfaces:
Pour voir les statistiques utilisez la commande "ip link"
Bon si vous n'arrivez vraiment pas à vous y faire il est toujours possible de réinstaller la commande "ifconfig"!
Il vous suffit pour cela d'installer le package "net-tools":
yum install net-tools:
La commande ifconfig sera de nouveau disponible:
Astuces | Améliorez l’historique de votre shell avec .inputrc
Article publiée le 23 Décembre 2015
Ci-dessous une petite astuce fort sympatique afin d'améliorer considérablement votre terminal:
- Créez ou éditez le fichier /home/<votre user>/.inputrc.
- Ajoutez y les lignes suivantes:
"\e[A": history-search-backward
"\e[B": history-search-forward
set show-all-if-ambiguous on
set completion-ignore-case on
- bind -f /home/<votre user>/.inputrc
Relancez votre terminal (ou établissez une nouvelle connexion SSH) et vous pourrez désormais effectuer des rechercher par commande dans votre historique en tapant le nom de la commande + flèche haut/flèche bas.
Votre autocomplétion ne sera plus case sensitive (ignore la majuscule/minuscule)