<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>jmar.fr</title><link>https://jmar.fr/</link><description>Recent content on jmar.fr</description><generator>Hugo</generator><language>fr-FR</language><lastBuildDate>Sat, 04 May 2024 11:40:01 +0200</lastBuildDate><atom:link href="https://jmar.fr/index.xml" rel="self" type="application/rss+xml"/><item><title>Wireguard: Déploiement et routage</title><link>https://jmar.fr/posts/wireguard-deploy-and-routing/</link><pubDate>Tue, 24 Aug 2021 14:13:00 +0200</pubDate><guid>https://jmar.fr/posts/wireguard-deploy-and-routing/</guid><description>Installation L&amp;rsquo;installation est très simple. Il y a beaucoup de sources disponibles sur internet. Perso j&amp;rsquo;ai suivi la doc de https://wiki.archlinux.org/title/WireGuard qui est très complète. L&amp;rsquo;installation et la connexion se révèle très simple et ne pose pas de problème particulier.
Configuration serveur [Interface] ListenPort = 51871 PrivateKey = (hidden) Address = 192.168.10.1/24, fdc9:281f:04d7:9ee9::1/64 [Peer] PublicKey = oENZzrPBIl1fBguDPNAzTEzBZtXh/3i1DoEXTBOg7jI= AllowedIPs = 192.168.10.2/32,fdc9:281f:04d7:9ee9::2/128 Endpoint = [2a01:cb05:83c2:5300:6665:4c49:6699:c6ea]:51871 Configuration côté client [Interface] Address = 192.168.10.2/24, fdc9:281f:04d7:9ee9::2/64 ListenPort = 51871 PrivateKey = (hidden) [Peer] PublicKey = xOUJZ3xPKlZlXxpj7zOxK+7+5vT+Ey8iK38OnN/L8T0= AllowedIPs = 0.</description></item><item><title>PostgreSQL: Trouver des doublons dans une table</title><link>https://jmar.fr/posts/psql-doublons/</link><pubDate>Sat, 23 May 2015 14:13:00 +0200</pubDate><guid>https://jmar.fr/posts/psql-doublons/</guid><description>Dans PostgreSQL, il existe les window functions qui permettent de faire des calculs sur un ensemble d&amp;rsquo;éléments liés aux éléments courants. Dans le cas présent, nous allons demander à PostgreSQL de regrouper les éléments en fonction de la valeur de deux champs.
Jeu de test : CREATE TABLE double (id serial PRIMARY KEY, name text, value int ); INSERT INTO double (name, value) VALUES (&amp;#39;nom1&amp;#39;, 1); INSERT INTO double (name, value) VALUES (&amp;#39;nom1&amp;#39;, 2); INSERT INTO double (name, value) VALUES (&amp;#39;nom1&amp;#39;, 3); INSERT INTO double (name, value) VALUES (&amp;#39;nom2&amp;#39;, 1); INSERT INTO double (name, value) VALUES (&amp;#39;nom2&amp;#39;, 2); INSERT INTO double (name, value) VALUES (&amp;#39;nom2&amp;#39;, 3); INSERT INTO double (name, value) VALUES (&amp;#39;nom3&amp;#39;, 1); INSERT INTO double (name, value) VALUES (&amp;#39;nom1&amp;#39;, 1); INSERT INTO double (name, value) VALUES (&amp;#39;nom1&amp;#39;, 1); Nous allons maintenant rechercher les doublons sur le couple nom, valeur.</description></item><item><title>Mise en place de firewalld</title><link>https://jmar.fr/posts/firewalld/</link><pubDate>Sun, 26 Apr 2015 14:13:00 +0200</pubDate><guid>https://jmar.fr/posts/firewalld/</guid><description>Introduction FirewallD est une surcouche à Iptables installée par défaut sur RedHat 7 et CentOS 7. Contrairement aux anciens modèles de parefeux (system-config-firewall/lokkit), chaque changement nécessitait un redémarrage complet du parefeu. FirewallD récupère les informations sur les règle parefeu active via D-BUS et réalise les changement dynamiquement via celui-ci en utilisant les méthodes d&amp;rsquo;authentification de PolicyKit. FirewallD permet aussi entre autre de créer différentes zones et d&amp;rsquo;y appliquer des règles différentes.</description></item><item><title>Pypi Mirroring</title><link>https://jmar.fr/posts/pypi-mirroring/</link><pubDate>Tue, 12 Aug 2014 14:13:00 +0200</pubDate><guid>https://jmar.fr/posts/pypi-mirroring/</guid><description>Installation d&amp;rsquo;un mirroir Pypi local $ROOTDIR = Répertoire de stockage du projet.
Création d&amp;rsquo;un virtualenv pour héberger le projet virtualenv pypimirror Installation de pypimirror source pypimirror/bin/activate pip install pypimirror Depuis la version 1.0.15, il est demandé d&amp;rsquo;installer BeautifulSoup en version &amp;lt;=3.0.9999 hors ces versions ne sont plus disponibles sur Pypi &amp;hellip; J&amp;rsquo;ai donc installé la 1.0.14.
cd $ROOTDIR/pypimirror wget https://pypi.python.org/packages/source/z/z3c.pypimirror/z3c.pypimirror-1.0.14.tar.gz tar xvzf z3c.pypimirror-1.0.14.tar.gz cd z3c.pypimirror-1.0.14 python setup.py install Création du fichier de configuration.</description></item><item><title>Installation de PostgreSQL via YUM</title><link>https://jmar.fr/posts/pgsql-yum/</link><pubDate>Wed, 14 May 2014 14:13:00 +0200</pubDate><guid>https://jmar.fr/posts/pgsql-yum/</guid><description>Note: Toute cette procédure est applicable pour Centos6
1. Configurer le dépôt officiel rpm -ivh http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-centos93-9.3-1.noarch.rpm 2. Installer les paquets nécessaires yum install postgresql93 postgresql93-server postgresql93-contrib --enablerepo=postgresql93 3. Créer le fichier de paramètres Sous Centos, il est possible de créer un fichier dans /etc/sysconfig/pgsql/. Ce fichier permet de fixer les valeurs par defaut de l&amp;rsquo;instance
/etc/sysconfig/pgsql/postgresql-9.3: PGDATA=&amp;#34;/srv/postgresql/&amp;#34; PGPORT=&amp;#34;5432&amp;#34; PG_INITDB_OPTS=&amp;#34;--locale=en_US.UTF8&amp;#34; 4. Initialisation de l&amp;rsquo;instance /etc/init.d/postgresql-9.3 initdb Ne pas oublier d&amp;rsquo;activer PostgreSQL au démarrage de la machine :</description></item><item><title>Utilisation de Fabric sous Windows</title><link>https://jmar.fr/posts/fabric-windows/</link><pubDate>Sun, 24 Nov 2013 14:20:00 +0200</pubDate><guid>https://jmar.fr/posts/fabric-windows/</guid><description>Prérequis Une version fonctionnelle de python. L&amp;rsquo;installation de Fabric nécessite pycrypto qui est assez compliqué à compiler.
J&amp;rsquo;ai donc préféré chercher des binaires précompilés sur le net pycrypto-2.3.1.win7x64-py2.7x64.7z.
Décompresser l&amp;rsquo;archive à la racine du virtualenv utilisé pour Fabric.
Installation de Fabric pip install fabric</description></item><item><title>Python sous Windows</title><link>https://jmar.fr/posts/python-windows/</link><pubDate>Sun, 24 Nov 2013 14:13:00 +0200</pubDate><guid>https://jmar.fr/posts/python-windows/</guid><description>Installation Pour commencer télécharger l&amp;rsquo;installeur python2.7 sur le site officiel http://python.org/ftp/python/2.7.4/python-2.7.4.msi
Mise en place de setuptool et pip Afin de faciliter l&amp;rsquo;installation des paquets python, il faut installer setuptool et pip. Pour ce faire, la documentation officiel python propose deux scripts qui font tout le travail. ez_setup.py et get-pip.py Une fois les deux scripts téléchargés, il suffit de les lancer .\ez_setup.py .\get-pip.py
Ajouter les entrées suivantes dans le PATH Windows : C:\Python27;C:\Python27\Scripts\</description></item><item><title>Authentification PostgreSQL pour Proftpd</title><link>https://jmar.fr/posts/proftpd-postgresql-auth/</link><pubDate>Mon, 18 Nov 2013 14:13:00 +0200</pubDate><guid>https://jmar.fr/posts/proftpd-postgresql-auth/</guid><description>Préparation de la base PostgreSQL Création de l&amp;rsquo;utilisateur CREATE USER ftp LOGIN ENCRYPTED PASSWORD &amp;#39;sup3rs3cret&amp;#39;; CREATE DATABASE ftpuser OWNER ftp; CREATE TABLE users ( pkid serial PRIMARY KEY, userid text NOT NULL UNIQUE, passwd text, uid int, gid int, homedir text, shell text ); CREATE TABLE groups ( groupname VARCHAR(30) NOT NULL, gid INTEGER NOT NULL, members VARCHAR(255) ); Ajout de l&amp;rsquo;extention pgcrypto pour les mots de passe Nécessiste d&amp;rsquo;avoir le paquet contrib d&amp;rsquo;installé.</description></item><item><title>MySQL Procédures Stockées</title><link>https://jmar.fr/posts/mysql-stored-proc/</link><pubDate>Fri, 02 Aug 2013 17:13:18 +0200</pubDate><guid>https://jmar.fr/posts/mysql-stored-proc/</guid><description>J&amp;rsquo;ai eu besoin, dans le cadre d&amp;rsquo;un projet, de supprimer des lignes sur certaines tables contenant un ID spécifique. Cette manipulation devant se faire régulièrement, une procédure stockée a été créée.
DELIMITER $$ DROP PROCEDURE IF EXISTS DeleteOrphan$$ CREATE PROCEDURE DeleteOrphan(IN hwid INT) BEGIN DECLARE done INT DEFAULT 0; DECLARE var_table VARCHAR(64); DECLARE curseur1 CURSOR FOR SELECT DISTINCT table_name FROM information_schema.tables WHERE table_name LIKE &amp;#39;aaa_%&amp;#39; AND table_schema=&amp;#39;MySchema&amp;#39;; DECLARE CONTINUE HANDLER FOR SQLSTATE &amp;#39;02000&amp;#39; SET done = 1; -- Ouverture du curseur OPEN curseur1; REPEAT -- On récupère chaque élément dans var_table FETCH curseur1 INTO var_table; -- Si done = 0 (donc tant qu&amp;#39;on a pas SQLSTAT 02000 IF done = 0 THEN SET @query = CONCAT(&amp;#39;DELETE FROM &amp;#39;, var_table,&amp;#39; WHERE hardware_id = &amp;#39;, hwid); PREPARE stmt FROM @query; EXECUTE stmt; END IF; UNTIL done -- Done = 1 si on a SQLSTAT 02000 (No data - zero rows fetched, selected, or processed ) END REPEAT; CLOSE curseur1; END$$ DELIMITER ;</description></item><item><title>PostgreSQL - Suppression de tables en fonction du Owner</title><link>https://jmar.fr/posts/pgsql-del-table-with-owner/</link><pubDate>Mon, 16 Jul 2012 17:13:18 +0200</pubDate><guid>https://jmar.fr/posts/pgsql-del-table-with-owner/</guid><description>Suite à une fausse manipulation, j&amp;rsquo;ai importé l&amp;rsquo;ensemble de mes bases de données dans la base template1. Conséquence, toutes les nouvelles bases de données créées le seraient avec le schéma de toutes les autres bases. C&amp;rsquo;est moche ! Le nombre de table étant importantes, j&amp;rsquo;ai donc créé une procédure stockée afin de supprimer rapidement les tables en fonction d&amp;rsquo;un owner passé en paramètre.
Connexion à la base Postgres à nettoyer</description></item><item><title>Serveur Bind en master/slave</title><link>https://jmar.fr/posts/bind-master-slave/</link><pubDate>Sat, 02 Jun 2012 14:13:00 +0200</pubDate><guid>https://jmar.fr/posts/bind-master-slave/</guid><description>Installer bind Installation de bind via l&amp;rsquo;outil de gestion de paquet du système: apt/yum/emerge
apt-get/yum install named emerge -av bind Configuration du Master Génération de la clé de transfert entre NS1 et NS2 /usr/sbin/dnssec-keygen -a HMAC-MD5 -b 512 -r /dev/urandom -n HOST ns2 Fichier /etc/named.conf options { directory &amp;#34;/var/cache/bind&amp;#34;; // If there is a firewall between you and nameservers you want // to talk to, you may need to fix the firewall to allow multiple // ports to talk.</description></item><item><title>Migration BDD Zabbix de MySQL vers PostgreSQL</title><link>https://jmar.fr/posts/migration-db-zbx-mysql-pgsql/</link><pubDate>Sun, 15 Apr 2012 14:13:00 +0200</pubDate><guid>https://jmar.fr/posts/migration-db-zbx-mysql-pgsql/</guid><description>Création de la base sous PostgreSQL CREATE ROLE zabbix PASSWORD &amp;#39;pass&amp;#39; LOGIN; CREATE DATABASE zabbix OWNER zabbix Import du schéma Zabbix psql -U zabbix zabbix &amp;lt; /usr/share/zabbix/database/create/postgresql.sql Export des datas MySQL dans un format compatible avec PostgreSQL mysqldump --compact -c -e -n -t --compatitable=postgresql zabbix &amp;gt; zabbix_mysql.sql Echapement des apostrophes en trop sed &amp;#34;s/\\\&amp;#39;/\&amp;#39;\&amp;#39;/g&amp;#34; zabbix_mysql.sql &amp;gt; zabbix_pg.sql Import des données dans PostgreSQL psql -U zabbix zabbix &amp;lt; zabbix_pg.sql</description></item><item><title>Installation de Nginx sur Gentoo</title><link>https://jmar.fr/posts/nginx-gentoo/</link><pubDate>Mon, 27 Feb 2012 17:13:18 +0200</pubDate><guid>https://jmar.fr/posts/nginx-gentoo/</guid><description>Installation de Nginx Nginx est un concurent d&amp;rsquo;apache qui est beaucoup plus performant que ce dernier. http://www.first-world.info/apache-vs-lighttpd-vs-nginx.html Voici comment installer Nginx sous Gentoo &amp;hellip;
Compilation de Nginx # Installation de vim-syntax avec nginx :-) echo &amp;#34;www-server/nginx vim-syntax&amp;#34; &amp;gt; /etc/portage/package.use/nginx emerge -av nginx Compilation de PHP # N&amp;#39;ayant pas de module dav pour nginx, apache s&amp;#39;en occupera echo &amp;#34;dev-lang/php fpm gd mysql zip apache2&amp;#34; &amp;gt; /etc/portage/package.use/php # Options de compilation pour gd echo &amp;#34;media-libs/gd png&amp;#34; &amp;gt; /etc/portage/package.</description></item><item><title>Installation de PostgreSQL à partir des sources</title><link>https://jmar.fr/posts/postgresql-install-from-sources/</link><pubDate>Mon, 27 Feb 2012 16:13:18 +0200</pubDate><guid>https://jmar.fr/posts/postgresql-install-from-sources/</guid><description>Récupération des sources wget http://ftp.postgresql.org/pub/source/v9.1.2/postgresql-9.1.2.tar.gz tar xvzf postgresql-9.1.2.tar.gz Compilation des sources cd postgresql-9.1.2 ./configure --prefix=/opt/postgresql-9.1.2 make -j2 &amp;amp;&amp;amp; make install Initialisation de la base useradd -d /home/databases/postgresql postgres mkdir -p /home/databases/postgresql chown postgres: -R /home/databases/postgresql su - postgres /opt/postgresql-9.1.2/bin/initdb -D /home/databases/postgresql-9.1.2 /opt/postgersql-9.1.2/bin/pg_ctl -D /home/databases/postgresql-9.1.2 start Voila un postgresql installé et démarré. Un prochain article détaillera une configuration un peu plus optimisée.</description></item><item><title>Installation de Gentoo sur Dedibox SC</title><link>https://jmar.fr/posts/gentoo-dedibox/</link><pubDate>Sun, 26 Feb 2012 16:13:18 +0200</pubDate><guid>https://jmar.fr/posts/gentoo-dedibox/</guid><description>Me voila heureux possesseur d&amp;rsquo;une Dédibox SC. Mais la liste des OS disponibles dans la console d&amp;rsquo;installation ne me conviens pas du tout. J&amp;rsquo;ai donc décidé d&amp;rsquo;installer mon OS préféré, une gentoo.
Etape 1: Booter en mode rescue Cette étape permet d&amp;rsquo;avoir accès au système car de base le serveur est fourni dans OS.
Etape 2: Préparer les partitions Nous allons préparer les partitions afin d&amp;rsquo;installer le système. L&amp;rsquo;utilitaire fdisk est notre meilleur ami !</description></item></channel></rss>