Re: [HS] MySQL: valeur par défaut [RESOLU]

2022-05-26 Par sujet Christian Quentin
Cette requête devrait aussi faire le job, je pense :

SELECT 
  IF(COUNT(*) > 0, macolonne2, 'ABC')
FROM ma_table
  WHERE macolonne1 = 123
  AND macolonne2 IS NOT NULL
LIMIT 1 

Bonne journée

Le mercredi 25 mai 2022 à 08:49 +0200, Olivier a écrit :
> Voici la réponse de Dethegeek:
> 
> CREATE TABLE `ma_table` (
> `id` INT(10) NOT NULL,
> `macolonne1` INT(10) NOT NULL,
> `macolonne2` VARCHAR(50) NULL DEFAULT NULL
> PRIMARY KEY (`id`)
> );
> 
> SELECT
> if (
> (
> SELECT
> COUNT(*)
> FROM
> ma_table
> WHERE
> macolonne1 = 123
> AND NOT ISNULL(macolonne2)
> ) = 0,
> 'ABC',
> (
> select
> macolonne2
> from
> ma_table
> where
> macolonne1 = 123
> and not isnull(macolonne2)
> )
> )
> 
> 
> > > 


Re: [HS] MySQL: valeur par défaut [RESOLU]

2022-05-25 Par sujet Olivier
Voici la réponse de Dethegeek:

CREATE TABLE `ma_table` (
`id` INT(10) NOT NULL,
`macolonne1` INT(10) NOT NULL,
`macolonne2` VARCHAR(50) NULL DEFAULT NULL
PRIMARY KEY (`id`)
);

SELECT
if (
(
SELECT
COUNT(*)
FROM
ma_table
WHERE
macolonne1 = 123
AND NOT ISNULL(macolonne2)
) = 0,
'ABC',
(
select
macolonne2
from
ma_table
where
macolonne1 = 123
and not isnull(macolonne2)
)
)


Le mer. 25 mai 2022 à 08:20, christian.quentin
 a écrit :
>
> Bonjour Olivier,
>
> Je n'ai pas vu la réponse de Dethegeek. Un message privé peut-être ?
> Pourrais-tu la publier dans ce cas ?
> Ce serait cool.
>
> Merci
> Christian
>
> Envoyé depuis mon smartphone Linux Android
>
>
>
>  Message d'origine 
> De : Olivier 
> Date : 24/05/2022 11:13 (GMT+01:00)
> À : ML Debian User French 
> Objet : Re: [HS] MySQL: valeur par défaut [RESOLU]
>
> Merci à tous pour vos réponses !
>
> La réponse de Dethegeek fonctionne parfaitement.
> Au passage, j'ignorais que MySQL était si susceptible sur l'absence de
> parenthèses.
>
> Le lun. 23 mai 2022 à 22:57, Jean-Michel OLTRA
>  a écrit :
> >
> >
> > Bonjour,
> >
> >
> > Le lundi 23 mai 2022, Olivier a écrit...
> >
> >
> > > Exemple:
> > > SELECT IFNULL("ABC", macolonne2) AS foo WHERE macolonne1=123
> >
> > Peut-être :
> > select coalesce((select macolonne2 from matable where macolonne1=123),
> > 'ABC');
> >
> > --
> > jm
> >



Re: [HS] MySQL: valeur par défaut [RESOLU]

2022-05-24 Par sujet Olivier
Merci à tous pour vos réponses !

La réponse de Dethegeek fonctionne parfaitement.
Au passage, j'ignorais que MySQL était si susceptible sur l'absence de
parenthèses.

Le lun. 23 mai 2022 à 22:57, Jean-Michel OLTRA
 a écrit :
>
>
> Bonjour,
>
>
> Le lundi 23 mai 2022, Olivier a écrit...
>
>
> > Exemple:
> > SELECT IFNULL("ABC", macolonne2) AS foo WHERE macolonne1=123
>
> Peut-être :
> select coalesce((select macolonne2 from matable where macolonne1=123),
> 'ABC');
>
> --
> jm
>



Re: [HS] MySQL: valeur par défaut

2022-05-23 Par sujet Jean-Michel OLTRA


Bonjour,


Le lundi 23 mai 2022, Olivier a écrit...


> Exemple:
> SELECT IFNULL("ABC", macolonne2) AS foo WHERE macolonne1=123

Peut-être :
select coalesce((select macolonne2 from matable where macolonne1=123),
'ABC');

-- 
jm



[HS] MySQL: valeur par défaut

2022-05-23 Par sujet Olivier
Hello,

Voici une question qui n'a qu'un rapport indirect avec Debian (même si
la mise en oeuvre sera faite sur notre OS préféré).

Comment avec MySQL, retourner une valeur par défaut, si aucun rang ne
correspond, ou un rang correspond mais que la valeur qu'il contient
est NULL ?

Exemple:
SELECT IFNULL("ABC", macolonne2) AS foo WHERE macolonne1=123

Si aucun enregistrement avec macolonne1=123 n'existe, retourner "ABC"
Si un enregistrement avec macolonne1=123 existe mais que la valeur de
macolonne2 est NULL, retourner "ABC"
Si un enregistrement avec macolonne1=123 n'existe et que la valeur de
macolonne2 n'est pas NULL, retourner la valeur de macolonne2

Slts



Re: Mysql et php5.6 => 7.4

2021-04-17 Par sujet Jean-Michel OLTRA


Bonjour,


Le samedi 17 avril 2021, ajh-valmer a écrit...


> $mysqli = new mysqli($servername, $username, $password, "association");
> if ($mysqli->connect_errno) {
> echo "Echec lors connexion MySQL : (" . $mysqli->connect_errno . ") " . 
> $mysqli->connect_error;
> }

> $query_string="UPDATE cotisation SET email='$MAIL' 
> WHERE id_cotisation='$ID'";
> if (!$query_string = mysqli_query($query_string)) {
> print ("Erreur de la requete $query_string");  
> exit(); 
> }

Tu dois utiliser l'identifiant de connexion, $mysqli obtenu plus haut.

Donc :
- soit c'est mysqli_query($mysqli, $queryString)
- soit c'est $mysqli->query($queryString)
Tout dépend de ta manière de coder : plutôt procédural (mysqli_query) ou
objet ($mysqli->query).

-- 
jm



Re: Mysql et php5.6 => 7.4

2021-04-17 Par sujet ajh-valmer
On Wednesday 14 April 2021 22:09:38 Jean-Michel OLTRA wrote:
> Tiens, une doc en français :
> https://www.php.net/manual/fr/mysqli.quickstart.connections.php
> MariaDB [mysql]> select user, plugin, host from user;
> (chez moi, c'est MariaDB, pas mysql).
> +-+---+---+
> | User| plugin| Host  |
> +-+---+---+
> | root| unix_socket   | localhost |
> | jm  | mysql_native_password | localhost |
> | mariadb.sys | mysql_native_password | localhost |
> +-+---+---+
> Et lire ce qui concerne l'authentification sous mysql 8.
> Ton souci vient peut-être (probablement) de là.

Merci !

J'ai réussi à me connecter à la base mysql8 par ce script :
$mysqli = new mysqli($servername, $username, $password, "association");
if ($mysqli->connect_errno) {
echo "Echec lors connexion MySQL : (" . $mysqli->connect_errno . ") " . 
$mysqli->connect_error;
}

Par contre, c'est ce script php5.6 que je dois adapter en php7.4 :
=
$query_string="UPDATE cotisation SET email='$MAIL' 
WHERE id_cotisation='$ID'";
if (!$query_string = mysqli_query($query_string)) {
print ("Erreur de la requete $query_string");  
exit(); 
}
print ("$MAIL | ID");
}
mysqli_close();
print ("OK !");
exit();
=

Bonne nuit,

Ajh. Valmer



Re: Mysql 5.7 vers mysql 8 et php5.6 vers 7.4

2021-04-16 Par sujet Jean-Michel OLTRA


Bonjour,


Le vendredi 16 avril 2021, ajh-valmer a écrit...


> https://mysqlserverteam.com/upgrading-to-mysql-8.0-here-is-what-you-need-to-know/

> Ça ne migre pas si facilement.

Le lien au début de ce texte explique comment faire. Et comment tester la
migration.

Au pire, avec le dump de la base (tout dépend de la volumétrie), tu peux
restaurer directement sous MySQL 8 (ce que l'auteur appelle le logical
upgrade). Ce qui pourrait être l'occasion de passer sous MariaDB.


-- 
jm



Re: Mysql 5.7 vers mysql 8 et php5.6 vers 7.4

2021-04-16 Par sujet ajh-valmer
On Wednesday 14 April 2021 14:06:07 Jean-Michel OLTRA wrote:

Voici un lien intéressant sur le sujet, passage vers mysql 8 :

https://mysqlserverteam.com/upgrading-to-mysql-8.0-here-is-what-you-need-to-know/

Ça ne migre pas si facilement.



Re: Mysql et php5.6

2021-04-14 Par sujet Jean-Michel OLTRA


Bonjour,


Le mercredi 14 avril 2021, ajh-valmer a écrit...


> > Erreur, ou pas ? Avec connect_errno et connect_error, tu devrais en savoir
> > un peu plus sur l'erreur de connexion :

> Ou et comment placer ces scripts ?
> connect_errno , connect_error

Tiens, une doc en français :
https://www.php.net/manual/fr/mysqli.quickstart.connections.php

> > Sinon, tu as également les logs de mysql/mariadb, si tu y as accès.

> C'est une base de données MySQL.

Ben, c'est un peu pareil. Si il y a un souci de connexion, l'erreur est
peut-être mentionnée dedans. Il te faudrait lire ces logs.

> > A voir si ce ne serait pas un souci de connexion sur le socket unix sur
> > localhost vs la connexion tcp sur le port 3306 ?

> Tous les fichiers de mysql indiquent bien le port 3306.

Tu devrais effectuer la requête suivante sur la base mysql :

MariaDB [mysql]> select user, plugin, host from user;
(chez moi, c'est MariaDB, pas mysql).

J'obtiens ça :

+-+---+---+
| User| plugin| Host  |
+-+---+---+
| root| unix_socket   | localhost |
| jm  | mysql_native_password | localhost |
| mariadb.sys | mysql_native_password | localhost |
+-+---+---+

Et lire ce qui concerne l'authentification sous mysql 8.
Ton souci vient peut-être (probablement) de là.

-- 
jm



Re: Mysql et php5.6

2021-04-14 Par sujet ajh-valmer
On Wednesday 14 April 2021 14:06:07 Jean-Michel OLTRA wrote:
> Erreur, ou pas ? Avec connect_errno et connect_error, tu devrais en savoir
> un peu plus sur l'erreur de connexion :

Ou et comment placer ces scripts ?
connect_errno , connect_error

> Sinon, tu as également les logs de mysql/mariadb, si tu y as accès.

C'est une base de données MySQL.

> A voir si ce ne serait pas un souci de connexion sur le socket unix sur
> localhost vs la connexion tcp sur le port 3306 ?

Tous les fichiers de mysql indiquent bien le port 3306.



Re: Mysql et php5.6

2021-04-14 Par sujet MERLIN Philippe
Le mercredi 14 avril 2021, 11:31:49 CEST ajh-valmer a écrit :
> On Tuesday 13 April 2021 00:06:27 Jean-Michel OLTRA wrote:
> > Le lundi 12 avril 2021, ajh-valmer a écrit...
> > 
> > > > > if (!$CNX = mysql_connect($DB_BASE, $DB_USER, $DB_PASS, $DB_SERVER))
> > > > > {
> > > 
> > > La syntaxe ci-dessus n'est pas supprimée en php 5.6.
> > > Normalement, il devrait accepter les scripts php 5
> > 
> > Que mysql_connect existe encore c'est une chose.
> > Que l'ordre des paramètres que tu passes dans ce que tu as écrit soit
> > valide, ça en est une autre. A moins que tu aies mal recopié ton véritable
> > code de connexion ?
> > Ceci étant, je n'utilise pas mysql_connect,
> > mais "new mysqli(server, username, password, db)".
> 
> Ce code ne fonctionne pas non plus.
> Il n'y a pas d'erreur.
> 
> J'ai lu qu'il fallait utiliser mysqli ou PDO à partir de la version 7.
> Mais mysqli me renvoie erreur.
> 
> Bonne journée.

Es tu sur de ta syntaxe, si je regarde la doc sur mysql_connect l'ordre des 
paramètres est : serveur, base .
A part cela je n'utilise pas PHP.
Amitiés.
Philippe Merlin




Re: Mysql et php5.6

2021-04-14 Par sujet Jean-Michel OLTRA


Bonjour,


Le mercredi 14 avril 2021, ajh-valmer a écrit...


> Ce code ne fonctionne pas non plus.
> Il n'y a pas d'erreur.

C'est à dire ? La connexion ne se fait pas ? Tu n'as pas d'objet mysqli ?
Si ça échoue, que donne mysqli->connect_error (et connect_errno)

Regarde les propriétés de cet objet classe mysqli ici :
https://www.php.net/manual/fr/class.mysqli.php

> Mais mysqli me renvoie erreur.

Erreur, ou pas ? Avec connect_errno et connect_error, tu devrais en savoir
un peu plus sur l'erreur de connexion.

Sinon, tu as également les logs de mysql/mariadb, si tu y as accès.

A voir si ce ne serait pas un souci de connexion sur le socket unix sur
localhost vs la connexion tcp sur le port 3306 ?

-- 
jm



Re: Mysql et php5.6

2021-04-14 Par sujet ajh-valmer
On Tuesday 13 April 2021 00:06:27 Jean-Michel OLTRA wrote:
> Le lundi 12 avril 2021, ajh-valmer a écrit...
> > > > if (!$CNX = mysql_connect($DB_BASE, $DB_USER, $DB_PASS, $DB_SERVER)) {
> 
> > La syntaxe ci-dessus n'est pas supprimée en php 5.6.
> > Normalement, il devrait accepter les scripts php 5

> Que mysql_connect existe encore c'est une chose.
> Que l'ordre des paramètres que tu passes dans ce que tu as écrit soit
> valide, ça en est une autre. A moins que tu aies mal recopié ton véritable
> code de connexion ?
> Ceci étant, je n'utilise pas mysql_connect, 
> mais "new mysqli(server, username, password, db)".

Ce code ne fonctionne pas non plus.
Il n'y a pas d'erreur.

J'ai lu qu'il fallait utiliser mysqli ou PDO à partir de la version 7.
Mais mysqli me renvoie erreur.

Bonne journée.




Re: Mysql et php5.6

2021-04-12 Par sujet Jean-Michel OLTRA


Bonjour,


Le lundi 12 avril 2021, ajh-valmer a écrit...


> > > if (!$CNX = mysql_connect($DB_BASE, $DB_USER, $DB_PASS, $DB_SERVER)) {

> La syntaxe ci-dessus n'est pas supprimée en php 5.6.

> Normalement, il devrait accepter les scripts php 5

Que mysql_connect existe encore c'est une chose.
Que l'ordre des paramètres que tu passes dans ce que tu as écrit soit
valide, ça en est une autre. A moins que tu aies mal recopié ton véritable
code de connexion ?

Ceci étant, je n'utilise pas mysql_connect, mais "new mysqli(server,
username, password, db)".

-- 
jm



Re: Mysql et php5.6

2021-04-12 Par sujet ajh-valmer
On Monday 12 April 2021 17:45:08 Jean-Michel OLTRA wrote:
> Le lundi 12 avril 2021, ajh-valmer a écrit...
> > La connexion à la base ne se fait plus, même avec ce code :
> > $DB_USER = 'xxx';
> > $DB_PASS = 'xxx';
> > $DB_SERVER = 'localhost';
> > $DB_BASE = 'xxx';
> > // Connection mysql
> > if (!$CNX = mysql_connect($DB_BASE, $DB_USER, $DB_PASS, $DB_SERVER)) {
> > print ("Erreur de connexion serveur Mysql : $CNX"); }
> > Réponse : 
> > "Erreur de connexion serveur Mysql : Erreur de la requete".

> Tu es bien certain de la validité de ton appel mysql_connect ?
> https://www.php.net/manual/en/function.mysql-connect.php
> donne un autre ordre pour les paramètres.
> Et indique aussi que mysql_connect est supprimé en php 7. 
> Tu devrais y penser.

Le serveur est en php 5.6.
La syntaxe ci-dessus n'est pas supprimée en php 5.6.

J'ai tenté "mysqli_connect...",
que ce soit en 5.6 ou 7.4, c'est pareil, message d'erreur ci-dessus.

Normalement, il devrait accepter les scripts php 5



Re: Mysql et php5.6

2021-04-12 Par sujet Jean-Michel OLTRA


Bonjour,


Le lundi 12 avril 2021, ajh-valmer a écrit...


> La connexion à la base ne se fait plus, même avec ce code :

> $DB_USER = 'xxx';
> $DB_PASS = 'xxx';
> $DB_SERVER = 'localhost';
> $DB_BASE = 'xxx';
> // Connection mysql
> if (!$CNX = mysql_connect($DB_BASE, $DB_USER, $DB_PASS, $DB_SERVER)) {
> print ("Erreur de connexion serveur Mysql : $CNX"); }

> Réponse : 
> "Erreur de connexion serveur Mysql : Erreur de la requete".

Tu es bien certain de la validité de ton appel mysql_connect ?
https://www.php.net/manual/en/function.mysql-connect.php
donne un autre ordre pour les paramètres.
Et indique aussi que mysql_connect est supprimé en php 7. Tu devrais y
penser.



-- 
jm



Re: Mysql et php5.6

2021-04-12 Par sujet ajh-valmer
On Monday 12 April 2021 07:16:34 Jean-Michel OLTRA wrote:

> Le dimanche 11 avril 2021, ajh-valmer a écrit...
> > J'ai upgradé mon serveur Buster.  MySQL est passée en version 8.
> > Depuis, les scripts PHP 5.6 de mon site ne passent plus :
> > "Erreur connexion serveur Mysql : 
> > Erreur de la requête 1.SELECT COUNT(numero) FROM ..."

> J'aurais tendance à penser que ce n'est pas lié à la version de php, mais au
> serveur sql. Le serveur tourne t-il ? Peux tu t'y connecter autrement qu'en
> php (avec le client mysql par exemple) ?

Oui, tout à fait et aussi avec phpmyadmin. 

La connexion à la base ne se fait plus, même avec ce code :

$DB_USER = 'xxx';
$DB_PASS = 'xxx';
$DB_SERVER = 'localhost';
$DB_BASE = 'xxx';
// Connection mysql
if (!$CNX = mysql_connect($DB_BASE, $DB_USER, $DB_PASS, $DB_SERVER)) {
print ("Erreur de connexion serveur Mysql : $CNX"); }

Réponse : 
"Erreur de connexion serveur Mysql : Erreur de la requete".




Re: Mysql et php5.6

2021-04-11 Par sujet Jean-Michel OLTRA


Bonjour,


Le dimanche 11 avril 2021, ajh-valmer a écrit...


> J'ai upgradé mon serveur Buster.  MySQL est passée en version 8.

> Depuis, les scripts PHP 5.6 de mon site ne passent plus :
> "Erreur connexion serveur Mysql : 
> Erreur de la requête 1.SELECT COUNT(numero) FROM ..."

J'aurais tendance à penser que ce n'est pas lié à la version de php, mais au
serveur sql. Le serveur tourne t-il ? Peux tu t'y connecter autrement qu'en
php (avec le client mysql par exemple) ?

-- 
jm



Re: Mysql et php5.6

2021-04-11 Par sujet ajh-valmer
On Sunday 11 April 2021 21:47:41 Dethegeek wrote:
> Vérifie que tu as bien installé et activé le module mysql pour php 7.
> Le langage SQL en lui même n'a pas fondamentalement changé.

C'est le module php 5.6 qui est activé.

Si je mets le module php 7.4, c'est bon nombre de scripts php
que je dois modifier.
 
> Le dim. 11 avr. 2021 à 20:08, ajh-valmer  a écrit :
> > J'ai upgradé mon serveur Buster.  MySQL est passée en version 8.
> > Depuis, les scripts PHP 5.6 de mon site ne passent plus :
> > "Erreur connexion serveur Mysql :
> > Erreur de la requête 1.SELECT COUNT(numero) FROM ..."
> > C'est bien le module php5.6 qui est installé sous Apache2.
> > La dernière version est PHP 7.4.
> > Comment se fait-il que les scripts php5.6 soient devenus obsolètes,
> > comme si le serveur était en 7.4 ?
> > Serait-ce aussi le SQL qui a évolué (mysql version 8) ?
> > Merci de votre aide urgente, car maintenant le site ne marche plus.




Mysql et php5.6

2021-04-11 Par sujet ajh-valmer
Bonsoir,

J'ai upgradé mon serveur Buster.  MySQL est passée en version 8.

Depuis, les scripts PHP 5.6 de mon site ne passent plus :
"Erreur connexion serveur Mysql : 
Erreur de la requête 1.SELECT COUNT(numero) FROM ..."

C'est bien le module php5.6 qui est installé sous Apache2.
La dernière version est PHP 7.4.

Comment se fait-il que les scripts php5.6 soient devenus obsolètes,
comme si le serveur était en 7.4 ?

Serait-ce aussi le SQL qui a évolué (mysql version 8) ?

Merci de votre aide urgente, car maintenant le site ne marche plus.

Bonne soirée,

A. Valmer



[solved] Re: php7 mysql

2021-04-03 Par sujet Pierre Meurisse
On Sat, Apr 03, 2021 at 09:39:04PM +0200, Jean-Michel OLTRA wrote:
> 
> Bonjour,
> 
> 
> Le samedi 03 avril 2021, Pierre Meurisse a écrit...
> 
> 
> > aptitude search php7 |grep "^i"
> > i A php7.3-cli - command-line interpreter for the PHP scripting language
> > i A php7.3-common - documentation, exemples et module commun pour PHP
> > i  php7.3-fpm - server-side, HTML-embedded scripting language (FPM-CGI 
> > binary)
> > i A php7.3-json - module JSON pour PHP
> > i A php7.3-opcache - module Zend OpCache pour PHP
> > i A php7.3-readline - module readline pour PHP
> > i  php7.3-xml - module DOM, SimpleXML, WDDX, XML et XSL pour PHP
> 
> Il te manque php7.3-mysql
> 
> > C'est toujours la même chose, le navigateur n'affiche que les 
> > sources.
> 
> Il te manque libapache2-mod-php7.3
> 
> -- 
> jm
> 

Mes dernières préoccupations étaient de faire fonctionner php. 
mysql viendrait plus tard.

J'ai bien ajouté libapache2-mod-php7.3 mais ça n'a pas suffi.
J'ai ajouté php-remctl et là le php fonctionnait.

Je suis passé au php-mysql en ajoutant php7.3-mysql
J'ai comparé avec une installation qui fonctionne sur mon raspberry-pi
J'ai supprimé php7.3-xml et php7.3-fpm

Ca ne trouvait toujours pas les mysqli, me disait 
sudo tail -f -n 30 /var/log/apache2/error.log

:-(

Du coup j'ai rebooté et ... ça marche.

En résumé ma configuration qui fonctionne :

pier@debianpb~% aptitude search php |grep "^i"  
i  libapache2-mod-php - langage de script inclus dans du HTML et exécuté côté 
serveur (module Apache 2 — version par défaut)
i  libapache2-mod-php7.3 - langage de script inclus dans du HTML et exécuté 
côté serveur – module Apache 2
i  php-common - fichiers communs pour les paquets PHP
i  php-mysql - MySQL module for PHP [default]
i  php-remctl - PECL module for Kerberos-authenticated command execution
i A php7.3-cli - command-line interpreter for the PHP scripting language
i A php7.3-common - documentation, exemples et module commun pour PHP
i A php7.3-json - module JSON pour PHP
i  php7.3-mysql - module MySQL pour PHP
i A php7.3-opcache - module Zend OpCache pour PHP
i  php7.3-phpdbg - langage de script embarqué dans du HTML, côté serveur — 
exécutable PHPDBG
i A php7.3-readline - module readline pour PHP

Je ne suis pas sûr qu'il n'y a pas des paquets inutiles.

Merci pour toutes vos réponses, je ne crois pas que j'y serais arrivé
tout seul.


-- 
Pierre Meurisse
Merci de noter que ma nouvelle adresse est : pierre.meuriss...@free.fr
Je continue provisoirement de recevoir les courriers envoyés
aux adresses précédentes.



Re: php7 mysql

2021-04-03 Par sujet Jean-Michel OLTRA


Bonjour,


Le samedi 03 avril 2021, Pierre Meurisse a écrit...


> aptitude search php7 |grep "^i"
> i A php7.3-cli - command-line interpreter for the PHP scripting language
> i A php7.3-common - documentation, exemples et module commun pour PHP
> i  php7.3-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary)
> i A php7.3-json - module JSON pour PHP
> i A php7.3-opcache - module Zend OpCache pour PHP
> i A php7.3-readline - module readline pour PHP
> i  php7.3-xml - module DOM, SimpleXML, WDDX, XML et XSL pour PHP

Il te manque php7.3-mysql

> C'est toujours la même chose, le navigateur n'affiche que les 
> sources.

Il te manque libapache2-mod-php7.3

-- 
jm



Re: php7 mysql

2021-04-03 Par sujet Philippe
Salut la liste !

> Effectivement j'obtenais avec phpinfo()  : PHP Version 7.0.33-0+deb9u3
> 
> J'ai donc purgé tous les php7.0.
> C'était le php7.0 metapacakge qui avait appelé tous les 7.3
> Maintenant il n'existe plus et je ne trouve pas de php7 metapackage.
> 
> J'ai redémarré les services mariadb, php7, apache2 
> A cette étape, le navigateur n'affiche que la source du .php
> 
> reboot
> 
> Même chose.
> 
> Du coup j'ai purgé tous les php7...
> 
> reboot - réinstallation (je sais, ça fait beaucoup de reboot)

Pour que le serveur Web reconnaisse et travaille avec PHP, il lui faut quelque 
chose,
une passerelle PHP-FPM ou en l'occurrence pour Apache, un module PHP.

Installation avec PHP-FPM :
https://www.justegeek.fr/installer-php-7-0-apache2-debian-8/

Activation du module PHP :
https://askubuntu.com/questions/1148129/how-do-i-enable-php-7-3-in-apache2#answer-1148139

Bonne pioche, dans le respect des gestes barrière !

Ph. Gras



Re: php7 mysql

2021-04-03 Par sujet Pierre Meurisse
On Sat, Apr 03, 2021 at 07:03:38AM +0200, Jean-Michel OLTRA wrote:
> 
> Bonjour,
> 
> 
> Le samedi 03 avril 2021, Pierre Meurisse a écrit...
> 
> 
> > [Sat Apr 03 02:11:02.324464 2021] [:error] [pid 1136] [client
> > 192.168.0.118:58398] PHP Fatal error:  Uncaught Error: Class 'mysqli' not
> > found in /homesuppl/www_html/apache/php/tutos/debian-uf.php:7\nStack
> > trace:\n#0 {main}\n  thrown in
> > /homesuppl/www_html/apache/php/tutos/debian-uf.php on line 7, referer:
> > http://debianpb/apache/php/tutos/
> 
> Et si tu crées un script php dans lequel tu mets uniquement phpinfo();
> (et que tu appelles cette page), ça donne quoi, dans la section mysqli ?
> Regarde également tout en haut, dans ce qui concerne php, si la version
> donnée est bien celle à laquelle tu t'attends.
> 
> -- 
> jm
> 

Je deviens chèvre ...

Effectivement j'obtenais avec phpinfo()  : PHP Version 7.0.33-0+deb9u3

J'ai donc purgé tous les php7.0.
C'était le php7.0 metapacakge qui avait appelé tous les 7.3
Maintenant il n'existe plus et je ne trouve pas de php7 metapackage.

J'ai redémarré les services mariadb, php7, apache2 
A cette étape, le navigateur n'affiche que la source du .php

reboot

Même chose.

Du coup j'ai purgé tous les php7...

reboot - réinstallation (je sais, ça fait beaucoup de reboot)

aptitude search php7 |grep "^i"
i A php7.3-cli - command-line interpreter for the PHP scripting language
i A php7.3-common - documentation, exemples et module commun pour PHP
i  php7.3-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary)
i A php7.3-json - module JSON pour PHP
i A php7.3-opcache - module Zend OpCache pour PHP
i A php7.3-readline - module readline pour PHP
i  php7.3-xml - module DOM, SimpleXML, WDDX, XML et XSL pour PHP

C'est toujours la même chose, le navigateur n'affiche que les 
sources.

Je ne sais plus ... faire un rapport de bug ?
Je n'en ai pas trouvé pour php7.

En tous cas merci pour votre soutien.

-- 
Pierre Meurisse
Merci de noter que ma nouvelle adresse est : pierre.meuriss...@free.fr
Je continue provisoirement de recevoir les courriers envoyés
aux adresses précédentes.



Re: php7 mysql

2021-04-02 Par sujet Jean-Michel OLTRA


Bonjour,


Le samedi 03 avril 2021, Pierre Meurisse a écrit...


> [Sat Apr 03 02:11:02.324464 2021] [:error] [pid 1136] [client
> 192.168.0.118:58398] PHP Fatal error:  Uncaught Error: Class 'mysqli' not
> found in /homesuppl/www_html/apache/php/tutos/debian-uf.php:7\nStack
> trace:\n#0 {main}\n  thrown in
> /homesuppl/www_html/apache/php/tutos/debian-uf.php on line 7, referer:
> http://debianpb/apache/php/tutos/

Et si tu crées un script php dans lequel tu mets uniquement phpinfo();
(et que tu appelles cette page), ça donne quoi, dans la section mysqli ?
Regarde également tout en haut, dans ce qui concerne php, si la version
donnée est bien celle à laquelle tu t'attends.

-- 
jm



Re: php7 mysql

2021-04-02 Par sujet Pierre Meurisse
On Fri, Apr 02, 2021 at 07:42:52PM +0200, Philippe wrote:
> Salut la liste !
> 
> >> j'essaie désespérément de me connecter à une base mysql
> >> en utilisant php7 sur un serveur apache.
> >> Je tente des lignes du genre :
> >> $conn = mysqli_connect("localhost","pier","","adrpier");
> >> ou
> >> $conn = new connect($servername, $username, $password);
> >> et j'obtiens invariablement des erreurs du genre :
> >> Call to undefined function mysqli_connect()
> >> Call to undefined function mysql_connect()
> >> Call to undefined function mysql()
> >> Call to undefined function connect()
> >> Call to undefined function mysqli()
> 
> Quelle est l'erreur générée en recopiant cet exemple à l'identique :
> https://www.php.net/manual/fr/function.mysqli-connect.php#125914
> 
> Parce que les lignes du genre précitées ne peuvent pas fonctionner,
> quoi qu'il arrive. La syntaxe n'est pas correcte.
> 
> Au plaisir de vous lire,
> 
> Ph. Gras

Merci pour vos réponses.

Voici la ligne d'erreur obtenue :

[Sat Apr 03 02:11:02.324464 2021] [:error] [pid 1136] [client 
192.168.0.118:58398] PHP Fatal error:  Uncaught Error: Class 'mysqli' not found 
in /homesuppl/www_html/apache/php/tutos/debian-uf.php:7\nStack trace:\n#0 
{main}\n  thrown in /homesuppl/www_html/apache/php/tutos/debian-uf.php on line 
7, referer: http://debianpb/apache/php/tutos/

Et sur chromium :

This page isn’t working
debianpb is currently unable to handle this request.
HTTP ERROR 500

-- 
Pierre Meurisse
Merci de noter que ma nouvelle adresse est : pierre.meuriss...@free.fr
Je continue provisoirement de recevoir les courriers envoyés
aux adresses précédentes.



Re: php7 mysql

2021-04-02 Par sujet Philippe
Salut la liste !

>> j'essaie désespérément de me connecter à une base mysql
>> en utilisant php7 sur un serveur apache.
>> Je tente des lignes du genre :
>> $conn = mysqli_connect("localhost","pier","","adrpier");
>> ou
>> $conn = new connect($servername, $username, $password);
>> et j'obtiens invariablement des erreurs du genre :
>> Call to undefined function mysqli_connect()
>> Call to undefined function mysql_connect()
>> Call to undefined function mysql()
>> Call to undefined function connect()
>> Call to undefined function mysqli()

Quelle est l'erreur générée en recopiant cet exemple à l'identique :
https://www.php.net/manual/fr/function.mysqli-connect.php#125914

Parce que les lignes du genre précitées ne peuvent pas fonctionner,
quoi qu'il arrive. La syntaxe n'est pas correcte.

Au plaisir de vous lire,

Ph. Gras


Re: php7 mysql

2021-04-02 Par sujet Frédéric MASSOT

Le 02/04/2021 à 17:26, Pierre Meurisse a écrit :

Bonjour à tous,
j'essaie désespérément de me connecter à une base mysql
en utilisant php7 sur un serveur apache.

Je tente des lignes du genre :

$conn = mysqli_connect("localhost","pier","","adrpier");
ou
$conn = new connect($servername, $username, $password);

et j'obtiens invariablement des erreurs du genre :

Call to undefined function mysqli_connect()
Call to undefined function mysql_connect()
Call to undefined function mysql()
Call to undefined function connect()
Call to undefined function mysqli()

Pourtant les fonctions ci-dessus sont référencées dans diverses docs.


J'utilise une debian buster à jour
avec comme paquets installés :
pier@debianpb~% aptitude search php7 |grep "^i"
i A libapache2-mod-php7.0 - server-side, HTML-embedded scripting language 
(Apache 2 module)
i A libapache2-mod-php7.3 - langage de script inclus dans du HTML et exécuté 
côté serveur – module Apache 2
i  php7.0 - server-side, HTML-embedded scripting language (metapackage)
i A php7.0-cli - command-line interpreter for the PHP scripting language
i A php7.0-common - documentation, examples and common module for PHP
i A php7.0-json - JSON module for PHP
i A php7.0-opcache - Zend OpCache module for PHP
i A php7.0-readline - readline module for PHP


MySQL n'est pas installé pour PHP 7.0.



i A php7.3-cli - command-line interpreter for the PHP scripting language
i A php7.3-common - documentation, exemples et module commun pour PHP
i A php7.3-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary)
i A php7.3-json - module JSON pour PHP
i A php7.3-mysql - module MySQL pour PHP
i A php7.3-opcache - module Zend OpCache pour PHP
i A php7.3-readline - module readline pour PHP
i A php7.3-xml - module DOM, SimpleXML, WDDX, XML et XSL pour PHP


MySQL est installé pour PHP 7.3.


Je pense que ton serveur web est configuré pour lancé PHP 7.0 qui n'a 
pas le support de MySQL.





pier@debianpb~% aptitude search mariadb |grep "^i"
i A libmariadb3 - bibliothèque du client de base de données MariaDB
i A mariadb-client-10.3 - exécutables client pour la base de données MariaDB
i A mariadb-client-core-10.3 - exécutables centraux du client de base de 
données MariaDB
i A mariadb-common - métapaquet commun pour MariaDB
i  mariadb-server - MariaDB database server (metapackage depending on the 
latest version)
i A mariadb-server-10.3 - exécutables du serveur de base de données MariaDB
i A mariadb-server-core-10.3 - fichiers centraux du serveur de base de données 
MariaDB
i  php-mariadb-mysql-kbs - Knowledge base about MariaDB and MySQL server 
variables

Je ne sais plus quoi chercher ...






--
==
|  FRÉDÉRIC MASSOT   |
| http://www.juliana-multimedia.com  |
|   mailto:frede...@juliana-multimedia.com   |
| +33.(0)2.97.54.77.94  +33.(0)6.67.19.95.69 |
===Debian=GNU/Linux===



php7 mysql

2021-04-02 Par sujet Pierre Meurisse
Bonjour à tous,
j'essaie désespérément de me connecter à une base mysql
en utilisant php7 sur un serveur apache.

Je tente des lignes du genre :

$conn = mysqli_connect("localhost","pier","","adrpier");
ou
$conn = new connect($servername, $username, $password);

et j'obtiens invariablement des erreurs du genre :

Call to undefined function mysqli_connect()
Call to undefined function mysql_connect()
Call to undefined function mysql()
Call to undefined function connect()
Call to undefined function mysqli()

Pourtant les fonctions ci-dessus sont référencées dans diverses docs.


J'utilise une debian buster à jour 
avec comme paquets installés :
pier@debianpb~% aptitude search php7 |grep "^i"
i A libapache2-mod-php7.0 - server-side, HTML-embedded scripting language 
(Apache 2 module)
i A libapache2-mod-php7.3 - langage de script inclus dans du HTML et exécuté 
côté serveur – module Apache 2
i  php7.0 - server-side, HTML-embedded scripting language (metapackage)
i A php7.0-cli - command-line interpreter for the PHP scripting language
i A php7.0-common - documentation, examples and common module for PHP
i A php7.0-json - JSON module for PHP
i A php7.0-opcache - Zend OpCache module for PHP
i A php7.0-readline - readline module for PHP
i A php7.3-cli - command-line interpreter for the PHP scripting language
i A php7.3-common - documentation, exemples et module commun pour PHP
i A php7.3-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary)
i A php7.3-json - module JSON pour PHP
i A php7.3-mysql - module MySQL pour PHP
i A php7.3-opcache - module Zend OpCache pour PHP
i A php7.3-readline - module readline pour PHP
i A php7.3-xml - module DOM, SimpleXML, WDDX, XML et XSL pour PHP
pier@debianpb~% aptitude search mariadb |grep "^i"
i A libmariadb3 - bibliothèque du client de base de données MariaDB
i A mariadb-client-10.3 - exécutables client pour la base de données MariaDB
i A mariadb-client-core-10.3 - exécutables centraux du client de base de 
données MariaDB
i A mariadb-common - métapaquet commun pour MariaDB
i  mariadb-server - MariaDB database server (metapackage depending on the 
latest version)
i A mariadb-server-10.3 - exécutables du serveur de base de données MariaDB
i A mariadb-server-core-10.3 - fichiers centraux du serveur de base de données 
MariaDB
i  php-mariadb-mysql-kbs - Knowledge base about MariaDB and MySQL server 
variables

Je ne sais plus quoi chercher ...



-- 
Pierre Meurisse
Merci de noter que ma nouvelle adresse est : pierre.meuriss...@free.fr
Je continue provisoirement de recevoir les courriers envoyés
aux adresses précédentes.



Re: Erreur MySQL : résolu

2021-03-27 Par sujet ajh-valmer
On Saturday 27 March 2021 18:54:07 Philippe wrote:
> > Plutôt que d'un port TCP, il peut s'agir d'un code erreur : 
> > https://mariadb.com/kb/en/operating-system-error-codes/ 
> > 110 ETIMEDOUT Connection timed out  
> Bon, ben voilà. Maintenant, je done ma langue au chat aussi…

En rebootant le serveur, les mails remarchent, pop et smtp.

- Mode auto, ça met port 110 et chiffrement TLS,
- Manuellement, port 995 et chiffrement SSL,
les deux modes fonctionnent.

SMTP : port 587 et TLS, ça marche (pas de SSL possible, grisé)



Re: Erreur MySQL

2021-03-27 Par sujet Philippe
Salut la liste !

> Plutôt que d'un port TCP, il peut s'agir d'un code erreur : 
> https://mariadb.com/kb/en/operating-system-error-codes/ 
> 
> 110 ETIMEDOUT Connection timed out  

C'est loin d'être improbable !

> 
> tail /var/log/mail.err : 
> "Error: mysql(127.0.0.1): Connect failed to database (virtual_email): 
> Can't connect to MySQL server on '127.0.0.1' (110)". 
> 
> netstat -petulan|grep mysqld : 
> tcp6   0 0 :::3306 :::* LISTEN 111 6946153  15550/mysqld 
> 
> Le port de mysql est 3306. 
> (110) c'est autre chose. 

Comme il semblait que le mail retentissait sur MySQL, j'ai pensé que
ça pouvait être le port.

Moi, je n'ai pas de *.lock dans /run/mysqld :
root@box:~# ls -al /run/mysqld
total 4
drwxr-xr-x  2 mysql root   80 sept. 16  2020 .
drwxr-xr-x 23 root  root  760 mars  27 18:29 ..
-rw-rw  1 mysql mysql   4 sept. 16  2020 mysqld.pid
srwxrwxrwx  1 mysql mysql   0 sept. 16  2020 mysqld.sock

Mais j'en ai dans le service de courrier entrant :
root@box:~# ps -ax | grep 110
  721 ?Ssl   30:45 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 110:114
 7271 ?S  0:01 /usr/sbin/courierlogger -pid=/run/courier/pop3d.pid 
-start -name=pop3d /usr/sbin/couriertcpd -address=0 -maxprocs=40 -maxperip=4 
-nodnslookup -noidentlookup 110 /usr/lib/courier/courier/courierpop3login 
/usr/lib/courier/courier/courierpop3d Maildir
 7272 ?S  0:02 /usr/sbin/couriertcpd -address=0 -maxprocs=40 
-maxperip=4 -nodnslookup -noidentlookup 110 
/usr/lib/courier/courier/courierpop3login /usr/lib/courier/courier/courierpop3d 
Maildir
20775 pts/0S+ 0:00 grep 110
root@box:~# ls -al /run/courier
total 16
drwxrwxr-x  3 rootcourier 220 sept. 17  2020 .
drwxr-xr-x 23 rootroot760 mars  27 18:29 ..
drwxr-xr-x  2 courier courier 100 sept. 16  2020 authdaemon
-rw-r--r--  1 rootroot  5 sept. 16  2020 imapd.pid
-rw---  1 rootroot  0 sept. 16  2020 imapd.pid.lock
-rw-r--r--  1 rootroot  6 sept. 17  2020 imapd-ssl.pid
-rw---  1 rootroot  0 sept. 17  2020 imapd-ssl.pid.lock
-rw-r--r--  1 rootroot  5 sept. 16  2020 pop3d.pid
-rw---  1 rootroot  0 sept. 16  2020 pop3d.pid.lock
-rw-r--r--  1 rootroot  6 sept. 17  2020 pop3d-ssl.pid
-rw---  1 rootroot  0 sept. 17  2020 pop3d-ssl.pid.lock

Le *.sock, c'est le fichier du socket, mais j'ignore à quoi se rapporte le 
*.lock

Bon, ben voilà. Maintenant, je done ma langue au chat aussi…

Dans le respect des gestes barrière !

Ph. Gras


Re: Erreur MySQL

2021-03-27 Par sujet Thomas Trupel
Bonjour,

Plutôt que d'un port TCP, il peut s'agir d'un code erreur :
https://mariadb.com/kb/en/operating-system-error-codes/

/110 ETIMEDOUT Connection timed out /

Cordialement,
Thomas

27 mars 2021 12:31:21 ajh-valmer :

> On Friday 26 March 2021 23:13:04 Philippe wrote:
>>> Port 110 = POP3, sauf si SSL = 995 ou TLS = 110 ou 995
> 
>> C'est exact, mais ça ne répond pas à ma question.
>> Pour éviter que MySQL n'interfère avec POP3 et crée un conflit,
>> mieux vaut faire tourner MySQL sur son port par défaut, ou bien
>> sur un autre, mais qui ne soit pas réservé.
>> Le port par défaut de MySQL est le 3306, ce que ne semble pas
>> indiquer les logs rapportés dans les échanges précédents.
> 
> tail /var/log/mail.err :
> "Error: mysql(127.0.0.1): Connect failed to database (virtual_email):
> Can't connect to MySQL server on '127.0.0.1' (110)".
> 
> netstat -petulan|grep mysqld :
> tcp6   0 0 :::3306 :::* LISTEN 111 6946153  15550/mysqld
> 
> Le port de mysql est 3306.
> (110) c'est autre chose.


Re: Erreur MySQL

2021-03-27 Par sujet ajh-valmer
On Saturday 27 March 2021 13:23:49 Philippe wrote:
> > netstat -petulan|grep mysqld :
> > tcp6   0 0 :::3306 :::* LISTEN 111 6946153  15550/mysqld
> > Le port de mysql est 3306.
> > (110) c'est autre chose.

> Pouvez-vous exécuter la même commande netstat pour le
> service qui gère le courrier entrant, histoire de voir s'il est
> actif également ?

Quelle est la commande netstat pour "qui gère le courrier entrant" ?

> Puis, vérifier dans /var/run si les fichiers PID existent aussi ?

Dans ce répertoire ? :
/var/run/mysqld# ls
mysqld.pid  mysqld.sock  mysqld.sock.lock

cat mysqld.pid :
13383



Re: Erreur MySQL

2021-03-27 Par sujet Philippe
Salut la liste !

> netstat -petulan|grep mysqld :
> tcp6   0 0 :::3306 :::* LISTEN 111 6946153  15550/mysqld
> 
> Le port de mysql est 3306.
> (110) c'est autre chose.
> 

Pouvez-vous exécuter la même commande netstat pour le
service qui gère le courrier entrant, histoire de voir s'il est
actif également ?

Puis, vérifier dans /var/run si les fichiers PID existent aussi ?

D'avance merci, dans le respect des gestes barrière !

Ph. Gras


Re: Erreur MySQL

2021-03-27 Par sujet ajh-valmer
On Friday 26 March 2021 23:13:04 Philippe wrote:
> > Port 110 = POP3, sauf si SSL = 995 ou TLS = 110 ou 995

> C'est exact, mais ça ne répond pas à ma question.
> Pour éviter que MySQL n'interfère avec POP3 et crée un conflit,
> mieux vaut faire tourner MySQL sur son port par défaut, ou bien
> sur un autre, mais qui ne soit pas réservé.
> Le port par défaut de MySQL est le 3306, ce que ne semble pas
> indiquer les logs rapportés dans les échanges précédents.

tail /var/log/mail.err :
"Error: mysql(127.0.0.1): Connect failed to database (virtual_email): 
Can't connect to MySQL server on '127.0.0.1' (110)".

netstat -petulan|grep mysqld :
tcp6   0 0 :::3306 :::* LISTEN 111 6946153  15550/mysqld

Le port de mysql est 3306.
(110) c'est autre chose.



Re: Erreur MySQL

2021-03-26 Par sujet Philippe
Salut la liste !

> Port 110 = POP3, sauf si SSL = 995 ou TLS = 110 ou 995

C'est exact, mais ça ne répond pas à ma question.

Pour éviter que MySQL n'interfère avec POP3 et crée un conflit,
mieux vaut faire tourner MySQL sur son port par défaut, ou bien
sur un autre, mais qui ne soit pas réservé.

Le port par défaut de MySQL est le 3306, ce que ne semble pas
indiquer les logs rapportés dans les échanges précédents.

Bon dimanche, dans le respect des gestes barrière !

Ph. Gras



Re: Erreur MySQL

2021-03-26 Par sujet ajh-valmer
On Friday 26 March 2021 20:12:26 Francois Meyer wrote:
> ça ne pourrait pas être lié au fait que depuis la dernière m-a-j (du 
> moins chez moi en testing) mariadb ne s'appelle plus mysql ?
> Service name is now 'mariadb', e.g. /etc/init.d/mariadb and 
> systemctl mariadb
> The main server binary is now running as 'mariadbd' instead of old 
> 'mysqld' :

C'est bien MySQL qui est installé (Debian Buster).
/etc/init.d/mysql
/usr/sbin/dpkg-reconfigure: mariadb n'est pas installé

On Friday 26 March 2021 22:43:03 Philippe wrote:
> MySQL écouterait sur le port 110 ?
> Le cas échéant, ne comptez pas recevoir de mail sur ce port, qui
> est le port par défaut pour un serveur pop, ou pop3 :

Port 110 = POP3, sauf si SSL = 995 ou TLS = 110 ou 995

Bonne fin de soirée.


> On 26/03/2021 20:00, ajh-valmer wrote:
> > Depuis peu, je ne peux plus recevoir de mails de mon domaine.
> > je reçois cette erreur dans /var/log/mail.err :
> > "Error: mysql(127.0.0.1): Connect failed to database (virtual_email) :
> > Can't connect to MySQL server on '127.0.0.1' (110)
> > waiting for 5 seconds before retry".
> > J'ai relancé mysql sans erreur,
> > # dpkg-reconfigure mysql
> > "dpkg-query: le paquet « mysql » n'est pas installé et aucune information
> > n'est disponible.
> > Utilisez dpkg --info (= dpkg-deb --info) pour examiner les fichiers
> > archives, et dpkg --contents (= dpkg-deb --contents) pour afficher leur
> > contenu.
> > /usr/sbin/dpkg-reconfigure: mysql n'est pas installé".
> > Pourtant, ps aux | grep mysql indique :
> > "mysql 5407 0.0 1.1 1553996 194600 ? Sl 18:19
> > 0:02 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid".



Re: Erreur MySQL

2021-03-26 Par sujet Philippe
Salut la liste !

>> Depuis peu, je ne peux plus recevoir de mails de mon domaine.
>> 
>> je reçois cette erreur dans /var/log/mail.err :
>> 
>> "Error: mysql(127.0.0.1): Connect failed to database (virtual_email) :
>> Can't connect to MySQL server on '127.0.0.1' (110)
>> waiting for 5 seconds before retry".

MySQL écouterait sur le port 110 ?

Le cas échéant, ne comptez pas recevoir de mail sur ce port, qui
est le port par défaut pour un serveur pop, ou pop3.

Bon dimanche, dans le respect des gestes barrière ;-)

Ph. Gras


Re: Erreur MySQL

2021-03-26 Par sujet Francois Meyer
ça ne pourrait pas être lié au fait que depuis la dernière m-a-j (du 
moins chez moi en testing) mariadb ne s'appelle plus mysql ?
« - Service name is now 'mariadb', e.g. /etc/init.d/mariadb and 
systemctl mariadb
   - The main server binary is now running as 'mariadbd' instead of old 
'mysqld' »

Bonne soirée
François



On 26/03/2021 20:00, ajh-valmer wrote:

Bonsoir,

Depuis peu, je ne peux plus recevoir de mails de mon domaine.

je reçois cette erreur dans /var/log/mail.err :

"Error: mysql(127.0.0.1): Connect failed to database (virtual_email) :
Can't connect to MySQL server on '127.0.0.1' (110)
waiting for 5 seconds before retry".

J'ai relancé mysql sans erreur,

# dpkg-reconfigure mysql
"dpkg-query: le paquet « mysql » n'est pas installé et aucune information
n'est disponible.
Utilisez dpkg --info (= dpkg-deb --info) pour examiner les fichiers
archives, et dpkg --contents (= dpkg-deb --contents) pour afficher leur
contenu.
/usr/sbin/dpkg-reconfigure: mysql n'est pas installé".

Pourtant, ps aux | grep mysql indique :

"mysql 5407 0.0 1.1 1553996 194600 ? Sl 18:19
0:02 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid".

Merci d'avance d'une idée, d'une piste...

Bonne soirée,

A. Valmer






Erreur MySQL

2021-03-26 Par sujet ajh-valmer
Bonsoir,

Depuis peu, je ne peux plus recevoir de mails de mon domaine.

je reçois cette erreur dans /var/log/mail.err :

"Error: mysql(127.0.0.1): Connect failed to database (virtual_email) : 
Can't connect to MySQL server on '127.0.0.1' (110)
waiting for 5 seconds before retry".

J'ai relancé mysql sans erreur,

# dpkg-reconfigure mysql
"dpkg-query: le paquet « mysql » n'est pas installé et aucune information 
n'est disponible.
Utilisez dpkg --info (= dpkg-deb --info) pour examiner les fichiers
archives, et dpkg --contents (= dpkg-deb --contents) pour afficher leur
contenu.
/usr/sbin/dpkg-reconfigure: mysql n'est pas installé".

Pourtant, ps aux | grep mysql indique :

"mysql 5407 0.0 1.1 1553996 194600 ? Sl 18:19  
0:02 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid".

Merci d'avance d'une idée, d'une piste...

Bonne soirée,

A. Valmer




Re: utilisateur root et mysql/mariadb

2020-09-23 Par sujet Francois Meyer

On 23/09/2020 14:24, Frédéric MASSOT wrote:


Pour rappel, les paquets Debian ont une doc dans le dossier
"/usr/share/doc/".


hum...j'avoue que je n'avais pas regardé.

La doc est en effet très claire sur ce point.

Merci de vos réponses.

François



Re: utilisateur root et mysql/mariadb

2020-09-23 Par sujet Frédéric MASSOT
Le 23/09/2020 à 12:55, Francois Meyer a écrit :
> Bonjour à tous
> 
> Quelqu'un aurait-il compris le rapport entre l'utilisateur root unix et
> l'utilisateur root de mysql/mariadb ? J'y perds mon latin.
> Je croyais qu'il n'y avait aucun rapport, eh ben si : quand je suis root
> unix (avec sudo), je peux me connecter en tant que root sql, autrement,
> non (access denied, le password root que j'ai saisi à l'installation
> n'est pas reconnu).

Regarde dans le fichier
"/usr/share/doc/mariadb-server-10.0/README.Debian.gz", en remplaçant
"mariadb-server-10.0" par ton paquet mysql/mariadb.

Il y a un paragraphe sur l'utilisateur root MySQL, le fait qu'il n'a pas
de mot de passe et la liaison avec l'utilisateur root Unix.

Il y a un autre paragraphe sur comment créer le premier utilisateur admin.

Pour rappel, les paquets Debian ont une doc dans le dossier
"/usr/share/doc/".


-- 
==
|  FRÉDÉRIC MASSOT   |
| http://www.juliana-multimedia.com  |
|   mailto:frede...@juliana-multimedia.com   |
| +33.(0)2.97.54.77.94  +33.(0)6.67.19.95.69 |
===Debian=GNU/Linux===



Re: utilisateur root et mysql/mariadb

2020-09-23 Par sujet Philippe
Bonjour la liste !

> Quelqu'un aurait-il compris le rapport entre l'utilisateur root unix et 
> l'utilisateur root de mysql/mariadb ? J'y perds mon latin.
> Je croyais qu'il n'y avait aucun rapport, eh ben si : quand je suis root unix 
> (avec sudo), je peux me connecter en tant que root sql, autrement, non 
> (access denied, le password root que j'ai saisi à l'installation n'est pas 
> reconnu).

C'est pour éviter qu'on accède à tous les utilisateurs de la base de données 
sur le Web (PHPMyAdmud) de façon illégitime.

La question est abordée dans la documentation, mais je ne me souviens plus où, 
et relayée abondemment sur le Web.

Bonne continuation,

Ph. Gras


Re: utilisateur root et mysql/mariadb

2020-09-23 Par sujet Dethegeek
Bonjour,

Il me semble que c'est depuis Debian 9. Mariadb contient une extension, activée 
par défaut, pour relier les comptes du système avec PAM. C'est assez pénible en 
effet.

Mais d'un autre côté, il n'y a probablement plus de compte admin avec un mot de 
passe écrit en clair dans la conf du système (debian-admin ou quelque chose 
comme ça, de mémoire).

Au final on se retrouve dans une config par défaut assez proche de postgres.



Le 23 septembre 2020 12:55:04 GMT+02:00, Francois Meyer 
 a écrit :
>Bonjour à tous
>
>Quelqu'un aurait-il compris le rapport entre l'utilisateur root unix et 
>l'utilisateur root de mysql/mariadb ? J'y perds mon latin.
>Je croyais qu'il n'y avait aucun rapport, eh ben si : quand je suis root 
>unix (avec sudo), je peux me connecter en tant que root sql, autrement, 
>non (access denied, le password root que j'ai saisi à l'installation 
>n'est pas reconnu).
>
>Bonne journée
>
>François
>

-- 
Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma 
brièveté.

utilisateur root et mysql/mariadb

2020-09-23 Par sujet Francois Meyer

Bonjour à tous

Quelqu'un aurait-il compris le rapport entre l'utilisateur root unix et 
l'utilisateur root de mysql/mariadb ? J'y perds mon latin.
Je croyais qu'il n'y avait aucun rapport, eh ben si : quand je suis root 
unix (avec sudo), je peux me connecter en tant que root sql, autrement, 
non (access denied, le password root que j'ai saisi à l'installation 
n'est pas reconnu).


Bonne journée

François



Re: [1/2HS] Mysql et le symbole Euro €

2020-03-01 Par sujet G2PC

>> https://wiki.visionduweb.fr/index.php?title=Installer_PHPMyAdmin
>> Une fois fait, est ce que tu rencontres le même problème d'encodage ?
> Merci de ton soucis sur le problème.
>
> Dans mon sources.list, j'ai ajouté les paquets non-free.
> J'ai installé phpmyadmin par "apt-get install phpmyadmin".
> Version: 4:4.6.6-4
> Attention, il dépend de mysql et apache2.
> En réinstallant, je voudrais pas créer un désastre avec mysql et apache2 
> (site web en action).

Peux tu tester ma proposition, stp, tu as simplement à télécharger le
PHPMyAdmin depuis le site officiel, et, copier coller le contenu des
fichier dans un dossier nommé de ton choix.

Tu n'as aucune installation à faire.
Merci de consulter le lien plus haut, qui explique la méthode, en
quelques lignes.

Tester adminer cpourquoi pas, mais, ici, il était question de
PhpMyAdmin, pas de tester tous les outils qui existent ;)
Si tu pouvais suivre ma proposition, ça permettrait d'exclure un
problème d'encodage de l'outil lui même, si avec ma méthode, le symbole
euro s'affiche, car cela voudrait dire que PhpMyAdmin permet bien
d'afficher le symbole.

Le lien exact :
https://wiki.visionduweb.fr/index.php?title=Installer_PHPMyAdmin#Installer_PHPMyAdmin_depuis_les_sources

1.1 Installer PHPMyAdmin depuis les sources
<https://wiki.visionduweb.fr/index.php?title=Installer_PHPMyAdmin#Installer_PHPMyAdmin_depuis_les_sources>


  * 1.1.1 Téléchargement et installation

<https://wiki.visionduweb.fr/index.php?title=Installer_PHPMyAdmin#T.C3.A9l.C3.A9chargement_et_installation>
  * 1.1.2 Configurer MySQL

<https://wiki.visionduweb.fr/index.php?title=Installer_PHPMyAdmin#Configurer_MySQL>
  * 1.1.3 Paramétrage manuel

<https://wiki.visionduweb.fr/index.php?title=Installer_PHPMyAdmin#Param.C3.A9trage_manuel>



Re: [1/2HS] Mysql et le symbole Euro €

2020-03-01 Par sujet Jean-Michel OLTRA


Bonjour,


Le dimanche 01 mars 2020, ajh-valmer a écrit...

> Je vais tester "adminer".

Sinon, tu peux tester Dbeaver Community Edition.

Ça existe en paquet (mais pas dans les dépôts Debian) et en tarball.
C'est pas mal. Mais je ne pense pas que ça puisse afficher les
données en html (les exporter, oui). C'est sous licence Apache.

-- 
jm



Re: [1/2HS] Mysql et le symbole Euro €

2020-03-01 Par sujet ajh-valmer
On Sunday 01 March 2020 03:05:41 G2PC wrote:
> >> Ça vient de phpmyadmin, si UTF-8 ou iso europe-ouest, toujours ¤

> > Tu pourrais essayer avec une autre application d'administration de base 
> > de données qui utilise du html, si ça existe. Pour voir si il y a une
> > différence dans le rendu de la valeur. Je vois dans les dépôts qu'il
> > existe "adminer". Sous Testing, tout du moins.
> J'ai quand même une question bête, mais, je viens de réaliser un truc !
> Jean Michel parle de dépôts Debian, et, évidemment, on est sous le
> groupe Debian ...
> Perso, je n'ai pas installé PhpMyAdmin depuis le dépôt !
> D'ailleurs, je ne comprend pas bien, pourquoi le faire ?
> C'est comme si j'installais un Joomla ou un WordPress depuis le dépôt
> Debian !?! D'ailleurs, est ce possible ?
> Un sudo apt-get install joomla ? Je tombe de ma chaise si cela est possible.
> Donc, finalement, le plus simple serait peut être de tester PhpMyAdmin
> depuis le paquet officiel ?
> https://wiki.visionduweb.fr/index.php?title=Installer_PHPMyAdmin
> Une fois fait, est ce que tu rencontres le même problème d'encodage ?

Merci de ton soucis sur le problème.

Dans mon sources.list, j'ai ajouté les paquets non-free.
J'ai installé phpmyadmin par "apt-get install phpmyadmin".
Version: 4:4.6.6-4
Attention, il dépend de mysql et apache2.
En réinstallant, je voudrais pas créer un désastre avec mysql et apache2 
(site web en action).

Je vais tester "adminer".

L'affichage du champ via le site (html + php) met bien le symbole €.
C'est avec phpmyadmin que j'ai ce symbole ¤

Bonne soirée.



Re: [1/2HS] Mysql et le symbole Euro €

2020-03-01 Par sujet JC.EtiembleG

Le 29/02/2020 à 22:35, Jean-Michel OLTRA a écrit :


Tu pourrais essayer avec une autre application d'administration de base de
données qui utilise du html, si ça existe. Pour voir si il y a une
différence dans le rendu de la valeur. Je vois dans les dépôts qu'il existe
"adminer". Sous Testing, tout du moins.


Pour Adminer il faut prendre la version en un seul fichier adminerXX.php 
qui est plus simple et peut soit être utiliser avec une BD MySql 
(Adminer 4.7.6 for MySQL) ou avec MySQL, MariaDB, PostgreSQL, SQLite 
...(Adminer 4.7.6 )


https://www.adminer.org/#download

--
J-C Etiemble



Re: [1/2HS] Mysql et le symbole Euro €

2020-02-29 Par sujet Jean-Michel OLTRA


Bonjour,


Le dimanche 01 mars 2020, G2PC a écrit...



> Perso, je n'ai pas installé PhpMyAdmin depuis le dépôt !
> D'ailleurs, je ne comprend pas bien, pourquoi le faire ?

Je te retourne la question : pourquoi ne *pas* le faire ?
C'est simple, et, surtout, tu as les mises à jour de sécurité sans devoir
suivre le paquet natif. C'est plus qu'important.

> C'est comme si j'installais un Joomla ou un WordPress depuis le dépôt
> Debian !?! D'ailleurs, est ce possible ?

Joomla non (testing), Wordpress oui.



-- 
jm



Re: [1/2HS] Mysql et le symbole Euro €

2020-02-29 Par sujet G2PC


>> Ça vient de phpmyadmin, si UTF-8 ou iso europe-ouest, toujours ¤
> Tu pourrais essayer avec une autre application d'administration de base de
> données qui utilise du html, si ça existe. Pour voir si il y a une
> différence dans le rendu de la valeur. Je vois dans les dépôts qu'il existe
> "adminer". Sous Testing, tout du moins.

J'ai quand même une question bête, mais, je viens de réaliser un truc !
Jean Michel parle de dépôts Debian, et, évidemment, on est sous le
groupe Debian ...

Perso, je n'ai pas installé PhpMyAdmin depuis le dépôt !
D'ailleurs, je ne comprend pas bien, pourquoi le faire ?
C'est comme si j'installais un Joomla ou un WordPress depuis le dépôt
Debian !?! D'ailleurs, est ce possible ?
Un sudo apt-get install joomla ? Je tombe de ma chaise si cela est possible.

Donc, finalement, le plus simple serait peut être de tester PhpMyAdmin
depuis le paquet officiel ?

https://wiki.visionduweb.fr/index.php?title=Installer_PHPMyAdmin

Une fois fait, est ce que tu rencontres le même problème d'encodage ?



Re: [1/2HS] Mysql et le symbole Euro €

2020-02-29 Par sujet Jean-Michel OLTRA


Bonjour,


Le mercredi 26 février 2020, ajh-valmer a écrit...

> Ça vient de phpmyadmin, si UTF-8 ou iso europe-ouest, toujours ¤

Tu pourrais essayer avec une autre application d'administration de base de
données qui utilise du html, si ça existe. Pour voir si il y a une
différence dans le rendu de la valeur. Je vois dans les dépôts qu'il existe
"adminer". Sous Testing, tout du moins.

-- 
jm



Re: [1/2HS] Mysql et le symbole Euro €

2020-02-26 Par sujet G2PC


>> Il aurait converti le caractère & en son code html  ?
>> Si tu bidouilles le source dans le débogueur et que tu vires le "amp;", ça
>> fait quoi ? :
> ça fait ¤
>
> mysql en mode console+commandes m'affiche bien "€" et pas ""
>
> Ça vient de phpmyadmin, si UTF-8 ou iso europe-ouest, toujours ¤
>
> Bonne nuit à tous.

C'est louche ça, PHPMyAdmin devrait comme dit afficher correctement les
caractères spéciaux.

Et si tu crées un fichier vide test.html et que tu l'édites en mode
texte, pour y ajouter  et que tu enregistre ce fichier vide, tu le
vois bien, l'euro, ou pas ?



Re: [1/2HS] Mysql et le symbole Euro €

2020-02-26 Par sujet ajh-valmer
On Wednesday 26 February 2020 18:19:08 Jean-Michel OLTRA wrote:
> Il aurait converti le caractère & en son code html  ?
> Si tu bidouilles le source dans le débogueur et que tu vires le "amp;", ça
> fait quoi ? :

ça fait ¤

mysql en mode console+commandes m'affiche bien "€" et pas ""

Ça vient de phpmyadmin, si UTF-8 ou iso europe-ouest, toujours ¤

Bonne nuit à tous.



Re: [1/2HS] Mysql et le symbole Euro €

2020-02-26 Par sujet steve

Le 26-02-2020, à 18:15:23 +0100, ajh-valmer a écrit :


Excuses, je réitère ma question :
apt-get update
apt-get purge phpmyadmin
apt-get install phpmyadmin
va t-il effacer mes bases de données Mysql ?


Faut essayer… ;-)


Mieux vaut être prudent :-)


Une sauvegarde de tes bases ?



Re: [1/2HS] Mysql et le symbole Euro €

2020-02-26 Par sujet Jean-Michel OLTRA


Bonjour,


Le mercredi 26 février 2020, ajh-valmer a écrit...


> J'y suis arrivé, 
> voici ce qu'affiche le code source phpmyadmin du symbole euro dans le champ 
> concerné : euro;
> (ajout de "amp;" entre "&" et "euro;").

Il aurait converti le caractère & en son code html  ?
Si tu bidouilles le source dans le débogueur et que tu vires le "amp;", ça
fait quoi ?

> Excuses, je réitère ma question :
> apt-get update
> apt-get purge phpmyadmin
> apt-get install phpmyadmin
> va t-il effacer mes bases de données Mysql ?
> Mieux vaut être prudent :-)

Je ne connais pas cet outil. Mais je ne vois pas pourquoi il effacerait les
bases. Phpmyadmin, c'est phpmyadmin, et mysql c'est mysql.
Si tu le crains, tu fais un backup avant.

-- 
jm



Re: [1/2HS] Mysql et le symbole Euro €

2020-02-26 Par sujet ajh-valmer
On Wednesday 26 February 2020 17:37:35 Jean-Michel OLTRA wrote:
> > Le code source de la page phpmyadmin n'affiche pas cette information.

> Non ? Avec le débugueur html du navigateur ?
> Il n'y a pas une option de configuration de phpmyadmin concernant l'encodage
> des données et/ou des pages ouèbe ?

J'y suis arrivé, 
voici ce qu'affiche le code source phpmyadmin du symbole euro dans le champ 
concerné : euro;
(ajout de "amp;" entre "&" et "euro;").

Excuses, je réitère ma question :
apt-get update
apt-get purge phpmyadmin
apt-get install phpmyadmin
va t-il effacer mes bases de données Mysql ?
Mieux vaut être prudent :-)



Re: [1/2HS] Mysql et le symbole Euro €

2020-02-26 Par sujet Jean-Michel OLTRA


Bonjour,


Le mercredi 26 février 2020, ajh-valmer a écrit...


> > As tu essayé de voir le code source de la page de phpmyadmin pour voir ce
> > u'il y a dedans ? D'afficher le symbole euro € dans ta page phpmyadmin ?
> > Voire d'autres symboles html ?

> Le code source de la page phpmyadmin n'affiche pas cette information.

Non ? Avec le débugueur html du navigateur ?

> Les caractères  deviennent ¤ après un update.
> Par contre, si la page Web (pas phpmyadmin) affiche l'information du champ,
> le symbole € apparait très bien.

Il n'y a pas une option de configuration de phpmyadmin concernant l'encodage
des données et/ou des pages ouèbe ?

-- 
jm



Re: [1/2HS] Mysql et le symbole Euro €

2020-02-26 Par sujet ajh-valmer
On Wednesday 26 February 2020 15:12:53 Jean-Michel OLTRA wrote:
> Il me semble que le fil portait au départ sur l'affichage sous Phpmyadmin.
> Non ? :

Oui. 

> As tu essayé de voir le code source de la page de phpmyadmin pour voir ce
> u'il y a dedans ? D'afficher le symbole euro € dans ta page phpmyadmin ?
> Voire d'autres symboles html ?

Le code source de la page phpmyadmin n'affiche pas cette information.

Il s'agit de l'ASCII étendu :
164 ¤ 
(un cercle avec 4 barres réparti à l'extérieur du cercle).

Les caractères  deviennent ¤ après un update.
Par contre, si la page Web (pas phpmyadmin) affiche l'information du champ,
le symbole € apparait très bien.

Si j'update avec  , € ,   pareil, phpmyadmin affiche ¤

Pour savoir :
apt-get update
apt-get purge phpmyadmin
apt-get install phpmyadmin
va t-il effacer mes bases de données Mysql ?
Mieux vaut être prudent :-)



Re: [1/2HS] Mysql et le symbole Euro €

2020-02-26 Par sujet Jean-Michel OLTRA


Bonjour,


Le mercredi 26 février 2020, ajh-valmer a écrit...


> En fait non, car l'une est un champ d'infos de caractères varchar,
> et le mot  ne devrait pas poser problème,
> c'est juste un champ d'informations.
> À moins de mettre à la place "euro"... est-ce le & et ; qui dérangent ?
> Pourquoi lors de l'update  devient ¤ ?

Il me semble que le fil portait au départ sur l'affichage sous Phpmyadmin.
Non ?
As tu essayé de voir le code source de la page de phpmyadmin pour voir ce
u'il y a dedans ? D'afficher le symbole euro € dans ta page phpmyadmin ?
Voire d'autres symboles html ?

-- 
jm



Re: [1/2HS] Mysql et le symbole Euro €

2020-02-26 Par sujet Eric Degenetais
bonjour,
Le mer. 26 févr. 2020 à 12:54, ajh-valmer  a écrit :

> On Monday 24 February 2020 14:03:08 Erwann Le Bras wrote:
> > Je pense sérieusement pour un problème d'encodage.
> > Mais je pense qu'à la base il y a un problème de définition du shéma de
> > la base :
> > d'après ce que j'ai compris, il y a une table avec un montant au format
> > "varchar" et le même montant au format "int"
> > il n'est pas bon d'avoir deux fois la même info stockée en base, l'info
> > pouvant se désynchroniser entre les deux champs.
>
> En fait non, car l'une est un champ d'infos de caractères varchar,
> et le mot  ne devrait pas poser problème,
> c'est juste un champ d'informations.
>
À moins de mettre à la place "euro"... est-ce le & et ; qui dérangent ?
> Pourquoi lors de l'update  devient ¤ ?
>
> L'autre est un champ INT (integer, entier), servant aux calculs,
> il n'y a aucune relation entre eux lors des calculs.
>
Je pense qu'il y a malentendu : justement, il devrait être recalculé à la
volée à partir de l'autre s'il n'est "qu'un champ d'information" (??) :
pour que cette information ait de la valeur elle doit être prise de la
valeur qui sert a
aux calculs. Par ailleurs, en stockant l'unité à part et sous forme
symbolique, avec traduction à l'affichage, on évite un problème d'encodage
en base.


Cordialement

Eric Degenetais


Re: [1/2HS] Mysql et le symbole Euro €

2020-02-26 Par sujet ajh-valmer
On Monday 24 February 2020 14:03:08 Erwann Le Bras wrote:
> Je pense sérieusement pour un problème d'encodage.
> Mais je pense qu'à la base il y a un problème de définition du shéma de 
> la base :
> d'après ce que j'ai compris, il y a une table avec un montant au format 
> "varchar" et le même montant au format "int"
> il n'est pas bon d'avoir deux fois la même info stockée en base, l'info 
> pouvant se désynchroniser entre les deux champs.

En fait non, car l'une est un champ d'infos de caractères varchar,
et le mot  ne devrait pas poser problème,
c'est juste un champ d'informations.
À moins de mettre à la place "euro"... est-ce le & et ; qui dérangent ?
Pourquoi lors de l'update  devient ¤ ?

L'autre est un champ INT (integer, entier), servant aux calculs,
il n'y a aucune relation entre eux lors des calculs.



Re: [1/2HS] Mysql et le symbole Euro €

2020-02-24 Par sujet Erwann Le Bras



Le 24/02/2020 à 11:18, ajh-valmer a écrit :

On Monday 24 February 2020 10:45:32 Erwann Le Bras wrote:

Tout-a-fait.
Il y a même deux écoles : soit tout est renseigné dans la même monnaie
dans la base et converti à l'utilisation, soit la devise est précisée
avec le montant. Dans ce cas on préfère utiliser le code ISO 4217 de la
monnaie (EUR pour Euro, USD pour Dollar US) plutôt qu'un code de
caractère (€, $) qui va varier selon l'encodage retenu.
Codes ISO 4217 : https://fr.wikipedia.org/wiki/ISO_4217,
https://www.iso.org/fr/iso-4217-currency-codes.html

C'est un champ qui n'a pas à être manipulé,
de type caractères "varchar", contenant un nombre, suivis d'un espace
et de  (soit p. ex. "20 ").
C'est lors de l'update du champ que les caractères 
se transforment en ce caractère : ¤   et pourquoi ?
Ce n'est pas un champ de type "INT" (integer, entier).

La table comporte un autre champ "montant" qui ne contient
qu'un nombre INT (p. ex. "20"), pour les manipulations (calculs).

Bonne journée.



Je pense sérieusement pour un problème d'encodage.

Mais je pense qu'à la base il ya un problème de définition du shéma de 
la base :
d'après ce que j'ai compris, il y a une table avec un montant au format 
"varchar" et le même montant au format "int"
il n'est pas bon d'avoir deux fois la même info stockée en base, l'info 
pouvant se désynchroniser entre les deux champs.




Re: [1/2HS] Mysql et le symbole Euro €

2020-02-24 Par sujet ajh-valmer
> Le 09/02/2020 à 12:32, Jean-Michel OLTRA a écrit :
> >> on ne mets jamais l'unité dans une base de données...
> >> on inscrit simplement les montants en base, c'est à la présentation des
> >> données qu'on rajoute l'unité, ce qui permet de les manipuler comme on
> >> veut. 
> > Tu peux la mettre dans une colonne à part, ou via un id dans une table
> > séparée. C'est quand même préférable de savoir dans quelle unité fut
> > enregistré ledit montant.

On Monday 24 February 2020 10:45:32 Erwann Le Bras wrote:
> Tout-a-fait.
> Il y a même deux écoles : soit tout est renseigné dans la même monnaie 
> dans la base et converti à l'utilisation, soit la devise est précisée 
> avec le montant. Dans ce cas on préfère utiliser le code ISO 4217 de la 
> monnaie (EUR pour Euro, USD pour Dollar US) plutôt qu'un code de 
> caractère (€, $) qui va varier selon l'encodage retenu.
> Codes ISO 4217 : https://fr.wikipedia.org/wiki/ISO_4217, 
> https://www.iso.org/fr/iso-4217-currency-codes.html

C'est un champ qui n'a pas à être manipulé,
de type caractères "varchar", contenant un nombre, suivis d'un espace 
et de  (soit p. ex. "20 ").
C'est lors de l'update du champ que les caractères 
se transforment en ce caractère : ¤   et pourquoi ?
Ce n'est pas un champ de type "INT" (integer, entier).

La table comporte un autre champ "montant" qui ne contient
qu'un nombre INT (p. ex. "20"), pour les manipulations (calculs).

Bonne journée.



Re: [1/2HS] Mysql et le symbole Euro €

2020-02-24 Par sujet Erwann Le Bras



Le 09/02/2020 à 12:32, Jean-Michel OLTRA a écrit :

 Bonjour,


Le dimanche 09 février 2020, Erwann Le Bras a écrit...



on ne mets jamais l'unité dans une base de données...
on inscrit simplement les montants en base, c'est à la présentation des
données qu'on rajoute l'unité, ce qui permet de les manipuler comme on veut.

Tu peux la mettre dans une colonne à part, ou via un id dans une table
séparée. C'est quand même préférable de savoir dans quelle unité fut
enregistré ledit montant.


Tout-a-fait.

Il y a même deux écoles : soit tout est renseigné dans la même monnaie 
dans la base et converti à l'utilisation, soit la devise est précisée 
avec le montant. Dans ce cas on préfère utiliser le code ISO 4217 de la 
monnaie (EUR pour Euro, USD pour Dollar US) plutôt qu'un code de 
caractère (€, $) qui va varier selon l'encodage retenu.


Codes ISO 4217 : https://fr.wikipedia.org/wiki/ISO_4217, 
https://www.iso.org/fr/iso-4217-currency-codes.html


cordialement



Re: Modifier mot de passe user mysql : Access denied for user root

2020-02-12 Par sujet JC.EtiembleG

Le 11/02/2020 à 23:48, ajh.val...@free.fr a écrit :

J'ai tenté via moteur de recherche, rien ne marche,
dont "dpkg-reconfigure mysql-server".

Merci d'une aide, d'une piste...


A tester et adapter
Comment récupérer (perdu ou oublié) mon mot de passe root de MariaDB
"http://jc.etiemble.free.fr/abc/index.php/trucs-astuces/lamp/deb9php7#mdpperdu;

--
J-C Etiemble



Re: Modifier mot de passe user mysql : Access denied for user root

2020-02-11 Par sujet G2PC


> # mysql -u root -p
>
> J'ai toujours cette réponse :
> ERROR 1045 (28000): Access denied for user 'root'@'localhost' 
> (using password: YES)
>
> J'ai tenté via moteur de recherche, rien ne marche,
> dont "dpkg-reconfigure mysql-server".
>
> Merci d'une aide, d'une piste...

Le mode sans échec de MySQL ?
https://www.debian-fr.xyz/viewtopic.php?t=210



Re: Modifier mot de passe user mysql : Access denied for user root

2020-02-11 Par sujet ajh . valmer
On Tuesday 11 February 2020 15:53:02 G2PC wrote:
> 
www.it-connect.fr/changer-de-mot-de-passe-mysql%EF%BB%BF/#III_Changer_le_mot_de_passe_utilisateur_avec_une_commande_SQL
> www.laurentsanselme.com/changer-le-mot-de-passe-dun-utilisateur-mysql/

# mysql -u root -p

J'ai toujours cette réponse :
ERROR 1045 (28000): Access denied for user 'root'@'localhost' 
(using password: YES)

J'ai tenté via moteur de recherche, rien ne marche,
dont "dpkg-reconfigure mysql-server".

Merci d'une aide, d'une piste...



Re: Modifier mot de passe user mysql

2020-02-11 Par sujet G2PC

> Peut-on modifier le mot de passe d'un user MySQL,
> via phpmyadmin ou faut-il passer par les commandes console ?
>
> Si phpmyadmin sait le faire, comment ?
> J'ai tenté, ça marche pas, mot de passe non reconnu,
> quel encryptage choisir : "password", "md5" ou "sha1" ?
>
> Merci par avance et bonne journée.

Ce n'est pas un problème de PHPMyAdmin mais de SQL, et, il faut que ton
utilisateur ait le droit de changer de mot de passe.

UPDATE mysql.user SET password=PASSWORD("nouveau_mdp") where User="root ou mon 
simple utilisateur";

|FLUSH ||PRIVILEGES||;|
|
|

Source :
https://www.it-connect.fr/changer-de-mot-de-passe-mysql%EF%BB%BF/#III_Changer_le_mot_de_passe_utilisateur_avec_une_commande_SQL
http://www.laurentsanselme.com/changer-le-mot-de-passe-dun-utilisateur-mysql/



Modifier mot de passe user mysql

2020-02-11 Par sujet ajh . valmer
Bonjour,

Peut-on modifier le mot de passe d'un user MySQL,
via phpmyadmin ou faut-il passer par les commandes console ?

Si phpmyadmin sait le faire, comment ?
J'ai tenté, ça marche pas, mot de passe non reconnu,
quel encryptage choisir : "password", "md5" ou "sha1" ?

Merci par avance et bonne journée.




Re: [1/2HS] Mysql et le symbole Euro €

2020-02-09 Par sujet Jean-Michel OLTRA


Bonjour,


Le dimanche 09 février 2020, Erwann Le Bras a écrit...


> on ne mets jamais l'unité dans une base de données...
> on inscrit simplement les montants en base, c'est à la présentation des
> données qu'on rajoute l'unité, ce qui permet de les manipuler comme on veut.

Tu peux la mettre dans une colonne à part, ou via un id dans une table
séparée. C'est quand même préférable de savoir dans quelle unité fut
enregistré ledit montant.

-- 
jm



Re: [1/2HS] Mysql et le symbole Euro €

2020-02-09 Par sujet Erwann Le Bras

Ohhh!

on ne mets jamais l'unité dans une base de données...
on inscrit simplement les montants en base, c'est à la présentation des 
données qu'on rajoute l'unité, ce qui permet de les manipuler comme on veut.


Erwann

Le 03/02/2020 à 13:28, ajh-valmer a écrit :

Bonjour,

Depuis peu, lorsque j'INSERT ou UPDATE une table MySQL,
via scripts PHP et SQL, je mets le montant  : "30"
et apparait dans le champ via phpmyadmin : "30¤".
Pareil si j'écris "30€".

Pourtant, si j'interroge la table (SELECT),
apparait bien dans le navigateur "30€".

L'interclassement est UTF8_general_ci.
Si je mets : latin1_general_ci, pareil.

Ce problème fait suite à un upgrade de mysql.

Merci,

A. Valmer



Re: [1/2HS] Mysql et le symbole Euro €

2020-02-05 Par sujet Sébastien NOBILI
Bonjour,

4 février 2020 17:40 ajh.val...@free.fr a écrit:

> Lorsque je fais un update ou insert sql,
> cotisation='30 ' qui devient sous phpmyadmin : 30¤

Les entités HTML (les codes "&...;") sont des codes purement ASCII permettant
de représenter un caractère non-ASCII. Si "" ne s'affiche pas bien,
c'est que tu es confronté à un problème d'affichage et non pas d'interprétation
'encodage) du caractère.

> Serait-ce phpmyadmin ?

Étant donné le point précédent, tu peux exclure la responsabilité de MySQL.

Ça peut venir :

- de phpmyadmin
- du serveur Web
- de ton navigateur
- de la police utilisée par ton système

Personnellement, je commencerais par :

- vérifier que le symbole s'affiche bien dans le navigateur
  https://www.fileformat.info/info/unicode/char/20ac/browsertest.htm
- vérifier que la page est bien transmise en UTF8
  dans le code source de la page : 
- vérifier que le serveur Web indique bien que la page est en UTF8
  dans un terminal : curl -I 
  vérifier que : content-type: text/html;charset=utf-8

Si tout ça est OK, alors c'est un problème de police.
Si l'un des deux derniers points indique un encodage ISO, alors corriger la 
conf.
pour tout passer en UTF8 (on est au 21ème siècle quand-même !)

Sébastien



Re: [1/2HS] Mysql et le symbole Euro €

2020-02-04 Par sujet G2PC


> Page Web de mon site, code PHP :
> echo mb_internal_encoding();
> UTF-8 
>
> Merci pour tous ces commentaires + liens.
>
> Avant "" m'affichait bien €
> Pourquoi plus maintenant ?
>
> J'ai bien essayé :
> Si UTF-8 = "?"
> Si ISO 8859-1(5)= "¤".
>
> Et pourquoi si champ phpmyadmin = 30¤ (et pas )
> mon site affiche correctement 30 € ?
> Et mysql en mode console, champ = 30 €
>
> Lorsque je fais un update ou insert sql,
> cotisation='30 ' qui devient sous phpmyadmin : 30¤
>
> Serait-ce phpmyadmin ?
>
> Bonne soirée,

Tu as omis de vérifier la structure de ta base de données, tu peux faire
un export de la structure ?
De la table concernée au moins ?
Vérifie l'encodage de la table et de la colonne, ça donne quoi ?



Re: [1/2HS] Mysql et le symbole Euro €

2020-02-04 Par sujet ajh . valmer
On Tuesday 04 February 2020 05:34:20 G2PC wrote:
> D'après ce que tu écris, PHPMyAdmin retournerait le symbole en tant que
> ISO 8859-1 ?  https://fr.wikipedia.org/wiki/ISO/CEI_8859-15

Page Web de mon site, code PHP :
echo mb_internal_encoding();
UTF-8 

Merci pour tous ces commentaires + liens.

Avant "" m'affichait bien €
Pourquoi plus maintenant ?

J'ai bien essayé :
Si UTF-8 = "?"
Si ISO 8859-1(5)= "¤".

Et pourquoi si champ phpmyadmin = 30¤ (et pas )
mon site affiche correctement 30 € ?
Et mysql en mode console, champ = 30 €

Lorsque je fais un update ou insert sql,
cotisation='30 ' qui devient sous phpmyadmin : 30¤

Serait-ce phpmyadmin ?

Bonne soirée,


> Lire :
>https://openclassrooms.com/forum/sujet/afficher-le-symbole-euro-present-dans-une-base-de-donnees-52071
>https://forum.phpfrance.com/php-debutant/stocker-sigle-symbole-euro-dans-table-sql-t269428.html
> En conclure qu'il faut vérifier l'encodage :
> 1- De ton fichier
> 2- De ta base/table
> 3- De ta connexion PHP car tu peux forcer l'encodage lors de la connexion
> Ta BDD utilise quel encodage ? Le meilleur moyen de le savoir ou de s'en
> assurer, c'est de faire un dump d'une ligne qui a un symbole euro dans
> un fichier et d'ouvrir ce fichier avec un editeur hexa pour voir si
> c'est bien de l'UTF-8 (sequence UTF-8: E2 82 AC ).
> Je dis UTF8 car il serait préférable d'être en UTF8, puisque c'est la
> norme à suivre d'après le W3C, et, qui permet justement de standardiser
> ce type de problématiques de caractères spéciaux.
> En gros, ça se rapproche avec ça :
> 
https://www.developpez.net/forums/d606691/php/php-base-donnees/encodage-caracteres-sigle/
> https://openclassrooms.com/forum/sujet/signe-euro-avec-utf8decode-79959
> Bref, assures toi déjà de connaître l'encodage de ta base de données,
> et, de ton fichier.
> Si tu as quelque chose qui n'est pas en UTF8, demande toi si il ne
> serait pas mieux de passer à l'UTF8.
> Une fois en UTF8, et, les problèmes d'accents réglés, le euro devrait
> passer sans aucun problème.
> Pense à bien sauvegarder les données, et BDD, avant de commencer à faire
> des conversions, au risque de tout casser.



Re: [1/2HS] Mysql et le symbole Euro €

2020-02-03 Par sujet G2PC


 Et si tu fais une requête de sélection avec le terminal, 
 ça retourne quoi comme réponse ? :
>>> 2020 : 20€  alors qu'avec phpmyadmin = 2020 : 20¤

D'après ce que tu écris, PHPMyAdmin retournerait le symbole en tant que
ISO 8859-1 ?

https://fr.wikipedia.org/wiki/ISO/CEI_8859-15

Lire :
https://openclassrooms.com/forum/sujet/afficher-le-symbole-euro-present-dans-une-base-de-donnees-52071


Lire :
https://forum.phpfrance.com/php-debutant/stocker-sigle-symbole-euro-dans-table-sql-t269428.html
En conclure qu'il faut vérifier l'encodage :
1- De ton fichier
2- De ta base/table
3- De ta connexion PHP car tu peux forcer l'encodage lors de la connexion


Ta BDD utilise quel encodage ? Le meilleur moyen de le savoir ou de s'en
assurer, c'est de faire un dump d'une ligne qui a un symbole euro dans
un fichier et d'ouvrir ce fichier avec un editeur hexa pour voir si
c'est bien de l'UTF-8 (sequence UTF-8: E2 82 AC ).

Je dis UTF8 car il serait préférable d'être en UTF8, puisque c'est la
norme à suivre d'après le W3C, et, qui permet justement de standardiser
ce type de problématiques de caractères spéciaux.


En gros, ça se rapproche avec ça :
https://www.developpez.net/forums/d606691/php/php-base-donnees/encodage-caracteres-sigle/
https://openclassrooms.com/forum/sujet/signe-euro-avec-utf8decode-79959



Bref, assures toi déjà de connaître l'encodage de ta base de données,
et, de ton fichier.
Si tu as quelque chose qui n'est pas en UTF8, demande toi si il ne
serait pas mieux de passer à l'UTF8.
Une fois en UTF8, et, les problèmes d'accents réglés, le euro devrait
passer sans aucun problème.

Pense à bien sauvegarder les données, et BDD, avant de commencer à faire
des conversions, au risque de tout casser.





Re: [1/2HS] Mysql et le symbole Euro €

2020-02-03 Par sujet G2PC

>> Étrange, PhpMyAdmin devrait prendre en charge UTF-8.
>> Et ta page web elle affiche le même symbole, et, elle est en UTF-8 ?
> Si je mets UTF-8, j'ai  "2020 : 20?"
>
> Sinon, ma page est en iso-8859-15.
>
>> Après, tu peux voir à contourner le problème, si tu ne l'identifies pas :
>> Encodage Html Entité Héxadécimal  | €
>> Encodage Html Entité Décimal  | €
>> Code ASCII
>> 
>> ou entité Html  | €
>> Encodage pour l'Url UTF-8 %E2%82%AC | €

Je ne voudrais pas dire de bêtise, mais, si ta page est en ISO, elle
n'affichera pas les caractères spéciaux directement, non ?

Il faudrait utiliser les codes que je t'ai proposé, le code HTML : 

Il me semble que pour utiliser le caractère directement, si tu le places
en BDD, il faut que ton site soit en UTF8, quoi que ...

  * l'ISO-8859-1 (parfois appelé latin1), qui permet d'enregistrer
presque tous les caractères du français ;
  * l'ISO-8859-15 (parfois appelé latin9), une variation de
l'ISO-8859-1, qui rajoute le symbole « euro » et le « l'o dans l'e» ;
  * l'UTF-8, qui permet théoriquement d'encoder toutes les langues, du
français au japonais en passant par l'arabe.


Tu peux lire cet échange qui résume bien ce qu'il faudrait faire :
https://forum.alsacreations.com/topic-3-53149-1-Iso-8859-15-et-.html

En gros, passer en UTF8, et, bien veiller à ce que les données soient
bien enregistrées en UTF8 pour les afficher en UTF8.
Cela va obliger à réencoder les données, très certainement ( les accents
notamment, et, les caractères spéciaux. )



Re: [1/2HS] Mysql et le symbole Euro €

2020-02-03 Par sujet ajh-valmer
On Monday 03 February 2020 19:16:54 G2PC wrote:
> >> Et si tu fais une requête de sélection avec le terminal, 
> >> ça retourne quoi comme réponse ? :
> > 2020 : 20€  alors qu'avec phpmyadmin = 2020 : 20¤

> Étrange, PhpMyAdmin devrait prendre en charge UTF-8.
> Et ta page web elle affiche le même symbole, et, elle est en UTF-8 ?

Si je mets UTF-8, j'ai  "2020 : 20?"

Sinon, ma page est en iso-8859-15.

> Après, tu peux voir à contourner le problème, si tu ne l'identifies pas :
> Encodage Html Entité Héxadécimal  | €
> Encodage Html Entité Décimal  | €
> Code ASCII
>
> ou entité Html  | €
> Encodage pour l'Url UTF-8 %E2%82%AC | €



Re: [1/2HS] Mysql et le symbole Euro €

2020-02-03 Par sujet G2PC

>> Et si tu fais une requête de sélection avec le terminal, ça retourne
>> quoi comme réponse ? :
> 2020 : 20€
>
> alors qu'avec phpmyadmin = 2020 : 20¤

Étrange, PhpMyAdmin devrait prendre en charge UTF-8.

Et ta page web elle affiche le même symbole, et, elle est en UTF-8 ?


Après, tu peux voir à contourner le problème, si tu ne l'identifies pas :

Encodage Html Entité Héxadécimal | €
Encodage Html Entité Décimal | €
Code ASCII

ou entité Html   | €
Encodage pour l'Url UTF-8   %E2%82%AC | €




Re: [1/2HS] Mysql et le symbole Euro €

2020-02-03 Par sujet ajh . valmer
On Monday 03 February 2020 14:39:52 G2PC wrote:
> Le 03/02/2020 à 13:28, ajh-valmer a écrit :
> > Depuis peu, lorsque j'INSERT ou UPDATE une table MySQL,
> > via scripts PHP et SQL, je mets le montant  : "30"
> > et apparait dans le champ via phpmyadmin : "30¤".
> > Pareil si j'écris "30€".
> > Pourtant, si j'interroge la table (SELECT),
> > apparait bien dans le navigateur "30€".
> > L'interclassement est UTF8_general_ci.
> > Si je mets : latin1_general_ci, pareil.
> > Ce problème fait suite à un upgrade de mysql.

> Et si tu fais une requête de sélection avec le terminal, ça retourne
> quoi comme réponse ? :
2020 : 20€

alors qu'avec phpmyadmin = 2020 : 20¤



[1/2HS] Mysql et le symbole Euro €

2020-02-03 Par sujet ajh-valmer
Bonjour,

Depuis peu, lorsque j'INSERT ou UPDATE une table MySQL,
via scripts PHP et SQL, je mets le montant  : "30"
et apparait dans le champ via phpmyadmin : "30¤".
Pareil si j'écris "30€".

Pourtant, si j'interroge la table (SELECT),
apparait bien dans le navigateur "30€".

L'interclassement est UTF8_general_ci.
Si je mets : latin1_general_ci, pareil.

Ce problème fait suite à un upgrade de mysql.

Merci,

A. Valmer



Re: [1/2HS] mysql : copier une ligne d'une table à une autre

2019-12-13 Par sujet Jean-Marc
Fri, 13 Dec 2019 23:30:30 +0100
"ajh-valmer"  écrivait :

> On Friday 13 December 2019 23:16:30 fab wrote:
> > > Comment copier (insérer) une ligne complète (toutes colonnes)
> > > du mail  de la table1 vers la table 2.
> 
> > si table1 a la même structure que table2:
> > insert into table2 select * from table1;
> > https://mariadb.com/kb/en/library/insert/
> 
> Je veux insérer une seule ligne complète, celle de 
> 

insert into table2 select * from table1 where ;

Jean-Marc 
https://6jf.be/keys/ED863AD1.txt


pgpvxVZSiL7Iz.pgp
Description: PGP signature


Re: [1/2HS] mysql : copier une ligne d'une table à une autre

2019-12-13 Par sujet ajh-valmer
On Friday 13 December 2019 23:16:30 fab wrote:
> > Comment copier (insérer) une ligne complète (toutes colonnes)
> > du mail  de la table1 vers la table 2.

> si table1 a la même structure que table2:
> insert into table2 select * from table1;
> https://mariadb.com/kb/en/library/insert/

Je veux insérer une seule ligne complète, celle de 



Re: [1/2HS] mysql : copier une ligne d'une table à une autre

2019-12-13 Par sujet fab

'lut,


Comment copier (insérer) une ligne complète (toutes colonnes)
du mail  de la table1 vers la table 2.

si table1 a la même structure que table2:
insert into table2 select * from table1;

https://mariadb.com/kb/en/library/insert/

a+

f.



[1/2HS] mysql : copier une ligne d'une table à une autre

2019-12-13 Par sujet ajh-valmer
Bonsoir,

Comment copier (insérer) une ligne complète (toutes colonnes)
du mail  de la table1 vers la table 2.

Vainement cherché sous Google, rien ne fonctionne.

Merci et bonne fin de soirée.

A. Valmer



Re: Encodage de fichier détérioré - Debian MySQL Mediawiki ProFTPd DropBox

2019-10-15 Par sujet G2PC


Le 14/10/2019 à 13:50, Daniel Caillibaud a écrit :
> Le 14/10/19 à 11h33, G2PC  a écrit :
>> La méthode avec mysqldump ou Automysqlbackup aboutit bien, et, comme
>> dit, si je charge par https, le fichier est fonctionnel, mais, pas si je
>> le récupère via une archive compressée sous DropBox ou FTP. 
> Dans ce cas comment est faite la compression ? Par qui ?
> (si c'est une compression faite par un script php de mediawiki, y'a p'tet
> un paramètre de charset qq part qui déconne).
>
> Si tu récupères correctement ton dump.sql via https, c'est que ce source
> est bon, et si tu trouves pas de moyen correct de le compresser sur le
> serveur avant récupération, tu peux toujours lancer la compression dans ton
> cron via une connexion ssh qui compresse sur le serveur (avec gzip ou
> bzip2 ou zip), faudra "juste" autoriser sur le serveur la connexion ssh par
> clé et la commande qui compresse.

La méthode de connexion à DropBox :
https://wiki.visionduweb.fr/index.php?title=Sauvegarder_et_reinstaller_Linux#Exporter_des_donn.C3.A9es_vers_un_cloud_ou_un_serveur


Le script de sauvegarde :
https://gist.github.com/ZerooCool/b06925403f94960e32c3c52f2db81b01



Re: Encodage de fichier détérioré - Debian MySQL Mediawiki ProFTPd DropBox

2019-10-14 Par sujet Daniel Caillibaud
Le 14/10/19 à 11h33, G2PC  a écrit :
> La méthode avec mysqldump ou Automysqlbackup aboutit bien, et, comme
> dit, si je charge par https, le fichier est fonctionnel, mais, pas si je
> le récupère via une archive compressée sous DropBox ou FTP. 

Dans ce cas comment est faite la compression ? Par qui ?
(si c'est une compression faite par un script php de mediawiki, y'a p'tet
un paramètre de charset qq part qui déconne).

Si tu récupères correctement ton dump.sql via https, c'est que ce source
est bon, et si tu trouves pas de moyen correct de le compresser sur le
serveur avant récupération, tu peux toujours lancer la compression dans ton
cron via une connexion ssh qui compresse sur le serveur (avec gzip ou
bzip2 ou zip), faudra "juste" autoriser sur le serveur la connexion ssh par
clé et la commande qui compresse.

-- 
Daniel

On tue un homme, on est un assassin.
On tue des millions d'hommes, on est un conquérant.
On les tue tous, on est un dieu.
Edmond Rostand



Re: Encodage de fichier détérioré - Debian MySQL Mediawiki ProFTPd DropBox

2019-10-14 Par sujet G2PC
Bonjour Erwann, merci de ta réponse.

Le hic, c'est que j'ai le même problème avec une archive compressée.
C'est étonnant non ?
L'archive que je récupère par DropBox ( et tâche cron ) est bien compressée.
Idem, j'ai testé via FTP, avec une archive compressée.
En décompressant, j'ai un fichier utf8 non valide.

Pour le moment, seul la méthode de transfert en https semble avoir
fonctionnée.
C'est très embêtant.

J'en ai profité pour réviser les alternatives de sauvegardes, pour
Mediawiki :
Sauvegarder Mediawiki :
https://wiki.visionduweb.fr/index.php?title=Accueil_Utiliser_MediaWiki#Sauvegarder_la_base_de_donn.C3.A9es_de_MediaWiki
Source : https://www.mediawiki.org/wiki/Manual:Backing_up_a_wiki/fr

La méthode avec mysqldump ou Automysqlbackup aboutit bien, et, comme
dit, si je charge par https, le fichier est fonctionnel, mais, pas si je
le récupère via une archive compressée sous DropBox ou FTP. C'est ce
qu'il me faut, pour pouvoir continuer d'utiliser ma tâche cron pour
exporter automatiquement ma sauvegarde.


Le 14/10/2019 à 09:24, Erwann Le Bras a écrit :
>
> bonjour
>
> Il doit s'agir d'un pb d'encodage lors du transfert du fichier.
> Le fichier de "dump" mysql est un fichier texte contenant des
> commandes SQL pour regénérer la base complète si besoin.
> Lors du transfert, le caractère "ascii" (texte) du fichier n'est pas
> respecté et il est transféré en "binaire".
> il en résulte une conversion unix/dos du fichier, en trop ou
> manquante, ce qui fait que le  fichier n'a pas les  retours chariots.
>
> Veillez à transférer le fichier en forçant le caractère "ascii" dans
> les paramètres FTP pour l'extension ".sql"
> ou compressez votre sauvegarde avant transfert pour écarter tout pb
> d'encodage.
>
> Erwann
>
> Le 13/10/2019 à 17:02, G2PC a écrit :
>>
>> Drôle de problème que je rencontre :
>>
>> J'ai une sauvegarde automatique vers DropBox, qui syncronise mes
>> fichiers, via cron.
>> Je test de rapatrier un des fichiers SQL, vers ma VM locale, l'import
>> plante, et, lorsque j'ouvre le fichier.sql, cela me dit qu'il y a un
>> problème d'encodage.
>>
>> Idem, j'exporte le fichier directement en sql, depuis le serveur, et,
>> je le met dans le dossier de mon FTP, je charge sans soucis,
>> j'importe ça plante, et, si je l'ouvre, même constat : un problème
>> d'encodage !
>>
>>
>> La ou je suis rassuré, c'est que si je déplace le même fichier sql
>> vers le répertoire de mon site, je peux charger le même fichier
>> depuis https, et, la, pas de soucis, l'import se fera sur la VM, et,
>> le fichier peut être ouvert également !!!
>>
>> En gros, mon fichier se voit, semble t'il, être détérioré, quand il
>> est récupéré depuis dropbox ? Idem, quand il est récupéré depuis
>> proFTPd ? :/
>> Mais, le même fichier est fonctionnel quand je le charge depuis https://
>>
>> Je n'y comprend rien :s
>>
>>
>> Seule remarque que je peux ajouter, ( les deux prochaines
>> configurations sont également appliquées à ma VM )
>> J'ai récemment modifié mariadb pour utiliser la collation
>> utf8mb4_unicode_ci par défaut au lieu de utf8mb4_general_ci
>> J'ai également ajouté les lignes suivantes à la configuration de
>> MariaDB :
>>
>> [mariadb-10.3]
>> innodb_file_format = Barracuda
>> innodb_file_per_table = 1
>> innodb_default_row_format = dynamic
>> innodb_large_prefix = 1
>>
>> Cela pourrait expliquer le problème de corruption de fichier lors de
>> l'export / récupération ? ( Sauf que par https, le fichier n'est PAS
>> corrompu. )
>>
>>
>> Du coup, je suis embêté, comment puis je faire pour m'assurer que ma
>> sauvegarde automatique qui se fait sur DropBox puisse être
>> fonctionnelle !?
>>


Re: Encodage de fichier détérioré - Debian MySQL Mediawiki ProFTPd DropBox

2019-10-14 Par sujet Erwann Le Bras

bonjour

Il doit s'agir d'un pb d'encodage lors du transfert du fichier.
Le fichier de "dump" mysql est un fichier texte contenant des commandes 
SQL pour regénérer la base complète si besoin.
Lors du transfert, le caractère "ascii" (texte) du fichier n'est pas 
respecté et il est transféré en "binaire".
il en résulte une conversion unix/dos du fichier, en trop ou manquante, 
ce qui fait que le  fichier n'a pas les  retours chariots.


Veillez à transférer le fichier en forçant le caractère "ascii" dans les 
paramètres FTP pour l'extension ".sql"
ou compressez votre sauvegarde avant transfert pour écarter tout pb 
d'encodage.


Erwann

Le 13/10/2019 à 17:02, G2PC a écrit :


Drôle de problème que je rencontre :

J'ai une sauvegarde automatique vers DropBox, qui syncronise mes 
fichiers, via cron.
Je test de rapatrier un des fichiers SQL, vers ma VM locale, l'import 
plante, et, lorsque j'ouvre le fichier.sql, cela me dit qu'il y a un 
problème d'encodage.


Idem, j'exporte le fichier directement en sql, depuis le serveur, et, 
je le met dans le dossier de mon FTP, je charge sans soucis, j'importe 
ça plante, et, si je l'ouvre, même constat : un problème d'encodage !



La ou je suis rassuré, c'est que si je déplace le même fichier sql 
vers le répertoire de mon site, je peux charger le même fichier depuis 
https, et, la, pas de soucis, l'import se fera sur la VM, et, le 
fichier peut être ouvert également !!!


En gros, mon fichier se voit, semble t'il, être détérioré, quand il 
est récupéré depuis dropbox ? Idem, quand il est récupéré depuis 
proFTPd ? :/

Mais, le même fichier est fonctionnel quand je le charge depuis https://

Je n'y comprend rien :s


Seule remarque que je peux ajouter, ( les deux prochaines 
configurations sont également appliquées à ma VM )
J'ai récemment modifié mariadb pour utiliser la collation 
utf8mb4_unicode_ci par défaut au lieu de utf8mb4_general_ci

J'ai également ajouté les lignes suivantes à la configuration de MariaDB :

[mariadb-10.3]
innodb_file_format = Barracuda
innodb_file_per_table = 1
innodb_default_row_format = dynamic
innodb_large_prefix = 1

Cela pourrait expliquer le problème de corruption de fichier lors de 
l'export / récupération ? ( Sauf que par https, le fichier n'est PAS 
corrompu. )



Du coup, je suis embêté, comment puis je faire pour m'assurer que ma 
sauvegarde automatique qui se fait sur DropBox puisse être 
fonctionnelle !?




Encodage de fichier détérioré - Debian MySQL Mediawiki ProFTPd DropBox

2019-10-13 Par sujet G2PC
Drôle de problème que je rencontre :

J'ai une sauvegarde automatique vers DropBox, qui syncronise mes
fichiers, via cron.
Je test de rapatrier un des fichiers SQL, vers ma VM locale, l'import
plante, et, lorsque j'ouvre le fichier.sql, cela me dit qu'il y a un
problème d'encodage.

Idem, j'exporte le fichier directement en sql, depuis le serveur, et, je
le met dans le dossier de mon FTP, je charge sans soucis, j'importe ça
plante, et, si je l'ouvre, même constat : un problème d'encodage !


La ou je suis rassuré, c'est que si je déplace le même fichier sql vers
le répertoire de mon site, je peux charger le même fichier depuis https,
et, la, pas de soucis, l'import se fera sur la VM, et, le fichier peut
être ouvert également !!!

En gros, mon fichier se voit, semble t'il, être détérioré, quand il est
récupéré depuis dropbox ? Idem, quand il est récupéré depuis proFTPd ? :/
Mais, le même fichier est fonctionnel quand je le charge depuis https://

Je n'y comprend rien :s


Seule remarque que je peux ajouter, ( les deux prochaines configurations
sont également appliquées à ma VM )
J'ai récemment modifié mariadb pour utiliser la collation
utf8mb4_unicode_ci par défaut au lieu de utf8mb4_general_ci
J'ai également ajouté les lignes suivantes à la configuration de MariaDB :

[mariadb-10.3]
innodb_file_format = Barracuda
innodb_file_per_table = 1
innodb_default_row_format = dynamic
innodb_large_prefix = 1

Cela pourrait expliquer le problème de corruption de fichier lors de
l'export / récupération ? ( Sauf que par https, le fichier n'est PAS
corrompu. )


Du coup, je suis embêté, comment puis je faire pour m'assurer que ma
sauvegarde automatique qui se fait sur DropBox puisse être fonctionnelle !?



Re: Script Iptables pour serveur web Apache2 MySQL ProFTPD avec Port Knocking pour SSH

2019-09-25 Par sujet Pascal Hambourg

Le 25/09/2019 à 14:14, G2PC a écrit :



# J'enlève la valeur SYN et l'accès web et terminal fonctionne
correctement.
-A PREROUTING -p tcp -m multiport --dports 22,80,443 -m tcp
--tcp-flags FIN,RST,ACK SYN -j CT --notrack


Cette règle n'a aucune chance de s'appliquer puisque la combinaison
masque/drapeaux est impossible. Tu testes un drapeau qui n'est pas
dans le masque, ça ne peut pas marcher.

Hum. Bon, je te crois, je commente donc cette règle, le temps d'avoir
plus d'informations sur raw et les règles conseillées.
Est ce que le masque avec le SYN (que j'ai retiré) " FIN,SYN,RST,ACK SYN
" est plus cohérente que " FIN,RST,ACK SYN " ?


Bien sûr. C'est de l'algèbre booléenne de base. La seconde liste de 
--tcp-flags doit être incluse dans la première liste.
"FIN,RST,ACK SYN" signifie "conserver les valeurs des drapeaux FIN, RST 
et ACK et mettre à 0 les autres (dont SYN), puis renvoyer vrai si dans 
le résultat SYN=1 (ce qui est impossible) et tous les autres à 0".



Comme dit, avec le SYN en deuxième position, les accès sont coupés une
fois que je place la règle *filter


L'état UNTRACKED doit interférer soit avec le filtrage en entrée, soit 
avec le filtrage en sortie. Si un paquet SYN a été classé UNTRACKED, 
alors les paquets suivants de la poignée de main (SYN+ACK sortant et ACK 
entrant) sont classés par défaut dans l'état INVALID.



# Je ne sais pas si il est nécessaire d'autoriser le loopback vers
l'extérieur, voir à trouver un exemple.


Cette phrase n'a aucun sens puisque le trafic envoyé sur l'interface
de loopback ne va pas vers l'extérieur mais revient.


Tu parles de mon commentaire concernant la règle OUTPUT qui n'a pas de
sens, dès lors ?


Je parle de la phrase ci-dessus que j'ai laissée.


-A OUTPUT -m conntrack ! --ctstate INVALID -j ACCEPT


Typiquement, le paquet de réponse SYN/ACK à un paquet SYN dans l'état
UNTRACKED (à cause de -j CT --notrack) serait classé par défaut dans
l'état INVALID. Je ne connais pas l'interaction éventuelle avec SYNPROXY.


Je ne sais pas comment appréhender ce retour.
Le -j CT --notrack est dans la ligne qui a été désactivée dans la table *raw
A suivre.


Tu pourrais accepter les paquets SYN+ACK sortants ayant un des ports 
source concernés par le SYNPROXY.



# Autoriser les connexions DNS.
-A INPUT -p tcp --dport 53 -j ACCEPT


La machine fait serveur DNS pour l'extérieur ?


Je ne pense pas ? C'est à dire, est ce qu'elle transmet des informations
vers un autre service extérieur ?


C'est-à-dire qu'elle répond à des requêtes DNS.


Hormis les pages web, non, donc, si je t'entend bien, je peux supprimer
les règles DNS ?


Il vaut mieux ne pas supprimer les règles qui acceptent les requêtes DNS 
en sortie.



Qu'est-ce que la connexion fstp ?

Oups ! sFTP


Ça utilise SSH, donc rien à voir avec le protocole FTP.


-A OUTPUT -p tcp --sport 21 -m state --state ESTABLISHED -j LOG_ACCEPT
-A OUTPUT -p tcp --sport 49152:65534 --dport 49152:65534 -m state
--state ESTABLISHED -j LOG_ACCEPT


Inutiles puisque ces paquets ont déjà été acceptés par la règle
générique qui autorise les connexions déjà établies.
De toute façon, serait-il vraiment nécessaire de loguer ces paquets ?


ça fait beaucoup de paquets à loguer ?


Ça loguerait tous les paquets sortants des connexions de commande et de 
données FTP, soit grosso modo un paquet par commande FTP et un paquet 
par bloc de 1400 octets de données de fichier téléchargé ou de contenu 
de répertoire lu. Je ne vois pas l'intérêt, loguer le premier paquet suffit.



Le client me dit ceci, on observe que j'arrive bien à me connecter la
première fois, puis, sur un second compte il n'arrive pas à récupérer le
contenu du dossier.
Je me reconnecte au second compte, et, il arrive alors a récupérer le
contenu du dossier. Vraiment étrange.
Statut :    Connexion à 139.99.173.195:21...
Statut :    Connexion établie, attente du message d'accueil...
Statut :    Initialisation de TLS...
Statut :    Vérification du certificat...
Statut :    Connexion TLS établie.


Note : si tu utilises TLS avec FTP, alors le module de suivi de 
connection nf_conntrack mentionné dans mon message précédent est aveugle 
et inutile.



Statut :    Récupération du contenu du dossier...
Commande :    PWD
Réponse :    257 "/" est le répertoire courant
Commande :    TYPE I
Réponse :    200 Type paramétré à I
Commande :    PASV
Réponse :    227 Entering Passive Mode (139,99,173,195,202,139).
Commande :    LIST
Erreur :    Connection interrompue après 20 secondes d'inactivité


Il faudrait vérifier le port source utilisé par le client pour la 
connexion de données servant au listage. Attention : si le client est 
derrière un dispositif NAT (routeur, box), ce dernier peut modifier le 
port source à la volée. Regarde dans les logs générés par iptables.



-A INPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j
LOG_ACCEPT
-A INPUT -p tcp --sport 49152:65534 --dport 49152:65534 -m state
--state ESTABLISHED,RELATED,NEW -j LOG_ACCEPT


Côté serveur, tu ne 

Re: Script Iptables pour serveur web Apache2 MySQL ProFTPD avec Port Knocking pour SSH

2019-09-25 Par sujet G2PC

>>
>> Par exemple, pour ProFTPD, il me semble avoir configuré correctement le
>> service, mais, le client FileZilla ne semble pas réussir à se connecter
>> lors de toutes ses tentatives.
>> Actuellement, j'arrive régulièrement à me connecter au client FTP, mais,
>> pas à 100%.
>> Je précise, ce n'est pas la connexion qui semble bloquer
>> occasionnellement, mais, la lecture des dossiers une fois connecté,
>> d'après ce que je lis sur FileZilla.
>
> Donc les connexions de données avec les ports de destination dynamiques.
> Est-ce que tu as chargé le module de suivi de connexion FTP
> nf_conntrack_ftp ?
> Si oui, est-ce que tu as réglé l'option nf_conntrack_helper du module
> nf_conntrack à 1 puisque je ne vois pas de règle avec CT --helper pour
> affecter explicitement le helper ftp aux connexions de commande FTP ?

Alors la, bonne question !
J'ai vu passer ce mot clé " conntrack, quelques fois ses derniers jours,
mais, je ne crois pas avoir fait quoi que ce soit à ce niveau.
Je vais chercher. Merci.

>> *raw
>>
>> # Anti DDOS.
>> # Les paquets TCP avec le flag SYN à destination des ports 22,80 ou
>> 443 ne seront pas suivi par le connexion tracker et donc traités plus
>> rapidement.
>> ## Les pages ne chargent plus avec cette règle de décommentée tout
>> comme la connexion SSH devient impossible !
>
> En temps normal, ce n'est pas seulement le paquet SYN mais tous les
> paquets suivants (entrants et sortants) qu'il faut exclure du suivi de
> connexion et accepter. Par contre j'ai vu que tu utilises SYNPROXY qui
> interagit avec le suivi de connexion, mais je ne connais pas bien.

Comme dit, pour raw, j'ai enlevé ce filtrage sur SYN, car, j'ai un
conflit avec *filter à ce moment la, et, je ne peux plus naviguer sur
les pages, ni me connecter via SSH avec ma règle Port Knocking.
J'ai repris une règle présentée dans un tutoriel, et, je l'ai laissée
ainsi, en retirant SYN.
Idem, j'ai peu d'informations sur raw et sur ses paquets a supprimer
depuis raw.

>> # J'enlève la valeur SYN et l'accès web et terminal fonctionne
>> correctement.
>> -A PREROUTING -p tcp -m multiport --dports 22,80,443 -m tcp
>> --tcp-flags FIN,RST,ACK SYN -j CT --notrack
>
> Cette règle n'a aucune chance de s'appliquer puisque la combinaison
> masque/drapeaux est impossible. Tu testes un drapeau qui n'est pas
> dans le masque, ça ne peut pas marcher.
Hum. Bon, je te crois, je commente donc cette règle, le temps d'avoir
plus d'informations sur raw et les règles conseillées.
Est ce que le masque avec le SYN (que j'ai retiré) " FIN,SYN,RST,ACK SYN
" est plus cohérente que " FIN,RST,ACK SYN " ?
Comme dit, avec le SYN en deuxième position, les accès sont coupés une
fois que je place la règle *filter, par contre, le site est fonctionnel
si je ne met QUE les restrictions dans la table *raw , de ce fait, je
pense à un effet de bord entre mes règles raw et filter.

>> # On pourrait interdire le ping avec icmp directement en PREROUTING.
>> # Pour le moment je vais l'interdire par défaut depuis *filter et
>> autoriser le ping aux services OVH.
>> # -A PREROUTING -p icmp -j DROP
>
> Erreur fréquente : ICMP, ce n'est pas seulement le ping mais aussi des
> messages d'erreur qu'il vaut mieux ne pas bloquer si on veut que les
> communications marchent bien.
Ok je prend note, j'ajoute ce commentaire au dessus de la ligne commentée.
>> # Pas de filtrage sur l'interface de loopback.
>> 
>> # Le serveur ne doit pas avoir de soucis à communiquer avec lui-même
>> au niveau des services internes.
>> # Accepter toutes les connexions de la machine locale pour permettre
>> aux services de communiquer entre eux.
>> -A INPUT -i lo -j ACCEPT
>> # Par la suite, la règle par défaut va DROP sur tous les OUTPUT non
>> autorisés.
>> # Je ne sais pas si il est nécessaire d'autoriser le loopback vers
>> l'extérieur, voir à trouver un exemple.
>
> Cette phrase n'a aucun sens puisque le trafic envoyé sur l'interface
> de loopback ne va pas vers l'extérieur mais revient.
Tu parles de mon commentaire concernant la règle OUTPUT qui n'a pas de
sens, dès lors ?

> # L'absence d'autorisation en sortie peut t'elle interférer avec
> certains services attendant une communication en sortie de loopback ?
>> # -A OUTPUT -o lo -j ACCEPT
OK, je décommente donc la règle OUTPUT pour le loopback. Merci.

>
> Evidemment ça interfère. Tout paquet envoyé sur l'interface de
> loopback passe successivement par les chaînes OUTPUT, POSTROUTING,
> PREROUTING et INPUT et doit être accepté dans toutes pour arriver à
> destination.
>
>> -A OUTPUT -m conntrack ! --ctstate INVALID -j ACCEPT
>
> Typiquement, le paquet de réponse SYN/ACK à un paquet SYN dans l'état
> UNTRACKED (à cause de -j CT --notrack) serait classé par défaut dans
> l'état INVALID. Je ne connais pas l'interaction éventuelle avec SYNPROXY.
Je ne sais pas comment appréhender ce retour.
Le -j CT --notrack est dans la ligne qui a été désactivée dans la table *raw
A suivre.

>
>> 
>> # Autoriser les services web.
>> 
>> # 

Re: Script Iptables pour serveur web Apache2 MySQL ProFTPD avec Port Knocking pour SSH

2019-09-25 Par sujet Pascal Hambourg

Le 24/09/2019 à 23:46, G2PC a écrit :


Par exemple, pour ProFTPD, il me semble avoir configuré correctement le
service, mais, le client FileZilla ne semble pas réussir à se connecter
lors de toutes ses tentatives.
Actuellement, j'arrive régulièrement à me connecter au client FTP, mais,
pas à 100%.
Je précise, ce n'est pas la connexion qui semble bloquer
occasionnellement, mais, la lecture des dossiers une fois connecté,
d'après ce que je lis sur FileZilla.


Donc les connexions de données avec les ports de destination dynamiques.
Est-ce que tu as chargé le module de suivi de connexion FTP 
nf_conntrack_ftp ?
Si oui, est-ce que tu as réglé l'option nf_conntrack_helper du module 
nf_conntrack à 1 puisque je ne vois pas de règle avec CT --helper pour 
affecter explicitement le helper ftp aux connexions de commande FTP ?



*raw

# Anti DDOS.
# Les paquets TCP avec le flag SYN à destination des ports 22,80 ou 443 ne 
seront pas suivi par le connexion tracker et donc traités plus rapidement.
## Les pages ne chargent plus avec cette règle de décommentée tout comme la 
connexion SSH devient impossible !


En temps normal, ce n'est pas seulement le paquet SYN mais tous les 
paquets suivants (entrants et sortants) qu'il faut exclure du suivi de 
connexion et accepter. Par contre j'ai vu que tu utilises SYNPROXY qui 
interagit avec le suivi de connexion, mais je ne connais pas bien.



# J'enlève la valeur SYN et l'accès web et terminal fonctionne correctement.
-A PREROUTING -p tcp -m multiport --dports 22,80,443 -m tcp --tcp-flags 
FIN,RST,ACK SYN -j CT --notrack


Cette règle n'a aucune chance de s'appliquer puisque la combinaison 
masque/drapeaux est impossible. Tu testes un drapeau qui n'est pas dans 
le masque, ça ne peut pas marcher.



# On pourrait interdire le ping avec icmp directement en PREROUTING.
# Pour le moment je vais l'interdire par défaut depuis *filter et autoriser le 
ping aux services OVH.
# -A PREROUTING -p icmp -j DROP


Erreur fréquente : ICMP, ce n'est pas seulement le ping mais aussi des 
messages d'erreur qu'il vaut mieux ne pas bloquer si on veut que les 
communications marchent bien.



# Pas de filtrage sur l'interface de loopback.

# Le serveur ne doit pas avoir de soucis à communiquer avec lui-même au niveau 
des services internes.
# Accepter toutes les connexions de la machine locale pour permettre aux 
services de communiquer entre eux.
-A INPUT -i lo -j ACCEPT
# Par la suite, la règle par défaut va DROP sur tous les OUTPUT non autorisés.
# Je ne sais pas si il est nécessaire d'autoriser le loopback vers l'extérieur, 
voir à trouver un exemple.


Cette phrase n'a aucun sens puisque le trafic envoyé sur l'interface de 
loopback ne va pas vers l'extérieur mais revient.



# L'absence d'autorisation en sortie peut t'elle interférer avec certains 
services attendant une communication en sortie de loopback ?
# -A OUTPUT -o lo -j ACCEPT


Evidemment ça interfère. Tout paquet envoyé sur l'interface de loopback 
passe successivement par les chaînes OUTPUT, POSTROUTING, PREROUTING et 
INPUT et doit être accepté dans toutes pour arriver à destination.



-A OUTPUT -m conntrack ! --ctstate INVALID -j ACCEPT


Typiquement, le paquet de réponse SYN/ACK à un paquet SYN dans l'état 
UNTRACKED (à cause de -j CT --notrack) serait classé par défaut dans 
l'état INVALID. Je ne connais pas l'interaction éventuelle avec SYNPROXY.




# Autoriser les services web.

# Autoriser les connexions DNS.
-A INPUT -p tcp --dport 53 -j ACCEPT


La machine fait serveur DNS pour l'extérieur ?


-A INPUT -p udp --sport 53 -j ACCEPT


Cette règle est une faille de sécurité en plus d'être inutile.


# Configurer le FTP et le pare-feu pour utiliser la plage de ports passifs 
entre 49152-65534 proposée par IANA.
# Noter que la connexion de semble pas s'établir à chaque fois et qu'il est 
nécessaire de retenter la connexion.
# Noter que la connexion fstp n'est pas configurée actuellement. A faire !


Qu'est-ce que la connexion fstp ?


-A OUTPUT -p tcp --sport 21 -m state --state ESTABLISHED -j LOG_ACCEPT
-A OUTPUT -p tcp --sport 49152:65534 --dport 49152:65534 -m state --state 
ESTABLISHED -j LOG_ACCEPT


Inutiles puisque ces paquets ont déjà été acceptés par la règle 
générique qui autorise les connexions déjà établies.

De toute façon, serait-il vraiment nécessaire de loguer ces paquets ?


-A INPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j LOG_ACCEPT
-A INPUT -p tcp --sport 49152:65534 --dport 49152:65534 -m state --state 
ESTABLISHED,RELATED,NEW -j LOG_ACCEPT


Côté serveur, tu ne maîtrises pas la plage de ports du client. 
Restreindre les ports source du client à la même plage que celle du 
serveur est abusif.



# Autoriser les connexions au serveur web Apache2.
-A INPUT -p tcp --dport 80 -j ACCEPT
-A OUTPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
-A OUTPUT -p tcp --dport 443 -j ACCEPT


Maintenant que ces paquets sont acceptées, toutes les règles suivantes 

Script Iptables pour serveur web Apache2 MySQL ProFTPD avec Port Knocking pour SSH

2019-09-24 Par sujet G2PC
Merci à tous pour vos précédents retours concernant ICMP.

J'ai pu avancer, à mon niveau, avec les quelques règles Iptables suivantes.
Situation : Serveur VPS OVH - Apache2 MariaDB ProFTPd - Pas de serveur
de mail à proprement parler ( Un peu de Exim4 ici et de mutt / mailx par
la. )

J'ai tenté de prendre en considérations vos précédents retours, mais,
j'ai parfois fait l'impasse, par manque de temps ou de compréhension.

Voilà le récapitulatif complet, pour ce que j'ai pu en apprendre et
comprendre -> pour le moment <-
Vos retours sont les bienvenus pour continuer à améliorer ce script.

La bonne nouvelle, c'est que ce script semble fonctionner !
Mes pages web sont délivrées, je peux me connecter à SSH via Port
Knocking ! Cela répond à mes premières attentes !

Par contre, il s'y cache peut être des effets de bord, et, certainement,
des optimisations à mener.

Par exemple, pour ProFTPD, il me semble avoir configuré correctement le
service, mais, le client FileZilla ne semble pas réussir à se connecter
lors de toutes ses tentatives.
Actuellement, j'arrive régulièrement à me connecter au client FTP, mais,
pas à 100%.
Je précise, ce n'est pas la connexion qui semble bloquer
occasionnellement, mais, la lecture des dossiers une fois connecté,
d'après ce que je lis sur FileZilla.
Plus d'informations dans la partie *filter, ou j'ai indiqué la plage de
ports que j'ai du ouvrir pour permettre à FileZilla de fonctionner
globalement, en utilisant une connexion passive.


Je n'en dis pas plus, bonne lecture, et, bonnes critiques !


  Règle personnalisée pour configurer Iptables raw

# Créer le fichier iptables-firewall-raw.rules et ajouter les règles suivantes.
# sudo nano iptables-firewall-raw.rules

# Début de la règle raw.
*raw

# Anti DDOS.
# Les paquets TCP avec le flag SYN à destination des ports 22,80 ou 443 ne 
seront pas suivi par le connexion tracker et donc traités plus rapidement.
## Les pages ne chargent plus avec cette règle de décommentée tout comme la 
connexion SSH devient impossible !
## Ce blocage semble apparaître quand j'active les règles de la table raw et 
filter.
## -A PREROUTING -p tcp -m multiport --dports 22,80,443 -m tcp --tcp-flags 
FIN,SYN,RST,ACK SYN -j CT --notrack
# J'enlève la valeur SYN et l'accès web et terminal fonctionne correctement.
-A PREROUTING -p tcp -m multiport --dports 22,80,443 -m tcp --tcp-flags 
FIN,RST,ACK SYN -j CT --notrack

# Donc, ici, j'ai eu un blocage web et de ma connexion SSH, quand je 
laissais la valeur SYN, puis, que j'ajoutais la règle *filter.
# Est ce du à un conflit de règle, entre raw et filter ?
# J'ai supprimé la valeur SYN, et, maintenant, les pages web et la 
connexion SSH semble fonctionner correctement, même après l'ajout de la règle 
*filter.

# Maîtrise de charge.
# Regrouper les adresses IP sources par bloc de 256 sous réseaux en /24 et 
n’autoriser qu'un nombre maximum de demandes de connexions SYN par seconde pour 
chaque sous réseau.
# Utiliser le module hashlimit. Permet de mettre un plafond de connexion par 
seconde vers le serveur par groupe de 256 IP.
-A PREROUTING -p tcp -m tcp --syn -m multiport --dports 22,80,443 -m hashlimit 
--hashlimit-above 200/sec --hashlimit-burst 1000 --hashlimit-mode srcip 
--hashlimit-name syn --hashlimit-htable-size 2097152 --hashlimit-srcmask 24 -j 
DROP

# Fin de la règle.
COMMIT

# Importer le script dans Iptables.
# sudo iptables-restore < iptables-firewall-raw.rules

# Vérifier que les règles aient bien été ajoutées dans la table raw :
# sudo iptables -t raw -L


  Règle personnalisée pour configurer Iptables mangle

# Créer le fichier iptables-firewall-mangle.rules et ajouter les règles 
suivantes.
# sudo nano iptables-firewall-mangle.rules

# Début de la règle mangle.
*mangle

# Bloquer la fragmentation TCP :
-A PREROUTING -f -j DROP

# Paquet avec SYN et FIN à la fois :
-A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
# Paquet avec SYN et RST à la fois
-A PREROUTING -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP
# Paquet avec FIN et RST à la fois
-A PREROUTING -p tcp -m tcp --tcp-flags FIN,RST FIN,RST -j DROP
# Paquet avec FIN mais sans ACK
-A PREROUTING -p tcp -m tcp --tcp-flags FIN,ACK FIN -j DROP
# Paquet avec URG mais sans ACK
-A PREROUTING -p tcp -m tcp --tcp-flags ACK,URG URG -j DROP
# Paquet avec PSH mais sans ACK
-A PREROUTING -p tcp -m tcp --tcp-flags PSH,ACK PSH -j DROP
# Paquet avec tous les flags à 1 <=> XMAS scan dans Nmap
-A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG 
FIN,SYN,RST,PSH,ACK,URG -j DROP
# Paquet avec tous les flags à 0 <=> Null scan dans Nmap
-A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
# Paquet avec FIN,PSH, et URG mais sans SYN, RST ou ACK
-A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j 
DROP
# Paquet avec FIN,SYN,PSH,URG mais sans ACK ou RST
-A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,PSH,URG 
-j DROP
# Paquet avec 

Re: Couper le service mysql au démarrage

2019-09-03 Par sujet G2PC


> La première chose serait de préciser quel système tu utilises pour démarrer 
> ton ordi.
> SysVInit ou systemd ?
>
> Les version récentes de Debian utilisent systemd.
>
> Dans ce cas,
> .  permet d'avoir un aperçu du status des services qui sont 
> démarrés ;
> .  permet de savoir quel est le statut du 
> service mysql.service (pour autant qu'il soit installé) ;
> .  permet de l'arrêter ;
> .  permet de le déactiver et évite qu'il ne 
> démarre quand tu bootes ;
> .  permet de le démarrer ;
> .  permet de l'activer pour qu'il démarre 
> automatiquement au boot ;


Ok, merci Jean-Marc



Re: Couper le service mysql au démarrage

2019-08-31 Par sujet Jean-Marc
Sat, 31 Aug 2019 20:27:29 +0200
G2PC  écrivait :

> A tester mais du coup, je l'active comment quand j'en ai besoin ? Un
> simple mysql start ?

La première chose serait de préciser quel système tu utilises pour démarrer ton 
ordi.
SysVInit ou systemd ?

Les version récentes de Debian utilisent systemd.

Dans ce cas,
.  permet d'avoir un aperçu du status des services qui sont 
démarrés ;
.  permet de savoir quel est le statut du 
service mysql.service (pour autant qu'il soit installé) ;
.  permet de l'arrêter ;
.  permet de le déactiver et évite qu'il ne 
démarre quand tu bootes ;
.  permet de le démarrer ;
.  permet de l'activer pour qu'il démarre 
automatiquement au boot ;

Modifier un service ou le démarrer, le stopper nécessite les droits root.  
Afficher son statut ne le nécessite pas.

Voir aussi https://www.cheatography.com/tme520/cheat-sheets/systemd/

Jean-Marc 
https://6jf.be/keys/ED863AD1.txt


pgpe_naapg1vX.pgp
Description: PGP signature


Re: Couper le service mysql au démarrage

2019-08-31 Par sujet Belaïd
Bonsoir,

systemctl start mysql quand tu voudras exécuter mysql a un moment donné . A
mon avis il faudrait que tu regarde un peu comment systemd fonctionne.
Ci-dessous une introduction a systemd:

http://debian-facile.org/doc:system:systemd

.

Le sam. 31 août 2019 20:27, G2PC  a écrit :

> A tester mais du coup, je l'active comment quand j'en ai besoin ? Un
> simple mysql start ?
>
>
> systemctl disable mysql.service ne fait pas l'affaire ?
>
> Le ven. 30 août 2019 16:50, G2PC  a écrit :
>
>> J'ai lu que je pouvais éventuellement couper le service mysql au
>> démarrage de ma machine locale, même si pas forcément utile.
>>
>> J'ai fait :
>> /etc/init $ sudo mv mysql.conf mysql.conf.bak
>>
>> J'avais aussi commenté dans ce même fichier la ligne start ...
>>
>> Pourtant, le service Mysql est toujours démarré après le redémarrage de
>> la machine.
>> Une idée ?
>>
>>


Re: Couper le service mysql au démarrage

2019-08-31 Par sujet G2PC
A tester mais du coup, je l'active comment quand j'en ai besoin ? Un
simple mysql start ?

>
> systemctl disable mysql.service ne fait pas l'affaire ?
>
> Le ven. 30 août 2019 16:50, G2PC  <mailto:g...@visionduweb.com>> a écrit :
>
> J'ai lu que je pouvais éventuellement couper le service mysql au
> démarrage de ma machine locale, même si pas forcément utile.
>
> J'ai fait :
> /etc/init $ sudo mv mysql.conf mysql.conf.bak
>
> J'avais aussi commenté dans ce même fichier la ligne start ...
>
> Pourtant, le service Mysql est toujours démarré après le
> redémarrage de
> la machine.
> Une idée ?
>


Re: Couper le service mysql au démarrage

2019-08-30 Par sujet Belaïd
bonjour,

systemctl disable mysql.service ne fait pas l'affaire ?

Le ven. 30 août 2019 16:50, G2PC  a écrit :

> J'ai lu que je pouvais éventuellement couper le service mysql au
> démarrage de ma machine locale, même si pas forcément utile.
>
> J'ai fait :
> /etc/init $ sudo mv mysql.conf mysql.conf.bak
>
> J'avais aussi commenté dans ce même fichier la ligne start ...
>
> Pourtant, le service Mysql est toujours démarré après le redémarrage de
> la machine.
> Une idée ?
>
>


  1   2   3   4   5   6   7   8   9   10   >