Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 25/03/2022, à 12:06

narva

Impossible de se connecter à la BDD

Bonjour,

Je m'appelle Johann Dai, stagiaire dev web & mobile chargé de la gestion des applications utilisées sur l'intranet. J'ai été amené à transférer les données d'un serveur à un autre. Les serveurs sont hébergés et gérés par une société externe, le protocole de transfert est sous scp pour le nouveau serveur.

 root@x34p14ax003:~# uname -a
Linux x34p14ax003 5.4.0-104-generic #118-Ubuntu SMP Wed Mar 2 19:02:41 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux 
 root@x34p14ax003:~# apache2 -v
Server version: Apache/2.4.41 (Ubuntu)
Server built:   2022-03-16T16:52:53 
 root@x34p14ax003:~# mysql -V
mysql  Ver 8.0.28-0ubuntu0.20.04.3 for Linux on x86_64 ((Ubuntu)) 

Les services mysql et apache2 sont actifs (running).

J'ai constaté plusieurs incohérences en comparant avec divers forum :
- absence du fichier /etc/phpmyadmin/config-db.php
- configuration de phpmyadmin lors de l'installation qui me propose uniquement de choisir entre apache et httpd (user, mdp etc... manquant)
Idem lorsque je fais "sudo dpkg-reconfigure phpmyadmin" il me propose juste de choisir entre apache et httpd.

Donc impossible de se connecter à la Bdd via phpmyadmin ou putty

 mysql -u root -p
Enter password: *****
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 

Je ne peux donc pas créer de nouvel utilisateur, ni modifier ses privilèges en m'inspirant du site https://dev.mysql.com/doc/refman/8.0/en … s-checking
La commande

 root@x34p14ax003:~# mysql_upgrade
The mysql_upgrade client is now deprecated. The actions executed by the upgrade client are now done by the server.
To upgrade, please start the new MySQL binary with the older data directory. Repairing user tables is done automatically. Restart is not required after upgrade.
The upgrade process automatically starts on running a new MySQL binary with an older data directory. To avoid accidental upgrades, please use the --upgrade=NONE option with the MySQL binary. The option --upgrade=FORCE is also provided to run the server upgrade sequence on demand.
It may be possible that the server upgrade fails due to a number of reasons. In that case, the upgrade sequence will run again during the next MySQL server start. If the server upgrade fails repeatedly, the server can be started with the --upgrade=MINIMAL option to start the server without executing the upgrade sequence, thus allowing users to manually rectify the problem. 

J'ai donc procédé à la réinstallation des packages suivants : phpmyadmin, mysql*, mysql-server* via les lignes de commandes suivantes

 sudo apt-get autoremove --purge nom_paquet 
apt install nom_paquet 
systemctl unmask mysql.service
service mysql start 
apt update

le fichier etc/mysql/debian.cnf :
client
host = localhost
user = debian-sys-maint
password = ************
socket = /var/run/mysqld/mysqld.sock

mysql_upgrade
host = localhost
user = debian-sys-maint
password = ************
socket = /var/run/mysqld/mysqld.sock
(le mot de passe est le même)
J'ai donc essayé avec les infos ici présente mais rien d'y fait.

le fichier /var/lib/mysql/x34p14ax003.err :

 2022-03-25T09:17:26.790372Z 0 [Warning] [MY-013143] [Server] Column count of mysql.user is wrong. Expected 51, found 42. The table is probably corrupted
2022-03-25T09:17:26.790398Z 0 [Warning] [MY-013139] [Server] Cannot load from mysql.db. The table is probably corrupted!
2022-03-25T09:17:26.790411Z 0 [Warning] [MY-013139] [Server] Cannot load from mysql.db. The table is probably corrupted!
2022-03-25T09:17:26.790428Z 0 [Warning] [MY-013139] [Server] Cannot load from mysql.tables_priv. The table is probably corrupted!
2022-03-25T09:17:26.790442Z 0 [Warning] [MY-013139] [Server] Cannot load from mysql.tables_priv. The table is probably corrupted!
2022-03-25T09:17:26.790454Z 0 [Warning] [MY-013139] [Server] Cannot load from mysql.tables_priv. The table is probably corrupted!
2022-03-25T09:17:26.790469Z 0 [Warning] [MY-013139] [Server] Cannot load from mysql.columns_priv. The table is probably corrupted!
2022-03-25T09:17:26.790480Z 0 [Warning] [MY-013139] [Server] Cannot load from mysql.columns_priv. The table is probably corrupted!
2022-03-25T09:17:26.790501Z 0 [Warning] [MY-013139] [Server] Cannot load from mysql.procs_priv. The table is probably corrupted!
2022-03-25T09:17:26.790513Z 0 [Warning] [MY-013139] [Server] Cannot load from mysql.procs_priv. The table is probably corrupted!
2022-03-25T09:17:26.790526Z 0 [Warning] [MY-013139] [Server] Cannot load from mysql.procs_priv. The table is probably corrupted!
2022-03-25T09:17:26.790538Z 0 [Warning] [MY-013139] [Server] Cannot load from mysql.proxies_priv. The table is probably corrupted!
2022-03-25T09:17:26.790549Z 0 [Warning] [MY-013139] [Server] Cannot load from mysql.proxies_priv. The table is probably corrupted!
2022-03-25T09:17:26.790561Z 0 [Warning] [MY-013139] [Server] Cannot load from mysql.proxies_priv. The table is probably corrupted!
2022-03-25T09:17:26.790572Z 0 [Warning] [MY-013139] [Server] Cannot load from mysql.proxies_priv. The table is probably corrupted!
2022-03-25T09:17:26.790584Z 0 [Warning] [MY-013139] [Server] Cannot load from mysql.proxies_priv. The table is probably corrupted!
2022-03-25T09:17:26.794000Z 0 [Warning] [MY-010727] [Server] System table 'time_zone_leap_second' is expected to be transactional.
2022-03-25T09:17:26.794019Z 0 [Warning] [MY-010727] [Server] System table 'time_zone_name' is expected to be transactional.
2022-03-25T09:17:26.794032Z 0 [Warning] [MY-010727] [Server] System table 'time_zone' is expected to be transactional.
2022-03-25T09:17:26.794042Z 0 [Warning] [MY-010727] [Server] System table 'time_zone_transition_type' is expected to be transactional.
2022-03-25T09:17:26.794053Z 0 [Warning] [MY-010727] [Server] System table 'time_zone_transition' is expected to be transactional.
2022-03-25T09:17:26.795761Z 0 [Warning] [MY-010727] [Server] System table 'servers' is expected to be transactional.
2022-03-25T09:17:26.796167Z 0 [Warning] [MY-010727] [Server] System table 'func' is expected to be transactional.
2022-03-25T09:17:26.800486Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.28-0ubuntu0.20.04.3'  socket: '/tmp/tmp.D5Sta4QzdT/mysqld.sock'  port: 0  (Ubuntu).
2022-03-25T09:17:26.815456Z 0 [System] [MY-013172] [Server] Received SHUTDOWN from user <via user signal>. Shutting down mysqld (Version: 8.0.28-0ubuntu0.20.04.3).
2022-03-25T09:17:28.259174Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.28-0ubuntu0.20.04.3)  (Ubuntu). 

Je constate que les table sont corrompus sans y avoir touché personnellement. Je néglige pas le fait d'avoir fait une mauvaise manipulation car je suis débutant dans l'administration système. Je m'excuse d'avance si j'ai oublié de partager des informations primordiales à la compréhension.
Avez-vous des suggestions ? Des solutions ?

Je vous remercie d'avance.
Johann Dai

Hors ligne

#2 Le 25/03/2022, à 12:48

bruno

Re : Impossible de se connecter à la BDD

Bonjour,

Je t'invite à lire attentivement les docs mysql et phpmyadmin.

Pour résoudre ton problème de tables corrompues il va falloir désinstaller complètement mysql-server comme indiqué au chapitre 7 de la doc mysql.

Après réinstallation du paquet mysql-server tu pourras administrer tes bases en ligne de commande directement avec :

sudo mysql

Pour pouvoir utiliser phpmyadmin il faudra créer un utilisateur spécifique en ligne de commande comme indiqué au point 3.3 de la doc phpmyadmin

#3 Le 25/03/2022, à 13:26

narva

Re : Impossible de se connecter à la BDD

Merci beaucoup, j'ai pu créer un user. Néanmoins l'appli elle n'arrive pas à se connecter à la bdd pourtant j'ai bien modifier login et mdp dans le back end

 try {
			$bdd = new PDO('mysql:host=localhost;dbname=reservation_salles', 'su_etprg', '**********');
		}catch(Exception $e){
			exit('Impossible de se connecter à la base de données.');
		}

Dernière modification par bruno (Le 26/03/2022, à 10:16)

Hors ligne

#4 Le 25/03/2022, à 13:41

bruno

Re : Impossible de se connecter à la BDD

Il faut d'abord vérifier que la base reservation_salles existe et que tu peux te connecter avec cet utilisateur et son mot de passe en ligne de commande :

mysql -u su_etprg -p

#5 Le 25/03/2022, à 14:07

narva

Re : Impossible de se connecter à la BDD

en effet ...

 ERROR 1045 (28000): Access denied for user 'su_etprg'@'localhost' (using password: YES) 

Dernière modification par narva (Le 25/03/2022, à 14:08)

Hors ligne

#6 Le 25/03/2022, à 14:09

bruno

Re : Impossible de se connecter à la BDD

Voir la doc apache et lamp.
Si je comprends bien le code PHP n'est pas interprété. Dans ce cas l'installation de ce paquet devrait résoudre le problème :

sudo apt install libapache2-mod-php

#7 Le 25/03/2022, à 14:09

narva

Re : Impossible de se connecter à la BDD

J'ai pourtant modifier les privilèges comme tu me l'as expliqué via les documents en ciblant bien le bon user.

Hors ligne

#8 Le 25/03/2022, à 14:14

narva

Re : Impossible de se connecter à la BDD

Je viens de modifier les privilèges de mon utilisateur root de base en lui accordant tous les privilèges comme énnoncé précédemment et je peux me connecter via

 mysql -u su_etprg -p 

Hors ligne

#9 Le 25/03/2022, à 14:25

narva

Re : Impossible de se connecter à la BDD

Le rendu sur la page de connexion est intact, c'est lorsque l'on rentre dans l'appli que le front n'est plus présent et que le rendu est une page blanche avec en 1er eligne : < ?php include('../head.php'); $req = $bdd->query('SELECT * FROM salle_reunion'); $fonction = $bdd->query("SELECT * from utilisateur where cp = '".$_SESSION['cp']."'"); ?>

avec un titre : Accueil

concernant :

 sudo apt install libapache2-mod-php 

Dernière modification par narva (Le 25/03/2022, à 14:26)

Hors ligne

#10 Le 25/03/2022, à 14:38

bruno

Re : Impossible de se connecter à la BDD

Et le serveur apache a bien été relancé ?

sudo systemctl restart apache2 

Après je ne pourrai t'aider davantage sans voir toute la configuration.

#11 Le 25/03/2022, à 14:43

narva

Re : Impossible de se connecter à la BDD

Oui, apache2 a été relancé.
De quoi as tu besoin ?

Hors ligne

#12 Le 25/03/2022, à 14:51

narva

Re : Impossible de se connecter à la BDD

J'ai cette erreur dans la console web (microsoft edge)

 Failed to load resource: the server responded with a status of 500 

Hors ligne

#13 Le 25/03/2022, à 14:57

narva

Re : Impossible de se connecter à la BDD

/etc/apt/sources.list

 deb https://repos.it.****.fr/ubuntu focal main restricted universe multiverse 
deb-src https://repos.it.****.fr/ubuntu focal main restricted universe multiverse 
deb https://repos.it.****.fr/ubuntu focal-updates main restricted universe multiverse 
deb-src https://repos.it.****.fr/ubuntu focal-updates main restricted universe multiverse 
deb https://repos.it.****.fr/ubuntu-security focal-security main restricted universe multiverse 
deb-src https://repos.it.****.fr/ubuntu-security focal-security main restricted universe multiverse

/etc/apache2/apache2.conf

 # This is the main Apache server configuration file.  It contains the
# configuration directives that give the server its instructions.
# See http://httpd.apache.org/docs/2.4/ for detailed information about
# the directives and /usr/share/doc/apache2/README.Debian about Debian specific
# hints.
#
#
# Summary of how the Apache 2 configuration works in Debian:
# The Apache 2 web server configuration in Debian is quite different to
# upstream's suggested way to configure the web server. This is because Debian's
# default Apache2 installation attempts to make adding and removing modules,
# virtual hosts, and extra configuration directives as flexible as possible, in
# order to make automating the changes and administering the server as easy as
# possible.

# It is split into several files forming the configuration hierarchy outlined
# below, all located in the /etc/apache2/ directory:
#
#	/etc/apache2/
#	|-- apache2.conf
#	|	`--  ports.conf
#	|-- mods-enabled
#	|	|-- *.load
#	|	`-- *.conf
#	|-- conf-enabled
#	|	`-- *.conf
# 	`-- sites-enabled
#	 	`-- *.conf
#
#
# * apache2.conf is the main configuration file (this file). It puts the pieces
#   together by including all remaining configuration files when starting up the
#   web server.
#
# * ports.conf is always included from the main configuration file. It is
#   supposed to determine listening ports for incoming connections which can be
#   customized anytime.
#
# * Configuration files in the mods-enabled/, conf-enabled/ and sites-enabled/
#   directories contain particular configuration snippets which manage modules,
#   global configuration fragments, or virtual host configurations,
#   respectively.
#
#   They are activated by symlinking available configuration files from their
#   respective *-available/ counterparts. These should be managed by using our
#   helpers a2enmod/a2dismod, a2ensite/a2dissite and a2enconf/a2disconf. See
#   their respective man pages for detailed information.
#
# * The binary is called apache2. Due to the use of environment variables, in
#   the default configuration, apache2 needs to be started/stopped with
#   /etc/init.d/apache2 or apache2ctl. Calling /usr/bin/apache2 directly will not
#   work with the default configuration.


# Global configuration
#

#
# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# NOTE!  If you intend to place this on an NFS (or otherwise network)
# mounted filesystem then please read the Mutex documentation (available
# at <URL:http://httpd.apache.org/docs/2.4/mod/core.html#mutex>);
# you will save yourself a lot of trouble.
#
# Do NOT add a slash at the end of the directory path.
#
#ServerRoot "/etc/apache2"

#
# The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
#
#Mutex file:${APACHE_LOCK_DIR} default

#
# The directory where shm and other runtime files will be stored.
#

DefaultRuntimeDir ${APACHE_RUN_DIR}

#
# PidFile: The file in which the server should record its process
# identification number when it starts.
# This needs to be set in /etc/apache2/envvars
#
PidFile ${APACHE_PID_FILE}

#
# Timeout: The number of seconds before receives and sends time out.
#
Timeout 300

#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive On

#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 100

#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 5


# These need to be set in /etc/apache2/envvars
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}

#
# HostnameLookups: Log the names of clients or just their IP addresses
# e.g., www.apache.org (on) or 204.62.129.132 (off).
# The default is off because it'd be overall better for the net if people
# had to knowingly turn this feature on, since enabling it means that
# each client request will result in AT LEAST one lookup request to the
# nameserver.
#
HostnameLookups Off

# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here.  If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
#
ErrorLog ${APACHE_LOG_DIR}/error.log

#
# LogLevel: Control the severity of messages logged to the error_log.
# Available values: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the log level for particular modules, e.g.
# "LogLevel info ssl:warn"
#
LogLevel warn

# Include module configuration:
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf

# Include list of ports to listen on
Include ports.conf


# Sets the default security model of the Apache2 HTTPD server. It does
# not allow access to the root filesystem outside of /usr/share and /var/www.
# The former is used by web applications packaged in Debian,
# the latter may be used for local directories served by the web server. If
# your system is serving content from a sub-directory in /srv you must allow
# access here, or in any related virtual host.
<Directory />
	Options FollowSymLinks
	AllowOverride None
	Require all denied
</Directory>

<Directory /usr/share>
	AllowOverride None
	Require all granted
</Directory>

<Directory /var/www/>
	Options Indexes FollowSymLinks
	AllowOverride None
	Require all granted
</Directory>

#<Directory /srv/>
#	Options Indexes FollowSymLinks
#	AllowOverride None
#	Require all granted
#</Directory>




# AccessFileName: The name of the file to look for in each directory
# for additional configuration directives.  See also the AllowOverride
# directive.
#
AccessFileName .htaccess

#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<FilesMatch "^\.ht">
	Require all denied
</FilesMatch>


#
# The following directives define some format nicknames for use with
# a CustomLog directive.
#
# These deviate from the Common Log Format definitions in that they use %O
# (the actual bytes sent including headers) instead of %b (the size of the
# requested file), because the latter makes it impossible to detect partial
# requests.
#
# Note that the use of %{X-Forwarded-For}i instead of %h is not recommended.
# Use mod_remoteip instead.
#
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

# Include of directories ignores editors' and dpkg's backup files,
# see README.Debian for details.

# Include generic snippets of statements
IncludeOptional conf-enabled/*.conf

# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

etc/apache2/salle.conf

 Alias /Salle /var/www/Salle

<Directory "/var/www/Salle">
  Options FollowSymLinks
  AllowOverride None
  Order allow,deny
  Allow from all

</Directory>

etc/apache2/Vhost.conf

 <VirtualHost *:80>   
    	ServerName      et.prg.****.fr
    	DocumentRoot    /var/www/html/
</VirtualHost>

etc/apache2/ports.conf

 # If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf

Listen 80

<IfModule ssl_module>
	Listen 443
</IfModule>

<IfModule mod_gnutls.c>
	Listen 443
</IfModule>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

etc/mysql/mysql.cnf

 !includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

J'espère avoir tout mis

Dernière modification par bruno (Le 26/03/2022, à 10:17)

Hors ligne

#14 Le 25/03/2022, à 16:37

narva

Re : Impossible de se connecter à la BDD

se pourrait il que cela viennent de  la ?

 df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            1.9G     0  1.9G   0% /dev
tmpfs           391M  1.1M  390M   1% /run
/dev/sda4       3.9G  3.7G     0 100% /
/dev/sda5        28G  4.5G   22G  18% /usr
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/sda7       976M  2.6M  907M   1% /opt
/dev/sda3        96G   61M   91G   1% /home
/dev/sda2       977M  197M  714M  22% /boot
/dev/sda8       105G  4.1G   95G   5% /var
/dev/sda6       2.0G  6.1M  1.8G   1% /tmp
tmpfs           391M     0  391M   0% /run/user/1001

Hors ligne

#15 Le 26/03/2022, à 10:21

bruno

Re : Impossible de se connecter à la BDD

Je me suis permis de modifier tes messages pour masquer le nom de l'entreprise.

Il y a des choses qui ne vont pas dans ta configuration :
- /etc/apache2/salle.conf ne sert probablement à rien ;
- ton hôte virtuel /etc/apache2/Vhost.conf est certainement incomplet et ne sert probablemnt à rien à cet endroit.

Je ne vais pas faire la configuration à ta place.
Regarde dans quel dossier tu as placé ton site et sui attentivement la documentation apache2 pour créer et activer ton hôte virtuel.

Et oui il y a un problème d'occupation disque :

/dev/sda4       3.9G  3.7G     0 100% /

Ta partition racine est pleine et elle est sans doute un peu trop petite.

Dernière modification par bruno (Le 26/03/2022, à 10:22)

#16 Le 26/03/2022, à 11:35

ylag

Re : Impossible de se connecter à la BDD

Bonjour,

Vu au #14 :

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda7       976M  2.6M  907M   1% /opt
/dev/sda3        96G   61M   91G   1% /home
/dev/sda2       977M  197M  714M  22% /boot
/dev/sda8       105G  4.1G   95G   5% /var
/dev/sda6       2.0G  6.1M  1.8G   1% /tmp

...105G alloués pour une partition dédiée au répertoire /var, alors que la partition racine n'a que 3.9G ?
Sous réserve de ce qu'en pense @bruno, ce genre de partitionnement ne me semble pas viable à long terme...?

A+

Dernière modification par ylag (Le 26/03/2022, à 11:37)

Hors ligne

#17 Le 26/03/2022, à 12:38

bruno

Re : Impossible de se connecter à la BDD

Dans la mesure où il y a des partitions séparées pour /usr, /home, /opt, /boot et /var ce n'est pas absurde d'avoir une (toute) petite partition pour /
105 Go pour /var n'est pas absurde non plus si on a de grosses bases de données (/var/lib/mysql) ou autre.

Mais je  ne sais pas si 4Go sont suffisants pour une Ubuntu où il y a pas mal de choses sous /etc /bin et /sbin (et éventuellement sous /root).

#18 Le 26/03/2022, à 14:51

ylag

Re : Impossible de se connecter à la BDD

Re,

bruno a écrit :

105 Go pour /var n'est pas absurde non plus si on a de grosses bases de données (/var/lib/mysql) ou autre.

D'accord, sauf que dans le cas de @narva, il n'y a que 4.1G d'utilisés sur les 105 alloués; ça laisse de la marge...

De toute façon, sa partition racine est déjà saturée. Il lui faudra libérer de l'espace ailleurs en vue de l'agrandir.
Je ne vois pas bien l'utilité de mettre les répertoires /opt, /boot, /var et /tmp sur des partitions dédiées ?
Ça rends difficile la répartition de l'espace disque, amha...

A+

Hors ligne

#19 Le 26/03/2022, à 15:20

bruno

Re : Impossible de se connecter à la BDD

Je suis d'accord. Le schéma de partitionnement est inutilement compliqué. Mais sur un serveur cela peut avoir un certain intérêt : monter certaines partition en lecture seule (/usr), ou y interdire les exécutables (/tmp), pouvoir réinstaller le système en conservant les données, les logs (/home, /var), les applications installées en dehors du système de paquet (/opt).

Par ailleurs @narva est « stagiaire dev web & mobile ». Cela a pu lui être imposé et l’administration système n'est pas son métier.

#20 Le 08/04/2022, à 10:07

narva

Re : Impossible de se connecter à la BDD

Bonjour,

Je m'appelle Johann, stagiaire dev web & mobile chargé de la gestion des applications utilisées sur l'intranet. J'ai été amené à transférer les données d'un serveur à un autre. Les serveurs sont hébergés et gérés par une société externe, le protocole de transfert est sous scp pour le nouveau serveur.

 root@x34p14ax003:~# uname -a
Linux x34p14ax003 5.4.0-104-generic #118-Ubuntu SMP Wed Mar 2 19:02:41 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux 
 root@x34p14ax003:~# apache2 -v
Server version: Apache/2.4.41 (Ubuntu)
Server built:   2022-03-16T16:52:53 
 root@x34p14ax003:~# mysql -V
mysql  Ver 8.0.28-0ubuntu0.20.04.3 for Linux on x86_64 ((Ubuntu)) 
Les services mysql et apache2 sont actifs (running). 

J'ai un problème avec l'authentification. Voila comment ca se passe, nous avons une plateforme sur laquelle plusieurs applications peuvent être utilisé.
L'authentification s'effectue pour chacune d'entre elles à travers la page connexion. Les données users sont stockés sur l'Active Directory et le lien s'effectue en back end se fait via ldap (car les applis sont développés en php).

Bien entendu, côté serveur, les packages liés à ldap ont été installés.

 sudo apt-get install *ldap* 

Avec * de chaque côté afin d'installer tous les packages ayant ldap dans leur nom.

 libaprutil1-ldap is already the newest version (1.6.1-4ubuntu2).
php7.4-ldap is already the newest version (7.4.3-4ubuntu2.10).
libldap-2.4-2 is already the newest version (2.4.49+dfsg-2ubuntu1.8).
libldap-common is already the newest version (2.4.49+dfsg-2ubuntu1.8).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 argonaut-ldap2zone : Conflicts: ldap2zone but 0.2-11build1 is to be installed
 fusiondirectory-plugin-ldapmanager : Conflicts: gosa-plugin-ldapmanager but 2.7.4+reloaded3-11 is to be installed
 gosa-plugin-ldapmanager : Depends: gosa (= 2.7.4+reloaded3-11) but it is not going to be installed
 ldap-utils : Depends: libldap-2.4-2 (= 2.4.49+dfsg-2ubuntu1.7) but 2.4.49+dfsg-2ubuntu1.8 is to be installed
 libldap2-dev : Depends: libldap-2.4-2 (= 2.4.49+dfsg-2ubuntu1.7) but 2.4.49+dfsg-2ubuntu1.8 is to be installed
 libnss-ldapd : Conflicts: libnss-ldap
 libpam-ldapd : Conflicts: libpam-ldap
 proftpd-mod-ldap : Depends: proftpd-basic (= 1.3.6c-2) but it is not going to be installed
 slapd : Depends: libldap-2.4-2 (= 2.4.49+dfsg-2ubuntu1.7) but 2.4.49+dfsg-2ubuntu1.8 is to be installed
E: Unable to correct problems, you have held broken packages. 

Pensez vous que l'authentification des applications ne s'effectue pas car un de ses packages est "broken" ? Ou que l'installation des packages via *ldap* était trop vague ?
J'ai l'impression que c'est le package "ldap-utils" qui est broken alors qu"il n'est pas installé.

Le code des applis est certes "ancien" mais fonctionnelle, le problème ne vient pas du back end.
J'ai bien entendu essayé de "réparer" le package via divers tuto tel que :
https://websetnet.net/fr/how-to-fix-bro … -terminal/

Concernant votre suggestion de repartir sur une installation LAMP, sauf erreur de ma part le package n'est pas présent sur nos dépôt. J'ai effectué la commande suivante

 apt-cache policy lamp 

Est-ce réellement nécessaire ? Si oui, je demanderais aux personnes concernées, néanmoins je travaille avec ce que l'on m'a fournis, ce qui fait que mes actions sont limitées.

L'application arrive à se connecter à la base de donnée car la page de connexion s'affiche. Néanmoins lorsqu'on rentre les id de l'AD (active directory) cela met une page avec du code :

 < ?php include('../head.php'); $req = $bdd->query('SELECT * FROM salle_reunion'); $fonction = $bdd->query("SELECT * from utilisateur where cp = '".$_SESSION['cp']."'"); ?> 

A partir de cette erreur je me suis dis que soit l'erreur venait de la connexion SSO, soit de php sauf que phpmyadmin s'affiche via "adresse_ip"/phpmyadmin ainsi que la page de connexion de l'application.
L'erreur dans la console lorsque j'inspecte :

 Failed to load resource: the server responded with a status of 500 (Internal Server Error) 

L'erreur ne vient pas du navigateur, l'entreprise utilise microsoft edge.

Cordialement,
Johann Dai

ps : Je ne m'improvise pas Admin Sys&Réseau néanmoins c'est la mission sur laquelle je suis ...

Dernière modification par narva (Le 08/04/2022, à 10:10)

Hors ligne

#21 Le 08/04/2022, à 14:12

bruno

Re : Impossible de se connecter à la BDD

Bonjour,

narva a écrit :

Je m'appelle Johann, stagiaire dev web & mobile chargé de la gestion des applications utilisées sur l'intranet

Et on demande à un stagiaire « dev web & mobile » de faire le boulot d'un administrateur système ?
Cette mission ne va pas te faire progresser dans ton secteur. Elle pourrait être formatrice pour l'administration Linux à condition d'avoir un tuteur apte à te guider dans tes recherche et ne te laissant pas erre sur les mes problème pendant plus d'un mois.

narva a écrit :

Bien entendu, côté serveur, les packages liés à ldap ont été installés.

 sudo apt-get install *ldap*

Ce qui conduit inévitablement à des conflits de paquets et laisse des trucs à moitié installés.
Il ne faut installer que ce dont tu as besoin.
Dans un premier temps :

sudo apt install openldap

Si tu as toujours des erreurs avec apt il faudra d'abord désinstaller tous les paquets liés à ldap.

narva a écrit :

J'ai bien entendu essayé de "réparer" le package via divers tuto

Tu n'arrivera à rien en suivant des tutos plus ou moins bien foutus, surtout si tu ne les comprends pas. Il faut toujours se référer aux documentations officielles.

narva a écrit :

Concernant votre suggestion de repartir sur une installation LAMP, sauf erreur de ma part le package n'est pas présent sur nos dépôt.

LAMP est l'acronyme de Linux, Apache, MySQL, PHP (cf. la doc lamp) qui ont apparemment déjà installées. Ce n'est pas un paquet.


Si tu vois tu code PHP qui s'affiche dans le navigateur, c'est que le serveur web n'est pas configuré pour interpréter le PHP. Impossible d'en dire plus sans voir la configuration complète.

Une erreur 500 est due soit à une erreur de configuration du serveur web, soit à une erreur fatale PHP. Impossible d'en dire plus sans voir les logs détaillés au moment de l'erreur.


Pour le reste je fusionne avec l'ancien fil que tu as déjà initié en rappelant que les doublons sont interdits par les règles du forum