vendredi 14 octobre 2016

Accéder à son serveur mysql distant en java

Tout n'est pas cousu d'avance

Quand on veut accéder depuis une application écrite en java à un serveur mysql situé sur un autre ordinateur, il va falloir faire attention à quelques détails indispensables :

  • vérifier le pare feu de chaque machine !
  • autoriser la connexion du serveur java sur le serveur mysql dans /etc/hosts.allow
  • autoriser vos utilisateurs à se connecter sur le serveur mysql depuis la machine java dans la table mysql.user
  • si vous utilisez ssh pour cette connexion, configurez correctement votre serveur de clés d'authentification

Je ne décrirai pas le dernier point car c'est (encore) hors de ma compétence. Mais je vais détailler les autres points. Tout est à réaliser avec les droits root !

pare-feu

configuration du pare-feu sur le serveur java
iptables -A INPUT -s 192.168.0.42/24 -m state --state NEW -p tcp --dport 22 -j ACCEPT
iptables save

connexion tcp/ip

Éventuellement, il faudra modifier /etc/hosts.allow sur le serveur mysql en ajoutant une ligne comme :

ligne à ajouter dans /etc/hosts.allow
mysqld: ALL : ACCEPT

Ensuite il faut modifier /etc/mysql/my.cnf sur le serveur mysql pour autoriser la connexion depuis une autre machine. Pour cela il faut mettre en commentaire la directive skip-networking, mais dans un serveur récent, elle n'est plus utilisée. À la place on a bind-address = 127.0.0.1 et en fait on va créer ou modifier bind-address pour y mettre l'adresse du serveur java (ici, 192.168.0.42), ou bien 0.0.0.0 si on veut autoriser tous les serveurs :

modification de bind-address dans /etc/mysql/my.cnf
bind-address = 192.168.0.42

utilisateurs mysql

Créez ou modifiez votre utilisateur avec "%" dans le champ Host de la table user de la base de données nommée mysql . On peut réduire la portée en mettant 192.168.0.% à la place de % par exemple, ou encore avec l'adresse IP du seul serveur depuis lequel la connexion est autorisée.

Attention avec phpmyadmin

Si vous avez mis une portée de Host comme 192.168.0.% par exemple, alors vous ne pourrez plus vous connecter avec cet utilisateur avec phpmyadmin. Si ça vous ennuie, il faudra créer un autre profil de l'utilisateur avec localhost comme valorisation du champ Host et le doter des mêmes privilèges. Le code ci-après montre comment créer les deux pour un utilisateur connext.

commandes sql pour avoir la connexion distante restreinte et la connexion mysql
flush privileges;
create user 'connext'@'localhost' identified by 'password';
create user 'connext'@'192.168.0.%' identified by 'password';
grant create, drop, delete, insert, select, update, alter, index on *.* to 'connext'@'localhost';
grant create, drop, delete, insert, select, update, alter, index on *.* to 'connext'@'192.168.0.%';
flush privileges;

Avec une portée comme %, vous pouvez aussi vous connecter via phpmyadmin car % inclut localhost.

jeudi 28 janvier 2016

la trahison

« Oncques ne vit telle perfidie commise, ma foi, je vous le dis ! Hier, au soir quand était venu le temps de consigner par écrit les faits édifiants de la journée, notre serviteur fidèle, féal entre tous, nous laissa choir et nous fûmes fort dépourvus, abandonnés en rase campagne et sans moyen de communication !

Lors, nous fîmes écarteler le renégat pour en faire un exemple, et nous ordonnions de prélever les viscères les plus nobles, le cerveau, et les plus viles, l'estomac et les tripes, pour les faire porter au médecin qu'il s'en enquisse et nous pût dire ce qu'il en échoit. Cela faisait aussi un exemple et montrait à tous que la traîtrise était impitoyablement châtiée !

supplice de l'écartélement infligé à Saint Hippolyte (source wikiédia)

L'homme de l'art se mit prestement au labeur. Il s'enquit d'abord du cerveau. Il ne pouvait en percevoir le fonctionnement mais il savait comment y était sa mémoire des faits et gestes. Il la tourmenta fort et en toute extension possible, et son jugement tomba : cette mémoire là n'était point corrompue et témoignait assurément que les actes du triste sire n'était point de son plein gré. Une magie noire était à craindre !

Les viscères furent confiées à un chirurgien pour examen. Il se disait que l'homme faisait déterrer des cadavres pour les soumettre à son scalpel. C'était là racontars, mais ils avaient convaincu notre personne que ce quidam était celui qu'il nous fallait. Le praticien examina comme il convenait l'estomac et les organes associés en dehors de notre présence mais sa conclusion était formelle : ces organes-là étaient sains et nul esprit vicié n'y résidait, nulle lésion n'y était détectable et rien de suspect ne s'étaient présenté ni à ses yeux, ni à ses doigts, ni à son nez.

Le bougre semblait avoir été honnête ! Voilà qui était extraordinaire. La perspective d'une erreur judiciaire monumentale ne nous effraie guère d'habitude plus que de raison d’État mais cette fois-ci le sentiment de trahison vis à vis de son fidèle serviteur s'y mêlait, et nous ne pouvions pas nous en laver les mains comme cela.

Aussi fîmes nous mander nos alchimistes, car le remède à tout ceci semblait ne pouvoir procéder que de leurs talents. Il y avait même parmi eux certains qu'on disait nécromanciens. Ces docteurs réunis ne tardèrent pas à tenir colloque à huis clos. La conversation dût aller bon train. Ils nous demandèrent de faire mander notre barbier. L'homme a, me dirent-ils, toute ma confiance et et d'une habileté exceptionnelle. Il est rompu à la petite chirurgie réparatrice et sait assez satisfaire sa clientèle. Il diffère en cela des chirurgiens qui savent mieux découdre que recoudre, et qui ont une trop haute opinion d'eux-mêmes pour la besogne qu'ils lui réservent !

En effet, il nous fut affirmé que la résurrection de notre serviteur était tout à fait envisageable pourvu qu'on sache en réparer les chairs comme si jamais il n'avait été démembré et autrement mis en pièces. C'est là le miracle que l'on attendait de notre barbier ! Habile et tenace, habitué à recoudre les blessures, notre précieux auxiliaire fut affairé et zélé et en quelques heures, le pauvre serviteur fut reconstitué d'une façon admirable. Certes, les coutures étaient là, nombreuses, mais les chaires étaient aussi bien contiguës qu'il se pouvait rêver qu'elles le soient, et tout cela était diantrement prometteur.

Le chef des alchimiste fit récupérer le corps, et il faut procédé à la cérémonie secrète de nécromancie à laquelle nous n'avons point été invité et dont nous ne savons rien que le résultat qu'elle produisit. Mais quel résultat !

Non seulement notre fidèle homme de confiance était revenu d'entre les morts, mais il en était revenu sans aucune cicatrise ni aucune contusion ni rien d'autres de ce qu'on pouvait encore voir sur le corps que le barbier avait su reconstituer, comme si jamais rien de funeste ne lui était arrivé. Nous ne savons guère quelle magie a opéré, mais elle et trop prodigieuse pour que nous songions à chercher querelle religieuse aux hommes de l'Art capable d'une telle prouesse. Trop ravi, nous avons ordonné à notre ressuscité comme à l'accoutumé. Et pour notre conscience et l'expression de notre reconnaissance au-delà des espèces sonnantes et trébuchantes que nous avions déjà distribué aux acteurs de ce haut fait, nous avons fait donation à notre sainte mère l’Église pour que soit dite à perpétuité une messe quotidienne d'action de grâce en l'honneur de tous les Saints, car il est sûrement indéniable qu'ils faille tous les remercier de leur intercession auprès du Seigneur, car ces choses-là ne peuvent autrement s'expliquer. »


Voilà certes une bien étrange façon pour un homme du vingt et unième siècle de décrire comment son ordinateur si efficace et si docile depuis de nombreuses années l'a soudain accueilli par une incapacité à démarrer. Seulement l'écran avec le logo du constructeur, pas de chargement de grub le chargeur d'amorçage, pas de possibilité d'entrer dans le setup du bios ou dans l'écran de choix du périphérique de démarrage ou même de faire une remise à zéro avec le célèbre control-alt-del. Rien d'autre que ce logo. Et aussi pour dire que ce qui fut fait fut de démonter la machine, un nettop qui a dû perdre presque toutes ses vis pour donner accès aux seuls composants accessibles et impliqués ; la barrette de mémoire et le disque SSD. Car si eux étaient testés en état de marche, si en remontant la machine le diagnostic était confirmé, ce serait à coup sûr que la carte mère ou le processeur était en faute et il aurait fallu se procurer une autre machine en remplacement. Le test de la mémoire sur une tierce machine révéla une mémoire sans aucune erreur. Le disque SSD fut capable de lancer très correctement son linux sur un autre ordinateur. Il fut donc procédé au remontage, et là tout marcha du premier coup ! Sans doute la barrette de mémoire avait-elle était un peu déplacée de son emplacement, un faux contact aboutissant au diagnostic. Rien n'avait été fait d'autre et maintenant tout marchait comme avant. Juste un peu de temps de perdu et ce n'était pas bien grave en vérité.

lundi 25 janvier 2016

trois machines, trois défis pour Linux

Profitant des soldes et du Cyber Monday, je me suis récemmment équipé de trois nouvelles machines dont aucune n'est nativement sous linux : un Pipo X8 64 Go (écran 7" + prise HDMI, double boot Anroid 5.1 et Windows 10) ; un portable 11,6" Acer ES1 131 sous windows 10 ; un boîtier pour télé Mini MX sous android 5.1 et ARM.

Le stockage se fait via de la mémoire EMMc (moins bien que le SSD mais plus économique).

Le défi est de faire tourner Linux dessus. Windows 10 étant un immense spywareu, je le jette aux orties, mais j'en veux une copie le temps de la garantie ou pour réparer une boulette énorme lors de l'installation (sauvegarde de tout l'espace de stockage). Je ne suis pas sûr d'arriver à mes fins.

le Pipo X8

Pour le pipo X8, j'ai oublié mon mot le passe windows :-( et aucun des trucs usuels ne semble marcher. Les utilitaires Windows ou Windows PE ne bootent pas. J'ai dû laissé activé le Fast boot dans Windows. Je l'ai pourtant désactivé au niveau du Bios. Sous un linux live, je ne suis pas arrivé à monter en écriture la partition système de Windows, signe sans doute que Windows a été éteint en fast boot. Je réessaierai une ultime fois si j'arrive à booter depuis un système normal installé sur une clé USB (par la clé d'installation). Sinon tant pis, j'installerrais linux à la place de Windows. J'aimerais bien conserver le dual boot mais avec linux et android. Ce genre d'exploit existe sur d'autres machines.

En tout cas, ce qui boote le mieux (fiable et sûr) c'est Debian multi-arch. Je l'ai installé sur une clé externe hier, mais ce matin j'ai constaté que c'était android qui botait, pas linux. Peut-être un problème avec Grub 2 (je l'ai peut-être mis sur la EMMc mais j'ai esaayé de booter sur la clé USB qui n'aura pas eu son Grub). Je réinvestigue tout ça dès que possible.

Le Pipo X8 permet de désactiver le fast boot et le secure boot mais il ne boote qu'en UEFI, pas de secure boot. L'accès au shell (U)EFI est possible, mais c'est un peu galère de trouver ce qu'il faut. De la doc existe. Avec Debian, j'espère ne pas avoir besoin de la creuser.

l'Acer ES1 131

Cet Acer est un gros netbook. Pas une super bête de course, mais il m'offre la possibilité de voir des vidéos HD que n'avaient aucun de mes netbooks de la génération eeePC 701 et suivante. En ce senns, je ne regrette pas de les avoir vendus pour finacer son achat (140€, plus 10€ pour une housse).

Cet appareil a un Bios très sympa : on peut désactiver le fast boot, le secure boot et l'UEFI au profit du Legagy boot. J'ai pu installer Linux Mint 17.3 dessus sans problème.

Mais ça ne bootait pas ! Une personne serviable du forum de linux mint m'a alors conseillé de ne pas omettre la partition de sap, ce que j'avais toujours fait avec un SSD. Oh miracle, ça a marché ! Je dois essayer de voir si après installation, je peux désactiver le flash, parce que là je n'ai que 32Go d'espace disque et que le swap en fait 4 !

Question vitesse, c'est un celeron 3050 et c'est honorable. Je suis content de mon achat et de ce modèle en particulier. C'est bien de voir les soldes se poursuivre et de constater qu'on ne regrette aucunement son achat fait dans les premiers jours.

le Mini MX

Je n'ai encore rien essayé concernant linux avec. L'android fourni avec tourne bien, mais on peut pas vraiment tout faire à la souris. Je n'ai pas essayé l'espèce de trackpad externe Logitech pour PC que j'ai (qui tourne sous Windows et qui est exploitable sous linux) voir si ça ferait mieux. En attendant, je jongle avec la télécommande et la souris quand je le teste.

Dedans il y a un processeur AMLogic S905, c'est à dire un processeur ARM 64 bit (compatible 32 bit). Je ne vois guère que Debian qui s'occupe de ce genre de bête. Il y a de de disponible une image Ubuntu pour les processeurs ARM 64 bit moderne à tester aussi. En premier lieu, car la solution purement Debian n'est pas présentée d'une façon très compréhensible. Il faut être plus chevelu que moi comme geek pour comprendre la marche à suivre à la première lecture et même aux suivantes. En tout cas, il faut essayer ce qui est proposé comme on lit car les manipulations exposées ne sont pas du tout faites dans le mond Intel.

En sus, cet appareil n'a que 1Go de RAM et une mémoire de stockage de 8Go. C'est vraiment peu, ça va plus être une façon de mettre le pied à l'étrier qu'un projet réllement productif.

à suivre

Dans un prochain article, j'exposerai la suite du défi. J'espère que cela finira par être utile à au moins un internaute francophone, car on ne trouve pas trop de détails pous ces trois quêtes. Je mettrais les détails techniques quand j'aurai fini mes investigations (échec ou succès) ou dès que j'aurais un succès réel.

Et je mettrai à jour cet article avec des photos dès que j'en aurais le temps. Déjà, je dois faire les photos requises !