Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 07-12-2019 11:15:09

MrGarfield
Membre
Lieu : Limges
Inscription : 12-05-2017
Site Web

[RESOLU]Hlstatsx:CE sous debian 8

salut à tous

après avoir installé Hlstatsx:CE le logiciel fonctionne mais il y a un problème avec GeoLiteCity.
j'ai fait plusieurs recherches et apparemment il faudrait passer à une nouvelle version qui se trouve https://github.com/NomisCZ/hlstatsx-community-edition tester 2 fois mais la partie web ne fonctionne pas, j'ai aussi trouvé https://drive.google.com/file/d/1s1x34z … qDldB/view qui fait télécharger un GeoLiteCity.dat
mais une fois installé toujours la même erreur console ce qui est évident puisque les liens de téléchargement ne sont plus valides http://geolite.maxmind.com/download/geo … latest.zip

je voudrais savoir s'il y a façon de résoudre ou contourner le problème

merci

Dernière modification par MrGarfield (17-12-2019 09:44:50)

Hors ligne

#2 07-12-2019 11:39:10

bendia
Chadministrateur
Distrib. : openSUSE Tumbleweed, Stretch
Noyau : Linux 4.9.0-2-amd64
(G)UI : Gnome + Console et un peu Openbox
Inscription : 20-03-2012
Site Web

Re : [RESOLU]Hlstatsx:CE sous debian 8

Salut smile

Le problème vient peut-être plutôt de ta version de Debian, OldOldStable wink Pour faire tourner la nouvelle version de ton appli web, il faut PHP7.x, et il me semble que Jessie disposait de PHP5.x hmm Il te faut donc passer ton serveur au moins en Stretch (OldStable) pour que ça fonctionne.

Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.

En ligne

#3 07-12-2019 13:46:28

MrGarfield
Membre
Lieu : Limges
Inscription : 12-05-2017
Site Web

Re : [RESOLU]Hlstatsx:CE sous debian 8

ah ok merci effectivement je faisais des tests sur un serveur qui est déjà occupé avec amxbans ts3 sous debian 8, bref j'ai loué un petit serveur pour faire des tests
donc j’utilise Debian 9.
sur l'install il recommande d'activer le codage utf8mb4.
j'ai trouvé un petit tuto http://support.icewarp.fr/index.php?_m= … icleid=402 mais je bloque sur la partie 2
2) Aller dans Outils -> Migration bases de données de la console d'administration ?

Hors ligne

#4 07-12-2019 14:13:49

bendia
Chadministrateur
Distrib. : openSUSE Tumbleweed, Stretch
Noyau : Linux 4.9.0-2-amd64
(G)UI : Gnome + Console et un peu Openbox
Inscription : 20-03-2012
Site Web

Re : [RESOLU]Hlstatsx:CE sous debian 8

Ce tuto ne serait-il pas spécifique à l'hébergeur ? Ça doit pouvoir se faire avec n'importe quel gestionnaire de base de donnée et en ligne de commande aussi, mais je ne saurais te guider pas à pas hmm J'ai eu à le faire pour une installation de Nextcloud, ils avait un très bon tuto mais spécifique à l'appli.

Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.

En ligne

#5 07-12-2019 21:24:33

MrGarfield
Membre
Lieu : Limges
Inscription : 12-05-2017
Site Web

Re : [RESOLU]Hlstatsx:CE sous debian 8

je pense avoir trouver mais je comprends pas tout, si tu pouvais me donner un petit coup de main ça serais pas de refus.:D

1. - A phpMyAdmin - select database -> Operations -> Collation -> utf8mb4_unicode_ci -> Change all tables collations and Change all tables columns collations -> Go.

1. - B PHP script - change DB credentials in setConfig() function and run it 

 <?php

class Convert {

    private $config;
    private $dbConn;
    private $localWordsList;

    public function __construct()
    {
        $this->setConfig();
       
        if (!$this->getConnection()) {
            print "Failed to connect to DB!";
            exit();
        }

        $this->doConvert();

    }

    private function setConfig()
    {
        // Change it ...
        $this->config['dbUser'] = 'my_stats';
        $this->config['dbPass'] = 'P@ssword';
        $this->config['dbHost'] = 'localhost';
        $this->config['dbName'] = 'my_stats';
    }

    private function getConnection()
    {

        $dbConn = new mysqli($this->config['dbHost'], $this->config['dbUser'], $this->config['dbPass'], $this->config['dbName']);

        if ($dbConn->connect_errno) {
            return false;
        }

        $this->dbConn = $dbConn;
        return true;
    }

    private function doQuery($query) {

        $result = $this->dbConn->query($query);
        return $result ?: false;
    }

    private function getDBTables()
    {

        $query = "SHOW TABLES";
        $result = $this->doQuery($query);
        if ($result) {

            $finalResult = array();

            while($tables = mysqli_fetch_array($result)) {
               
                $finalResult[] = $tables[0];
            }

            return $finalResult;
        }
        return false;
    }

    private function getDBColumns($dbTable)
    {

        $query = "SHOW COLUMNS FROM $dbTable";
        $result = $this->doQuery($query);
        if ($result) {

            $finalResult = array();

            while($columns = mysqli_fetch_array($result)) {
               
                $finalResult[] = $columns[0];
            }

            return $finalResult;
        }
        return false;
    }
   
    public function doConvert()
    {
        $tables = $this->getDBTables();

        foreach ($tables as $key => $value) {

            $query = "ALTER TABLE $value CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;";

            if ($this->doQuery($query)) {
                echo "[OK] Table " . $value . " converted<br>";

                $columns = $this->getDBColumns($value);

                echo '------------------------------<br>';
               
                foreach ($columns as $columnKey => $column) {
                    echo '| '.$column.' |<br>';
                }
               
                echo '------------------------------<br>';

            } else {
                echo "[ERR] ".$value." error<br>";
            }
        }
    }
}

new Convert();



2. Edit these files (utf8mb4) https://github.com/NomisCZ/hlstatsx-com … _q=utf8mb4https://github.com/NomisCZ/hlstatsx-com … e3ec30a547

merci

Hors ligne

#6 07-12-2019 21:47:24

bendia
Chadministrateur
Distrib. : openSUSE Tumbleweed, Stretch
Noyau : Linux 4.9.0-2-amd64
(G)UI : Gnome + Console et un peu Openbox
Inscription : 20-03-2012
Site Web

Re : [RESOLU]Hlstatsx:CE sous debian 8

Alors, soit table par table dans la base de donnée, tu fais le 1A.

Sinon, tu exécutes le script PHP de 1B en modifiant ce qu'il faut pour te connecter à ta BDD dans la fonction setConfig. Ensuite, sans certitude, je dirais qu'il faut que tu te connecte avec l'utilisateur qui fait tourner ton application (www-data classiquement sous Debian), et que tu lance le script, genre

php ton_script

.

Pour ton 2, tu as tous les fichiers qu'il te faut modifier dans deuxième lien. Ce qui est en rouge est ce que tu dois avoir à l'heure actuelle, et le vert ce qu'il faut que ça devienne smile

Edit : le premier lien du 2 montre comment doivent être les fichiers après modif.


Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.

En ligne

#7 09-12-2019 17:28:15

MrGarfield
Membre
Lieu : Limges
Inscription : 12-05-2017
Site Web

Re : [RESOLU]Hlstatsx:CE sous debian 8

je voudrais ton avis avant de faire des bêtises, pour les fichiers c'est ok j'ai tout changer.

1. - A phpMyAdmin - select database -> Operations -> Collation -> utf8mb4_unicode_ci -> Change all tables collations and Change all tables columns collations -> Go.



donc la il faut dans le phpmyadmin, onglet "base de données" mettre un nom et dans le menu déroulant chercher "utf8mb4_unicode_ci" et créer je pense que c'est ca ?

après je ne sais pas du tout où faut aller et ce qu'il faut faire j'ai jamais fait, je n'ai jamais exécutés le script PHP je sais meme pas ou ce trouve le set config roll.

PHP script - change DB credentials in setConfig() function and run it



merci

Dernière modification par MrGarfield (09-12-2019 17:30:45)

Hors ligne

#8 09-12-2019 20:48:12

bendia
Chadministrateur
Distrib. : openSUSE Tumbleweed, Stretch
Noyau : Linux 4.9.0-2-amd64
(G)UI : Gnome + Console et un peu Openbox
Inscription : 20-03-2012
Site Web

Re : [RESOLU]Hlstatsx:CE sous debian 8

Dans un premier temps, pour que les bêtises n'aient pas de conséquence facheuse, commence par faire une sauvegarde de la base de donnée si c'est un site en prod wink

Ensuite, PHPMyAdmin, je maîtrise assez mal. J'aurais cependant tendance à faire comme tu le décris.

Un script, c'est le code source d'un programme qui va être exécuter tel quel par un interpréteur. PHP est un langage interprété, donc, le programme que tu écris est directement exécuté, à l'inverse de d'autre type de langage (genre le C++ par exemple) dont le code source doit d'abord être compilé avant son exécution smile Tu as des explication plus poussées sur Zestes de Savoir. En fait, ton application PHP est faites de scripts, exécutés par ton serveur smile

Pour le script PHP, il faut enregistrer sous forme de fichier php (genre conversionEncodage.php), modifier les information de connexion à la BDD dans le fonction setConfig (dans une déclaration de fonction, il y a function wink ) et le lancer comme indiqué plus haut smile

Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.

En ligne

#9 17-12-2019 09:43:51

MrGarfield
Membre
Lieu : Limges
Inscription : 12-05-2017
Site Web

Re : [RESOLU]Hlstatsx:CE sous debian 8

merci tout fonctionne

Hors ligne

Pied de page des forums