La Fibre

Fonctionnement du forum => A lire avant de commencer... => profile Évolution de LaFibre.info, bugs et critiques => Discussion démarrée par: vivien le 19 août 2017 à 19:20:10

Titre: Migration vers PHP 7.0 du serveur hébergeant LaFibre.info
Posté par: vivien le 19 août 2017 à 19:20:10
J'ai réalisé plusieurs modifications qui visent a assurer la compatibilité PHP 7.0
Merci de reporter ton comportement anormal du forum.
Note : On est encore avec PHP 5.5, je suis dans les modifications préliminaires.

Avant de migrer, j'ai réalisé des tests sur en copiant l'intégralité du serveur sur un machine de test. J'ai eu une bonne idée, car si la dernière mise à jour de SMF assure la compatibilité PHP 7.0, le thème mobile ne l'étais pas. Je viens de modifier function smf_mobile_theme_rewrite_buffer(&$buffer) par function smf_mobile_theme_rewrite_buffer($buffer) : un seul caractère a supprimer assure la compatibilité PHP 7 du mod.

J'ai également réalisé quelques modifications sur la base de donnée. Un mod, installé il y a 11 ans, gardait pour chaque message le système d’exploitation utilisé, la navigateur et sa version. Des champs avaient été donc rajouté à la table MySQL.

PHP 7 n’apprécie pas que ces champs ne soient plus initialisés (Erreur de base de données: Field 'k_br' doesn't have a default value), vu que le mod a été rapidement désinstallé il y a 11 ans.
J'ai donc supprimés les champs associés.

Pour information, voici les navigateurs de l'époque, récupérés par le mod :
- Windows XP / MSIE / 6.0
- Windows XP / Firefox / 1.5.0.8
- Windows XP / Opera / 9.10
- Windows 2000 / MSIE / 6.0
- Windows 2000 / Firefox / 1.5.0.6

Je m’attaque a la migration du script pour la gestion du ram disque utilisé pour SmokePing, car la migration vers Ubuntu server 16.04 LTS sera l’occasion de passer de System V a systemd.
Titre: Migration vers PHP 7.0 du seveur hébergant LaFibre.info
Posté par: Nh3xus le 19 août 2017 à 23:50:35
Je suis intéressé par les gains de perfs côté charge du serveur.

Si tu publies ce genre de chose bien entendu.

Côté Ubuntu server, tu utilises un PPA pour récupérer PHP 7.0 ?
Titre: Migration vers PHP 7.0 du seveur hébergant LaFibre.info
Posté par: Hugues le 20 août 2017 à 00:20:21
Backports ou pinning APT, les PPA c'est pour les mauvais admins.
Titre: Migration vers PHP 7.0 du seveur hébergant LaFibre.info
Posté par: miky01 le 20 août 2017 à 01:32:23

Pour information, voici les navigateurs de l'époque, récupérés par le mod :
- Windows XP / MSIE / 6.0
- Windows XP / Firefox / 1.5.0.8
- Windows XP / Opera / 9.10
- Windows 2000 / MSIE / 6.0
- Windows 2000 / Firefox / 1.5.0.6


Pfff...  Mosaic, ( la base de Netscape 1.0) est meme pas dans ta liste  :)

Faudra aussi penser a migrer la fibre.info sur une machine qui tient la route: (ca va te plaire ce systeme, compatible UNIX)
 
http://www.ictjournal.ch/news/2017-06-19/la-suisse-deloge-les-etats-unis-du-podium-des-superordinateurs
Titre: Migration vers PHP 7.0 du seveur hébergant LaFibre.info
Posté par: vivien le 20 août 2017 à 05:26:22
Dernière sauvegarde et je migre...

Il y va y avoir une coupure du site de 20 minutes environ.
Titre: Migration vers PHP 7.0 du seveur hébergant LaFibre.info
Posté par: vivien le 20 août 2017 à 06:21:09
Upgrade réalisé.

Je vais sans doute faire un ou deux reboot, il y a des fichiers a personnaliser et je vais activer le watch dog.
Titre: Migration vers PHP 7.0 du seveur hébergant LaFibre.info
Posté par: vivien le 20 août 2017 à 08:46:28
J'ai pas mal d’erreurs qui remontent concernant la base de données (Incorrect string value: '''' for function inet_aton)

Je vais désactiver l'IPv6 pour lafibre.info quelques heures pour être sur que c'est bien les visites en IPv6 qui génèrent çe pb.

inet_aton gère l'IPv4, pas l'IPv6 (il faut appeler inet_aton6)
Titre: Migration vers PHP 7.0 du seveur hébergant LaFibre.info
Posté par: alain_p le 20 août 2017 à 09:05:42
Effectivement, je vois que le site n'affiche plus que je suis en IPv6. J'ai eu plusieurs erreurs d'accès au site (base de données), dans les 45 dernières minutes. Mais là, c'est bon semble-t-il. Cela pourrait effectivement venir d'IPv6.
Titre: Migration vers PHP 7.0 du seveur hébergant LaFibre.info
Posté par: vivien le 20 août 2017 à 09:32:48
Je n'avais pas réalisé des tests de régression en IPv6.

C'est une sacré régression : il n'était même pas possible de consulter le forum pour ceux qui étaient en IPv6.

On tombaient sur ce message systématiquement :
(https://lafibre.info/images/ipv6/201708_forum_smf_regression_ipv6.png)
Titre: Migration vers PHP 7.0 du seveur hébergant LaFibre.info
Posté par: alain_p le 20 août 2017 à 09:45:52
Oui, tout à fait, c'était mon expérience. Sauf qu'à certains moments, j'ai eu accès quand même à la page des sujets non lus. Je ne pouvais pas non plus envoyer un message personnel.
Titre: Migration vers PHP 7.0 du seveur hébergant LaFibre.info
Posté par: Nh3xus le 20 août 2017 à 11:08:54
Je comprends mieux pourquoi dig me remontait aucune entrée AAAA pour lafibre.  :o
Titre: Migration vers PHP 7.0 du seveur hébergant LaFibre.info
Posté par: vivien le 20 août 2017 à 11:56:48
Pour faire des test de ping / traceroute en IPv6, il faut utiliser ip.lafibre.info (A et AAAA) ipv6.lafibre.info (AAAA uniquement) ou ipv4.lafibre.info (A uniquement)

http://ip.lafibre.info/ fonctionne toujours en IPv6, lui
Titre: Migration vers PHP 7.0 du seveur hébergant LaFibre.info
Posté par: Cochonou le 20 août 2017 à 19:55:51
Pfff...  Mosaic, ( la base de Netscape 1.0) est meme pas dans ta liste  :)
Pour moi, c'était IE qui était basé sur Mosaic...
Titre: Migration vers PHP 7.0 du seveur hébergant LaFibre.info
Posté par: Optix le 20 août 2017 à 21:34:01
J'ai pas mal d’erreurs qui remontent concernant la base de données (Incorrect string value: '''' for function inet_aton)

Je vais désactiver l'IPv6 pour lafibre.info quelques heures pour être sur que c'est bien les visites en IPv6 qui génèrent çe pb.

inet_aton gère l'IPv4, pas l'IPv6 (il faut appeler inet_aton6)

Pourquoi as-tu besoin d'inet_aton ? C'est le ban IP qui en a besoin ?
Titre: Migration vers PHP 7.0 du serveur hébergeant LaFibre.info
Posté par: vivien le 20 août 2017 à 21:40:09
C'est le cœur du moteur du forum qui l'utilise.

Moi personnellement j'aimerais bien désactiver tout ça.

L'IP est utilisé pour de nombreuses choses, pour chaque action, même une recherche sans être connecté, il y a des limites par IP, pour éviter que des IP DOS le serveur avec des opérations lourdes ou SPAM le forum.

Chaque message posté a l'IP qui est logée pour les obligations légales.
Titre: Migration vers PHP 7.0 du serveur hébergeant LaFibre.info
Posté par: turold le 20 août 2017 à 23:56:02
Salut,

C'est le cœur du moteur du forum qui l'utilise.

Moi personnellement j'aimerais bien désactiver tout ça.
C'est surtout cela le problème. Qui va vouloir, tout seul, désactiver "tout ça"?
Enfin, si on parle bien du code en lui-même.

L'IP est utilisé pour de nombreuses choses, pour chaque action, même une recherche sans être connecté, il y a des limites par IP, pour éviter que des IP DOS le serveur avec des opérations lourdes ou SPAM le forum.
Sauf que t'as désactivé ces protections par IP, car Corrector avait souvent un problème pour poster à cause de l'IPv6... Enfin, mis les valeurs mini entre chaque message d'un IP à 0 seconde.
Ceci dit, en ayant enlevé l'IPv6 du forum, tu vas pouvoir remettre comme avant (et je te le conseille!).  ;)

Chaque message posté a l'IP qui est logée pour les obligations légales.
... uniquement aux US, concernant les actions de dev des moteurs de forums.

Par exemple, en France, aucune Loi interdit l'accès à internet aux moins de 13 ans... pourtant indiqué dans toutes les FAQ par défaut des forum/blog/RS.

Pour le fait de garder les IP, à part un débat ping-pong entre les pays membre de l'UE, et l'UE: rien de concret à part la CNIL qui conseille un truc... que personne ne respecte!
=> supprimer les IP après 6 mois...

Après, on peut se dire que nos Lois rejoindront celles des US dans les prochaines années. C'est un pari qu'on peut faire. Et vu les diplomaties européennes, c'est possible de le penser.
Titre: Migration vers PHP 7.0 du serveur hébergeant LaFibre.info
Posté par: vivien le 21 août 2017 à 09:00:02
En France, le décret du 24 mars 2006 oblige a conserver les IP de toute personne ayant contribué à la création d’un contenu pendant 1 an. Cette durée n’est pas harmonisée dans l’Union (3 mois aux Pays Bas, 4 ans en Italie)

Pour les limitations, je vais laisser tel que, cr les CG-Nat vont bien se développer dans les mois qui viennent.

De plus en plus de FAI alternatifs passent au CG-Nat par manque d'IP (bien sur ils n'en font pas de pub)
Titre: Migration vers PHP 7.0 du serveur hébergeant LaFibre.info
Posté par: Optix le 21 août 2017 à 09:27:07
C'est le cœur du moteur du forum qui l'utilise.

Moi personnellement j'aimerais bien désactiver tout ça.

L'IP est utilisé pour de nombreuses choses, pour chaque action, même une recherche sans être connecté, il y a des limites par IP, pour éviter que des IP DOS le serveur avec des opérations lourdes ou SPAM le forum.

Chaque message posté a l'IP qui est logée pour les obligations légales.

Le code de LaFibre.info a un repo Git pour qu'on puisse t'adapter les fonctions inet_aton & cie ?
Titre: Migration vers PHP 7.0 du serveur hébergeant LaFibre.info
Posté par: vivien le 21 août 2017 à 10:18:51
Oui pour SMF 2.1 la prochaine version : https://github.com/SimpleMachines/SMF2.1

SMF 2.1 est déjà compatible IPv6
Le pb c'est qu'elle n'est pas prête pour la prod.

Il existe aussi un mod pour SMF 2.0 qui n'est plus maintenu et qui pose pb pour la mise à jour en 2.1
Donc en attendant, je pense que le mieux est de désactiver IPv6.
Titre: Migration vers PHP 7.0 du serveur hébergeant LaFibre.info
Posté par: TroniQ89 le 21 août 2017 à 12:16:40
Côté PHP, as-tu essayé HHVM, PHPng ou similaire ? (conversion du code PHP en binaire puis exécution de ce code binaire). J'ai testé ça sur une machine, ça consomme un poil plus de RAM, mais j'ai l'impression que niveau perfs c'est bien mieux.
Titre: Migration vers PHP 7.0 du serveur hébergeant LaFibre.info
Posté par: vivien le 21 août 2017 à 12:46:53
Ce qui consomme le plus de CPU, ce n'est pas PHP et le forum, mais SmokePing.

Je ne sais pas si vous avez-vu, depuis quelques jours, il y a des ondes déportées chez Orange, SFR, Bouygues, Free, FreeMobile, Online, et il va y avoir d'autres.

Cela permet de tester tous les Tiers-1 et les principales cibles (Netflix je n'arrive pas a trouver une cible) en IPv4 et en IPv6.
Aujourd'hui je réalise deux test par cible ; un test ICMP et un test d'un téléchargement d'un fichier de 1 ou 2 Ko en https avec curl
Un gain important de CPU serait de supprimer un des deux tests (ICMP vs HTTPS). Je vais peut-être lancer un sondage sur le sujet.
Titre: Migration vers PHP 7.0 du serveur hébergeant LaFibre.info
Posté par: turold le 21 août 2017 à 20:07:00
En France, le décret du 24 mars 2006 oblige a conserver les IP de toute personne ayant contribué à la création d’un contenu pendant 1 an. Cette durée n’est pas harmonisée dans l’Union (3 mois aux Pays Bas, 4 ans en Italie)
En effet pour 2006. Il m'a filé sous le nez...

Du côté CNIL, cela doit être la suppression de ces même données au bout d'un an. Sinon il y aurait contradiction au sein de la France.^^
Mais 99% des admins ne modifie pas les logiciels tiers... qui ne mettent pas de paramètre de suppression auto (ou que partiellement) au bout d'un moment.

Pour les limitations, je vais laisser tel que, cr les CG-Nat vont bien se développer dans les mois qui viennent.

De plus en plus de FAI alternatifs passent au CG-Nat par manque d'IP (bien sur ils n'en font pas de pub)
Free aussi, mais en profitera pour faire payer l'option du full stack.
Pas de petits profits.^^ Mais pas pour tout de suite. Sauf si j'ai loupé un payement de l'option, c'est encore qu'en réflexion.
Titre: Migration vers PHP 7.0 du serveur hébergeant LaFibre.info
Posté par: vivien le 21 août 2017 à 21:28:44
Free met 4 clients par IPv4.

D'autres montent à 500 clients par IPv4 (difficile de monter au-dessus, 500 clients avec chacun 128 ports utilisés = 64 000 ports utilisés).
Titre: Migration vers PHP 7.0 du seveur hébergant LaFibre.info
Posté par: vivien le 31 mars 2018 à 21:27:47
J'ai mis un patch pour IPv6.

Normalement le forum sera de nouveau accessible en IPv6 demain matin.

Je réaliserais des tests de non régressions demain matin.

En cas de problème n’hésitez pas a me prévenir sur twitter : https://x.com/lafibreinfo

La régression IPv6 que j'ai eu lors du passage à PHP 7 bloquait complètement l'utilisation du forum :
Je n'avais pas réalisé des tests de régression en IPv6.

C'est une sacré régression : il n'était même pas possible de consulter le forum pour ceux qui étaient en IPv6.

On tombaient sur ce message systématiquement :
(https://lafibre.info/images/ipv6/201708_forum_smf_regression_ipv6.png)
Titre: Migration vers PHP 7.0 du serveur hébergeant LaFibre.info
Posté par: Optix le 31 mars 2018 à 23:14:10
Petite astuce, si tu veux tester, préfère forcer ton propre fichier "hosts" avec l'IPv6 que toi seul connait. Bon on verra demain.
Titre: Migration vers PHP 7.0 du serveur hébergeant LaFibre.info
Posté par: vivien le 01 avril 2018 à 08:42:48
A priori il y a toujours des problèmes avec le mod IPv6.

 :'( :'( :'(

Incorrect string value: ''2a01:cb08:768:xx00:600b:1bbd:5541:6de0'' for function inet_aton
Fichier: /forum/Sources/Subs.php
Ligne: 2675
Titre: Migration vers PHP 7.0 du serveur hébergeant LaFibre.info
Posté par: vivien le 11 avril 2018 à 22:43:20
Optix a codé un nouveau mod pour prendre en charge l'IPv6.

Il est installé.

J'attends vos retours avant d'activer IPv6 pour tous.

Pour forcer l’utilisation d'IPv6, il faut rajouter dans /etc/hosts :

2a01:6e00:10:410::2 lafibre.info
Titre: Migration vers PHP 7.0 du serveur hébergeant LaFibre.info
Posté par: jack le 11 avril 2018 à 22:50:16
->
Erreur de base de données
Merci de réessayer. Si l'erreur se reproduit, signalez cette erreur à un administrateur.

:/
Titre: Migration vers PHP 7.0 du serveur hébergeant LaFibre.info
Posté par: Optix le 11 avril 2018 à 22:52:17
Optix a codé un nouveau mod pour prendre en charge l'IPv6.

Il est installé.

J'attends vos retours avant d'activer IPv6 pour tous.

Pour forcer l’utilisation d'IPv6, il faut rajouter dans /etc/hosts :

2a01:6e00:10:410::2 lafibre.info

Fail, erreur de base de données. Je n'arrive pas à reproduire de mon côté avec mon SMF local (tu vérifies le multicompte ou truc du genre ?). Peux-tu me passer en privé les réglages et ta config pour que je me calque dessus ? Je te corrige ça ;)

Edit: j'ai compris, tu as encore la structure de la BDD avec l'ancien plugin, où l'IP est divisée en 8 colonnes d'entiers :p Faut qu'on voit comment on peut faire notre coup.
Titre: Migration vers PHP 7.0 du serveur hébergeant LaFibre.info
Posté par: vivien le 11 avril 2018 à 23:04:08
J'ai désinstallé l'ancien plug-in proprement pourtant

Je te passe le contenu de ce que j'ai d'installé demain.
Titre: Migration vers PHP 7.0 du serveur hébergeant LaFibre.info
Posté par: kazyor le 12 avril 2018 à 00:06:28
Malgré ce message :
IPv6 est désactivé, suite à la mise à jour vers PHP 7.

On en parle dans le sujet Migration vers PHP 7.0 du serveur hébergeant LaFibre.info (https://lafibre.info/evolution/migration-vers-php-7-0/)
IPv6 sera réactivé quand le code de SMF prendra en charge l'IPv6.

Pour faire un traceroute, vous pouvez utiliser ip.lafibre.info qui est en IPv4 et IPv6 (et ipv6.lafibre.info pour un nom de domaine IPv6 only)

Est-il possible pour les tests des users d'ajouter un enregistrement www6.lafibre.info (ou autre) ?
Sur ma conf, pour avoir une vraie ipv6 je dois faire joujou à coups de vpn, ssh et proxy ... je ne peux donc que très difficilement modifier les hosts :(
Titre: Migration vers PHP 7.0 du serveur hébergeant LaFibre.info
Posté par: vivien le 12 avril 2018 à 06:43:56
En fait le problème, c'est que SMF réécrit les URL et que dés la connexion tu seras redirigé vers le bon nom de domaine.

Dés qu'IPv6 est ok, on l'active pour tous.
Titre: Migration vers PHP 7.0 du serveur hébergeant LaFibre.info
Posté par: Optix le 17 avril 2018 à 22:41:23
Plop

Pouvez-vous retenter le coup pour voir ?
Titre: Migration vers PHP 7.0 du serveur hébergeant LaFibre.info
Posté par: pioup le 17 avril 2018 à 22:49:46
ça fonctionne
Titre: Migration vers PHP 7.0 du serveur hébergeant LaFibre.info
Posté par: Fabzoul le 17 avril 2018 à 23:21:40
ça fonctionne nickel ici aussi en IPv6
Titre: Migration vers PHP 7.0 du serveur hébergeant LaFibre.info
Posté par: kazyor le 18 avril 2018 à 00:18:22
Idem ici :)
Et ça affiche bien en bas du message posté que l'adresse enregistrée est ipv6 !
Titre: Migration vers PHP 7.0 du serveur hébergeant LaFibre.info
Posté par: vivien le 18 avril 2018 à 14:25:51
Je vais des petites évolutions sur la base de donnée ce soir (des champs liées aux IP qui ne sont pas dimensionnés correctement pour IPv6)

Après quelques tests, je mettrais ensuite les DNS du forum en IPv6.

On peux remercier vivement Optix, qui a crée un nouveau mod IPv6 pour SMF en partant de zéro (il ne gère pas le ban par IP ou la limitation de nombre messages postés par IP sur une période de temps, mais ce sont deux fonctions que je n'utilises pas).
Titre: Migration vers PHP 7.0 du serveur hébergeant LaFibre.info
Posté par: kazyor le 18 avril 2018 à 14:40:40
On peux remercier vivement Optix, qui a crée un nouveau mod IPv6 pour SMF en partant de zéro (il ne gère pas le ban par IP ou la limitation de nombre messages postés par IP sur une période de temps, mais ce sont deux fonctions que je n'utilises pas).

Merci OPTIX !

Tiens d'ailleurs je me posais la question ... Les solutions du type fail2ban, blacklistent un /64 par défaut ?
Titre: Migration vers PHP 7.0 du serveur hébergeant LaFibre.info
Posté par: Hugues le 18 avril 2018 à 14:49:14
Bien joué :)
Titre: Migration vers PHP 7.0 du serveur hébergeant LaFibre.info
Posté par: Nh3xus le 18 avril 2018 à 15:17:49
Merci OPTIX !

Tiens d'ailleurs je me posais la question ... Les solutions du type fail2ban, blacklistent un /64 par défaut ?

Je ne sais pas, mais j'attends que Debian stable propose la version de fail2ban compatible ipv6 avant de mettre ma prod perso en ipv6
Titre: Migration vers PHP 7.0 du serveur hébergeant LaFibre.info
Posté par: kom le 18 avril 2018 à 16:11:49
Ca fonctionne nickel en IPv6 depuis chez moi. Merci Optix!