Générer un certificat TLS wildcard avec Certbot

On ajoute le dĂ©pĂŽt pour certbot : add-apt-repository -y ppa:certbot/certbot apt update apt install certbot On crĂ©Ă© un token sur l’api OVH : https://api.ovh.com/createToken/ GET /domain/zone/* PUT /domain/zone/* POST /domain/zone/* DELETE /domain/zone/* On renseigne les variables dans un fichier (ex: ovh.ini) avec des droits en 600 # OVH API credentials used by Certbot dns_ovh_endpoint = ovh-eu dns_ovh_application_key = xxxxxxxxxxxxx dns_ovh_application_secret = xxxxxxxxxxxxxx dns_ovh_consumer_key = xxxxxxxxxx On gĂ©nĂšre le certificat en suivant les Ă©tapes : certbot certonly --dns-ovh --dns-ovh-credentials /etc/ovh.ini --dns-ovh-propagation-seconds 60 -d *.eckmul.net -d eckmul.net ou on peut gĂ©nĂ©rer son certificat sans API et renseigner les clĂ©s manuellement en suivant les Ă©tapes de la commande : certbot -d eckmul.net -d *.eckmul.net --server https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns certonly

7 dĂ©cembre 2018 Â· 1 min

Copier une table de partition

Avec MBR sfdisk -d /dev/sda | sfdisk /dev/sdb Avec GPT sgdisk -R /dev/sdb /dev/sda En ayant marqué le label avec parted en GPT pour pour le disque /dev/sdb ps : apt install gdisk

12 novembre 2018 Â· 1 min

RĂ©duction d'un tablespace MySQL

Au cour de la vie d’une base de donnĂ©es, les tablespaces Ă©voluent en taille. Si on a un seul tablespace pour l’ensemble des bases et des tables celui-ci ne se rĂ©duit jamais aprĂšs des suppressions. Pour remettre MySQL au propre, on peut faire l’opĂ©ration suivante et ainsi gagner de l’espace (et limiter la fragmentation). Dump individuel de toutes les bases de donnĂ©es sauf mysql et performance mysqldump ... Suppression des bases ...

2 janvier 2018 Â· 1 min

Benchmark avec curl

curl -s -w @stats.curl -o /dev/null https://www.google.fr Avec le fichier stats.curl contenant : url_effective : %{url_effective}\n content_type : %{content_type}\n filename_effective: %{filename_effective}\n ftp_entry_path : %{ftp_entry_path}\n http_code : %{http_code}\n http_connect : %{http_connect}\n http_version : %{http_version}\n local_ip : %{local_ip}\n local_port : %{local_port}\n remote_ip : %{remote_ip}\n remote_port : %{remote_port}\n scheme : %{scheme}\n num_connects : %{num_connects}\n num_redirects : %{num_redirects}\n redirect_url : %{redirect_url}\n size_download : %{size_download}\n size_header : %{size_header}\n size_request : %{size_request}\n size_upload : %{size_upload}\n ssl_verify_result : %{ssl_verify_result}\n time_namelookup : %{time_namelookup}\n time_connect : %{time_connect}\n time_appconnect : %{time_appconnect}\n time_pretransfer : %{time_pretransfer}\n time_redirect : %{time_redirect}\n time_starttransfer: %{time_starttransfer}\n time_total : %{time_total}\n speed_download : %{speed_download}\n speed_upload : %{speed_upload}\n Sortie : ...

3 octobre 2017 Â· 1 min

Don't forget systemd

Edition d’override La mĂ©thode propre: systemctl edit <service> ... systemctl daemon-reload

3 octobre 2017 Â· 1 min

upnpc

En ligne de commande, il existe miniupnpc. Pour ouvrir rediriger le port 22 extĂ©rieur de la box vers le port 22 de l’ordinateur sur lequel est lancĂ© la commande : upnpc -r 22 TCP Pour lister les redirections de ports: upnpc -l Pour supprimer la redirection du port 22: upnpc -d 22 TCP Vous pouvez mĂȘme demander au routeur votre IP publique externe: upnpc -s | grep ExternalIPAddress | cut -c21-

8 avril 2017 Â· 1 min

httpstat

Simple Ă  installer : pip3 install httpstat Puis : httpstat www.eckmul.net et maintenant on sait ce qui cloche sur les temps de rĂ©ponses d’un site web. HTTP/1.1 200 OK Date: Thu, 23 Mar 2017 14:26:21 GMT Server: Apache Last-Modified: Thu, 23 Mar 2017 14:24:59 GMT ETag: "32fa-54b66a45258f3" Accept-Ranges: bytes Content-Length: 13050 Vary: Accept-Encoding Cache-Control: max-age=2592000 Expires: Sat, 22 Apr 2017 14:26:21 GMT Content-Type: text/html Body stored in: /tmp/tmpK7zmDI DNS Lookup TCP Connection Server Processing Content Transfer [ 12ms | 7ms | 9ms | 1ms ] | | | | namelookup:12ms | | | connect:19ms | | starttransfer:28ms | total:29ms

23 mars 2017 Â· 1 min

DĂ©sactiver les queries cache et subqueries

Lorsque l’on dĂ©sactive le query_cache, les sous requĂȘtes ne le sont pas. Mettre : set global query_cache_type=0; set global optimizer_switch="subquery_cache=off";

11 mars 2017 Â· 1 min

Optimisation de configuration MariaDB / MySQL

Voici une configuration qui fonctionne sur un site Ă  fort trafic. !!! note À adapter Ă  la taille de la base et au trafic utilisateurs. On dĂ©sactive le cache de requĂȘtes. L’invalidation de ce cache est coĂ»teuse et vĂ©rrouille tout le cache pendant sa mise Ă  jours. set global query_cache_type=0; set global optimizer_switch="subquery_cache=off"; On dĂ©fini par exemple : # si la db fait 20Go innodb_buffer_pool_size = 20Go innodb_buffer_pool_instances = 20 # threads innodb simultanĂ©s : 2 x nb de CPU + nb de disques innodb_thread_concurrency = 86 # vĂ©rifier la frĂ©quence de fork de Mariadb/MySQL et les pics de nb de threads thread_cache = 128 # on vĂ©rifie la frĂ©quence d'accĂšs aux tables table_cache = 2048 # on active les log des requĂȘtes lentes : slow_query_log = 1 # on remonte les requĂȘtes lentes au delĂ  de la seconde long_query_time = 1 slow_launch_time = 1 Explications Dimensionner correctement innodb_buffer_pool permet de garder les donnĂ©es en mĂ©moire aprĂšs leur lecture. La limitation de innodb_thread_concurrency Ă©vite les fork bombs lorsque des requĂȘtes sont bloquĂ©es. Le thread_cache permet d’éviter la crĂ©ation et la suppression de threads lors d’un trafic normal.

10 mars 2017 Â· 1 min

Remplacer dans MySQL/MariaDB un regex dans une colonne

Un petit tips rapide. Afin de remplacer une chaüne de caractùres d’une colonne par une autre. UPDATE table SET nom_colonne = REPLACE(nom_colonne, 'ancien texte', 'texte de remplacement') 😀

10 mars 2017 Â· 1 min