Comment renouveler Let’s Encrypt SSL à l’aide de Certbot sur VPS multidomaines VirtualHost

Vous saviez tous que Let’s Encrypt nous fournit un SSL 100% gratuit et que nous pouvons utiliser l’outil certbot pour créer, autoriser et renouveler SSL automatiquement. J’ai eu un post à ce sujet:

Comment configurer HTTPS pour Nginx avec SSL gratuit à partir de Let’s Encrypt

Mais certbot est resté bloqué si votre VPS utilise plusieurs domaines avec la configuration de VirtualHost, car il modifiait le fichier de configuration de vhost de manière incorrecte et faisait de votre fichier un véritable gâchis. Cela se produit également avec le renouvellement automatique. Nous devons donc le faire manuellement d’abord, puis je vous guiderai pour le faire automatiquement plus tard.

Tout d’abord, lancez la commande de renouvellement:

certbot -d config9.com certonly

Dans cette commande, je spécifie le domaine que je souhaite renouveler. Vous aussi.

Ignore le debug / warnings concernant l’installation de pyasn car cela n’affecte pas notre renouvellement.

Ensuite, il vous demandera ceci:

How would you like to authenticate with the ACME CA?
 
 1: Apache Web Server plugin (apache)
 2: Spin up a temporary webserver (standalone)
 3: Place files in webroot directory (webroot)
 
 Select the appropriate number [1-3] then [enter] (press 'c' to cancel): 3

Sélectionnez 3 pour placer le fichier d’authentification dans le dossier racine du domaine.

Ensuite, spécifiez le répertoire racine du domaine.

Input the webroot for config9.com: (Enter 'c' to cancel): /path/to/www/of/config9.com

Certbot fait ensuite un défi et vous avertit avec un message réussi.

Vous devriez faire la même chose avec d’autres domaines.

Connexes: performances du passager 5 comparées vers licorne / mince / puma / etc

Comment désactiver SELinux sur Centos 7 permanent

Tout d’abord, vérifiez le statut actuel de SELinux:

sestatus

Résultat:

SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      31

Modifiez maintenant le fichier de configuration selinux:

vi /etc/selinux/config

Définissez SELINUX = disabled. Résultat:

#This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
 SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

Comment installer facilement Python 3.6 dans Centos 7

Tout d’abord, vous devrez mettre à jour votre système:

sudo yum update -y

Le projet SCL ou Software Collections est un projet à source ouverte. Son objectif est de vous permettre d’installer et d’exécuter plusieurs versions du même logiciel sur le même système. Pour installer Python 3.6 x64, vous devez installer SCL:

sudo yum installez -y centos-release-scl

Installez maintenant Python 3.6 x64:

sudo yum install -y rh-python36

Activez maintenant l’environnement virtuel Python 3.6 sur cette machine:

scl enable rh-python36 bash

Pour l’activer définitivement, ajoutez ces lignes au bas du profil bash:

Pour modifier bash_profile.

cd ~ && vi .bash_profile

Ajoutez ces lignes:

#add python36 to the bash permanently
scl enable rh-python36 bash

Exécutez cette commande pour appliquer immédiatement:

exec bash

Pour développer des applications Python, vous aurez besoin d’outils de développement tôt ou tard:

sudo yum groupinstall -y "Development Tools"

Pour installer pipenv, nous avons besoin du privilège root:

su - root
sudo yum install -y rh-python36

#Upgrade to new version of pip
pip install --upgrade pip 

#now install pipenv
pip install pipenv 

Comment installer, configurer et optimiser HAProxy sur Centos 7/6/5

Cet article vous explique comment installer, configurer & amp; optimisez HAProxy sur Centos 7/6/5 pour créer un équilibreur de charge hautes performances avec une connexion simultanée maximale de 10000.

HAProxy est un équilibreur de charge TCP / HTTP fiable et hautes performances. Vous pouvez en savoir plus sur HAProxy ici: son site officiel .
La version stable actuelle de HAProxy au moment de la publication de ce message est la 1.9 avec cette documentation officielle .

Installer HAProxy

Pour installer HAProxy, vous pouvez utiliser cette commande:

sudo yum install -y haproxy

Pour démarrer HAProxy:

sudo systemctl start haproxy

Pour arrêter HAProxy:

sudo systemctl stop haproxy

Pour vérifier le statut de HAProxy:

sudo systemctl status haproxy

Pour activer HAProxy s’exécute au démarrage

sudo systemctl enable haproxy

Configurer HAProxy

Notre réseau ressemblera à cela:

user -----> haproxy:9000 -------->backend1 (172.16.10.20:5000)
                         -------->backend2 (192.168.5.19:6000)

Dans cette topologie, HAProxy écoutera les demandes des utilisateurs sur le port 9000; toutes les demandes seront transférées vers deux backends: backend1 (172.16.10.20:5000) et backend2 (192.168.5.19:6000)

Par défaut, le fichier de configuration principal de HAProxy sera à: /etc/haproxy/haproxy.cfg

Nous devons configurer HAProxy pour répondre à nos besoins. Commencez par configurer l’écouteur frontal HAProxy. Modifiez le port d’écoute frontal dans la section principale principale du fichier de configuration comme suit:

---------------------------------------------------------------------
 main frontend which proxys to the backends
 ---------------------------------------------------------------------
 frontend  main *:9000
  acl url_static path_beg -i /static /images /javascript /stylesheets
  acl url_static path_end -i .jpg .gif .png .css .js
  use_backend static if url_static
 default_backend app

Nous devons ensuite modifier nos applications principales:

---------------------------------------------------------------------
 round robin balancing between the various backends
 ---------------------------------------------------------------------
 backend app
     balance     roundrobin
     server   backend1  172.16.10.20:5000 check
     server   backend2  192.168.5.19:6000 check
     #server  app1 127.0.0.1:5001 check
     #server  app2 127.0.0.1:5002 check
     #server  app3 127.0.0.1:5003 check
     #server  app4 127.0.0.1:5004 check

Avant de redémarrer HAProxy, nous devons valider si notre fichier de configuration présente un problème avec cette commande:

 haproxy -c -V -f /etc/haproxy/haproxy.cfg 

dans cette commande:

  • -c: vérifiez
  • -V: détaillé
  • -f: fichier

    Si tout se passe bien, vous verrez une sortie comme ceci:

    Configuration file is valid

    Nous pouvons maintenant enregistrer notre fichier de configuration et redémarrer HAProxy pour appliquer les modifications:

    sudo systemctl restart haproxy

    Vérifier l’état de HAProxy:

    sudo systemctl status haproxy

    Optimiser HAProxy

    Tout d’abord, nous devons activer la vérification de l’état et de la santé des statistiques HAProxy en ajoutant ces lignes à la fin du fichier de configuration principal à l’adresse /etc/haproxy/haproxy.cfg . forte>

    ---------------------------------------------------------------------
     HAProxy Stats at: 171.244.5.195:8088/haproxy?stats
     --------------------------------------------------------------------
     listen  stats   *:8088
             mode            http
             log             global
            maxconn 10     
            timeout client  100s     
            timeout server  100s     
            timeout connect 100s     
            timeout queue   100s     
            stats enable     
            stats hide-version     
            stats refresh 30s     
            stats show-node     
            stats auth admin:config91231passwd    
            stats uri  /haproxy?stats

Comment exécuter scl enable rh-python36 dans crontab Linux

Comme scl enable rh-python36 crée un nouvel environnement virtuel pour Python, vous pouvez utiliser votre environnement Python 3.6 installé, mais cet environnement virtuel ne s’applique pas automatiquement lors de l’exécution dans une crontab.

Donc, pour utiliser Python 3.6 dans Linux crontab, vous devez exécuter vos fichiers python dans un nouvel environnement virtuel activé.

Mon fichier run.sh:

#!/bin/bash
now=`date`
echo "[$now]Running script now ..."
scl enable rh-python36 "cd /opt/wdir/ && pipenv run python main.py" >> /var/log/logrun.txt
echo "[$now]All done now" 

et ma crontab:

* 7 * * * /opt/wdir/run.sh > /var/log/logrun.txt 

Une autre méthode consiste à définir scl directement dans la crontab:

* 7 * * *  scl enable rh-python36 "cd /opt/wdir/ && pipenv run python main.py" > /var/log/logrun.txt 

Plus à propos Linux crontab here.

Happy working!