À la une de SQLPAC

InfluxDB v2, prise en main. Préparation de la migration de la version 1.7

February 17, 2020
influxdbLa migration vers InfluxDB v2 nécessite des ajustements, de nombreuses fonctionnalités d'InfluxDB v1 sont remplacées dans la version 2. La procédure de migration des versions 1.x vers la version 2 n'est pas encore dévoilée, mais très probablement elle préconisera des méthodes d'export/import. La terminologie change quelque peu avec la version 2 : une base de données devient un bucket et une organisation est obligatoirement attachée à un bucket. Rien ne change en revanche pour le protocole Ligne InfluxDB. Une prise en main d'un serveur InfluxDB Server v2 est abordée dans cet article ainsi que les ruptures à prévoir lors des migrations des versions 1.x : - InfluQL est remplacé par le langage Flux, les Continuous queries par les Tasks. - Le support natif des protocoles Graphite, OpenTSDB... est supprimé, Telegraf devra être mis en place. - Le plugin Flux pour Grafana n'est pas tout à fait prêt. InfluxDB v2, prise en main. Préparation de la migration de la version 1.7

Protéger le port SSH sur Ubuntu avec Fail2ban - Installation et configuration

February 10, 2020
ubuntuSur les serveurs Ubuntu, ufw (Uncomplicated Firewall) est un bon outil pour appliquer des règles de parefeu sur les ports sans avoir à utiliser les commandes iptables qui sont assez difficiles, mais ce n'est pas suffisant pour protéger le port 22 des services SSH. Fail2Ban est l'outil complémentaire à ufw afin de protéger un système Ubuntu des attaques sur SSH. Fail2Ban est un package Python qui interagit comme ufw avec iptables et il peut être installé dans un environnement virtuel Python, c'est la cas dans cet article. Protéger le port SSH sur Ubuntu avec Fail2ban - Installation et configuration

Architecture, installation et utilisation d'une base de données Time Series InfluxDB 1.7

February 7, 2020
influxdbInfluxDB est une base de données Time Series performante proposant une compression de données efficace. L'architecture est simple et bien conçue (rétentions des mesures, fragments...) et l'ingestion des données facile à mettre en place, en natif ou via des protocoles Time Series standards (OpenTSDB, Graphite ...). Les requêtes sont de type SQL et le reporting est intuitif avec Grafana ou Chronograf. Cette présentation d'InfluxDB v 1.7 souligne également les ruptures à prévoir avec la prochaine version majeure 2.0. Architecture, installation et utilisation d'une base de données Time Series InfluxDB 1.7

Python - Comprendre et démystifier virtualenv

January 24, 2020
pythonAvec Python, lors de l'installation d'un produit, beaucoup de dépendances peuvent être aussi installées. Il devient fastidieux de gérer la pollution de la distribution globale Python: dépendances, conflits de versions de packages, binaires ... Les packages utilisés par la plupart des utilisateurs peuvent être installés dans la distribution système et les packages nécessaires à un seul utilisateur/produit dans un environnement virtuel avec virtualenv. Comment créer et utiliser des environnements virtuels avec virtualenv ? Comment les packages et versions sont gérés dans les distributions virtuelles et système ? C'est le sujet de cet article. Python - Comprendre et démystifier virtualenv

Procédures planifiées de bascules Failover - Failback avec la réplication en continu PostgreSQL (streaming replication)

January 6, 2020
postgresqlDe nombreux articles traitent de la promotion d'un serveur de secours PostgreSQL en serveur principal avec la commande pg_ctl promote. Beaucoup d'entre eux concluent que le serveur de secours doit être reconstruit lorsque le serveur principal est de retour. Qu'en est-il d'une maintenance programmée, maintenance incluant des arrêts, sur le serveur primaire ? Doit-on reconstruire le système primaire/standby ? Évidemment la réponse est : NON. En supposant qu'il y a suffisamment d'espace disque pour conserver les fichiers WAL pendant la tâche de maintenance, en gérant prudemment le point de réplication (replication slot) et l'option de récupération recovery_timeline_target durant les procédures failover/failback, il n'y a pas besoin de reconstruire le système standby impliquant des sauvegardes/restaurations de bases de données et/ou d'utiliser pg_rewind. Procédures planifiées de bascules Failover - Failback avec la réplication en continu PostgreSQL (streaming replication)

Réplication en continu avec PostgreSQL 9.6, 10 et 11 (Streaming replication) - Bases de données PostgreSQL Standby

November 22, 2019
postgresqlLa mise en route de la réplication en continu (streaming replication) avec PostgreSQL 9.6 sur des serveurs Linux Ubuntu 18.04 est très simple. Dans la réplication en continu, le serveur de standby se connecte au serveur primaire, lequel diffuse les enregistrements WAL (Write Ahead Log) au serveur de standby au fur et à mesure qu'ils sont générés, sans attendre que le fichier WAL soit rempli. La réplication en continu permet à un serveur de standby de rester plus à jour que ce qui est possible avec le transfert des journaux. Le serveur de standby peut être en lecture seule (read only) pour le reporting par exemple. Un point de replication (replication slot) garantit que les fichiers WAL nécessaires au serveur de standby ne sont pas supprimés dans le serveur primaire avant leur traitement par le serveur de standby. Plusieurs points de réplication peuvent être définis en fonction du nombre de serveurs standby. Réplication en continu avec PostgreSQL 9.6, 10 et 11 (Streaming replication) - Bases de données PostgreSQL Standby

Installation rapide de PostgreSQL 9.6 - Ubuntu 18.04

September 30, 2019
postgresqlUne instance PostgreSQL 9.6 est initiée ici sur Ubuntu 18.04 avec normalisation et personnalisation (port, répertoires des fichiers de configuration et de bases de données...). Un guide rapide pour créér une base PostgreSQL et gérer cette dernière avec pg_ctl (démarrage, arrêt, redémarrage...) Installation rapide de PostgreSQL 9.6 - Ubuntu 18.04

Microsoft SQL Server 2016, usages de dbcc clonedatabase

June 1, 2019
mssqlUne nouvelle fonctionnalité a été introduite avec SQL Server 2012 : dbcc clonedatabase. Cette nouveauté a été améliorée depuis SQL Server 2016 (objets supportés). Comment cela fonctionne et quel est le but de cette nouvelle fonctionnalité ? dbcc clonedatabase est très utile pour diagnostiquer l'impact du niveau de compatibilité (compatibility level) sur les requêtes dans un environnement de production avec des statistiques temps réel sans modifier directement et immédiatement le niveau de compatibilité de la base de données source, modification qui peut générer des effets de bord et qui doit être menée prudemment. Cette commande s'avère bien pratique aussi pour dupliquer une base de données avec uniquement les objets. Microsoft SQL Server 2016, usages de dbcc clonedatabase

Configuration SSL des connexions avec SQL Server 2019 sur Linux

June 1, 2019
mssqlModifier le port de SQL Server installé dans une zone WAN/DMZ n'est pas suffisant d'un point de vue sécurité, cela diminue les attaques potentielles mais n'empêche pas des outils de "snif" de lire les paquets TCP. Comment encrypter les paquets avec SSL / TLS 1.2 pour SQL Server sous Linux. Les étapes sont faciles avec openssl et l'utilitaire mssql-conf. L'encryption est initiée et forcée par le serveur SQL Server avec un certificat auto-signé (self-signed certificate). Configuration SSL des connexions avec SQL Server 2019 sur Linux

Modification du port de SQL Server 2019 sur Linux et utilisation des alias SQL Server sur les machines clientes

June 1, 2019
mssqlMicrosoft SQL Server installé dans une zone WAN/DMZ et utilisant son port par défaut 1433 est vulnérable aux attaques. Dans cet article, le port de SQL Server 2019, installé sur Linux Ubuntu, est modifié avec l'utilitaire mssql-conf. Le déploiement (automatisé) d'alias SQL Server sur les machines clientes lors du changement du port du serveur réduit considérablement les impacts négatifs. Modification du port de SQL Server 2019 sur Linux et utilisation des alias SQL Server sur les machines clientes

Dépanner un problème de démarrage de SQL Server 2019 sur Ubuntu lié à une erreur d'action avec root

May 31, 2019
mssqlTOUJOURS démarrer le moteur SQL Server sur Linux avec le compte mssql. NE JAMAIS EXÉCUTER directement le binaire sqlservr en tant que root. En effet, le moteur ne peut pas alors être ensuite redémarré normalement avec le compte mssql. Le diagnostic n'est pas aussi simple qu'à l'accoutumée dans ce genre de problème, des permissions sont altérées pour des fichiers systèmes binaires cachés de SQL Server (security.hiv,...). Dépanner un problème de démarrage de SQL Server 2019 sur Ubuntu lié à une erreur d'action avec root

Gestion du service SQL Server 2019 sur Ubuntu avec systemctl

May 31, 2019
mssqlDans l'architecture par défaut, SQL Server 2019 s'exécute avec le compte mssql. Lors de l'arrêt/démarrage/redémarrage du service mssql-server avec systemctl, le mot de passe est demandé. On souhaite autoriser mssql à gérer son propre service sans invites de saisie du mot de passe. 2 solutions sont possibles : définir mssql-server en tant que service utilisateur du compte mssql ou donner les droits avec aucun mot de passe sur le service système mssql-server au user mssql via sudo. Gestion du service SQL Server 2019 sur Ubuntu avec systemctl

Microsoft SQL Server 2019 sur Ubuntu - Agent SQL Server

May 31, 2019
mssqlEt l'agent SQL Server sur Linux ? Oui il est présent, MAIS... Si la configuration et l'activation de l'agent SQL Server sont très simples avec mssql-conf, contrôler celui-ci l'est en revanche beaucoup moins. Sur Linux, l'agent SQL Server n'est pas associé à un service dédié comme sur Windows avec des conséquences non négligeables. Microsoft SQL Server 2019 sur Ubuntu - Agent SQL Server

Installation et configuration de Microsoft SQL Server 2019 sur Linux Ubuntu 18.04

May 29, 2019
mssqlQui l'eût cru en 2009, 10 ans plus tôt, Microsoft SQL Server 2019 sur les plateformes Linux ! Dans cet article, une instance SQL Server 2019 est installée et configurée avec mssql-conf sur Ubuntu 18.04. Comme la majorité des entreprises implémentent des parefeux pour empêcher les serveurs de communiquer avec l'extérieur, les installations sont faites en mode hors ligne (offline) avec les packages *.deb fournis par Microsoft. Les fichiers de bases de données ne sont pas créés dans le répertoire par défaut. Après l'installation, 2 premiers tests sont réalisés : restauration sur SQL Server 2019 / Linux d'une base de données à partir de sa sauvegarde SQL Server 2016 / Windows et export/import d'une table avec bcp en mode natif de SQL Server 2016 / Windows vers SQL Server 2019 / Linux. Ces 2 tests montreront s'il est facile ou non, dans ce contexte cross-plateformes, de migrer des bases de données de SQL Server 2016 sous Windows vers SQL Server 2019 sous Linux. Installation et configuration de Microsoft SQL Server 2019 sur Linux Ubuntu 18.04

Ubuntu, sécurisation des accès SSH avec le port d'écoute et ufw (Uncomplicated Firewall)

May 28, 2019
ubuntuLes trois premières étapes à réaliser pour sécuriser son nouveau serveur Ubuntu, dans le cloud ou pas : - Modifier le port par défaut pour les connexions SSH. - Désactiver les accès directs en SSH avec le compte root. - Activer le parefeu ufw (Ubuntu Uncomplicated Firewall) en autorisant les connexions entrantes SSH. Cet article se concentre sur comment pour la première fois activer ufw en toute sécurité en autorisant les connexions SSH avec SSH s'exécutant sur un port différent de celui par défaut. Dans de nombreux articles, le lecteur est averti d'être prudent lors de l'activation d'ufw mais sans mentionner la commande ufw show added, cette commande garantissant qu'il n'y a pas d'erreur humaine avant l'activation d'ufw, erreur humaine qui peut couper les connexions SSH existantes sans possibilité d'en établir de nouvelles autrement qu'en contactant le fournisseur (cloud) ou en accèdant physiquement au serveur. Ubuntu, sécurisation des accès SSH avec le port d'écoute et ufw (Uncomplicated Firewall)

Installation et utilisation de Komodo Edit avec Ubuntu 18.04

May 27, 2019
ubuntuPour coder, vim est un excellent outil sur les systèmes Linux, mais quand on est habitué à utiliser sur Windows l'outil Active State Komodo Edit notamment pour ses fonctionnalités de définitions de projets, workspaces... on peut vouloir exécuter Komodo Edit sur Ubuntu et transférer l'interface graphique sur son client Windows 10. Active State Komodo Edit peut être installé et exécuté sur un système Ubuntu et l'interface graphique transféré vers un client Windows 10 grâce au "X11 forwarding". Les prérequis et l'installation sont assez simples. Installation et utilisation de Komodo Edit avec Ubuntu 18.04

Ubuntu, afficher des fenêtres serveur X vers des hôtes clients Windows 10 avec Putty et XMing Server

May 24, 2019
ubuntuLorsque les bureaux graphiques ne sont pas installés sur un serveur Ubuntu, les interfaces graphiques sont cependant parfois nécessaires et doivent être transmises et affichées sur les machines clientes. Parmi ces raisons, on peut citer : - Les programmes d'installation assez complexes (Oracle...), la version graphique étant souvent préférée aux installations en mode console et/ou installations silencieuses. - Exécuter Android studio sur le serveur Ubuntu, plus puissant, plutôt que sur la machine cliente qui ne possède pas les pré-requis matériels (mémoire, CPU...) nécessaires à son installation. Très peu d'étapes sont nécessaires sur Ubuntu 18.04 et le client Windows 10 pour la mise en œuvre de cette mécanique. Ubuntu, afficher des fenêtres serveur X vers des hôtes clients Windows 10 avec Putty et XMing Server

Migration d'un site web de HTTP vers HTTPS (SSL)

April 12, 2019
apacheSi il n'y avait jusqu'à maintenant aucune justification pour migrer un site Web du protocole HTTP vers le protocole sécurisé HTTPS avec SSL (Secure Socket Layer), ce n'est désormais plus le cas. Même si un site web ne délivre que du contenu (pas de e-commerce, de sessions etc...), Google et son moteur de recherche adoptent désormais la position du "HTTPS everywhere by default !". Les conséquences peuvent être très pénalisantes sur l'indexation d'un site en demeurant avec le protocole HTTP. La migration d'un site est abordée ici sous divers aspects : l'environnement de développement en local avec HTTPS/SSL, les outils de développement pour détecter et corriger les "Mixed Content", les redirections des adresses HTTP vers les adresses HTTPS ainsi que la "check list" des actions à mener après la migration (Google Analytics, Google Search Console, sitemaps, liens canoniques...). Migration d'un site web de HTTP vers HTTPS (SSL)

Apache 2.4. Virtual hosts sous Windows en HTTPS / SSL avec des certificats auto signés. Création et automatisation par macro

April 11, 2019
apacheC'est à présent incontournable, bien au delà des gains en performances possibles et des nouvelles fonctionnalités avec le protocole HTTP 2, exploitable uniquement en HTTPS/SSL (Secure Socket Layer), Google l'a annoncé : HTTPS Everywhere ! Les robots de Google, Google Analytics... délaisseront petit à petit les sites Web qui tournent encore avec le protocole non sécurisé HTTP. Comment simuler la mécanique HTTPS / SSL avec certificats en local sur son PC pour ses domaines virtuels afin de réaliser la migration ? Avec OpenSSL (Open Secure Socket Layer) et les certificats auto-signés (self signed certificates). Le module des macros d'Apache 2.4 apporte une souplesse appréciable pour automatiser la définition de ses hôtes virtuels en HTTPS/SSL. Et c'est parti pour le debug et la chasse au "Mixed Content" grâce aux outils de développement des navigateurs afin de finaliser le 100% HTTPS /SSL de son site. Apache 2.4. Virtual hosts sous Windows en HTTPS / SSL avec des certificats auto signés. Création et automatisation par macro

Apache 2.4 / PHP, création et automatisation des virtual hosts avec le module des macros (mod_macro)

April 9, 2019
apachePour administrer les serveurs Apache version 2.2, des scripts shell, awk... ont été d'un grand secours pour générer les fichiers de configurations nécessaires à la définition de multiples hôtes virtuels (virtual hosts...). Avec Apache 2.4 et son nouveau module mod_macro, les virtual hosts peuvent être définis de façon bien plus industrielle d'un point de vue administration. Dans cet article, 3 hôtes virtuels sont définis par macro et pour chacun d'eux la version de PHP diffère. Apache 2.4 / PHP, création et automatisation des virtual hosts avec le module des macros (mod_macro)