Serveur web et base de données
Catégorie parent : Salles pédagogiques
Présentation du serveur pédagogique
A destination de : Enseignant, Etudiant, Partenaire
Le serveur pédagogique pedago.univ-avignon.fr est destiné à être utilisé pour les TP de conception web et/ou de base de données.
Sur ce serveur, vous pouvez utiliser les services suivants :
- serveur web Apache httpd + PHP avec une adresse de la forme https://pedago.univ-avignon.fr/~identifiant_identité_numérique
- base de données PostgreSQL avec un schéma dédié pour vos données
- phpPgAdmin pour les enseignants
- base de données MariaDB (MySQL)
- nodejs
- mongoDB
- flex / bison
- gcc / gdb
- bc
- git
Programmes sur le serveur
A destination de : Enseignant, Etudiant, Partenaire
Ce serveur est installé sous Debian 11 Bullseye et possède les programmes suivants :
- Apache : 2.4.56
- PHP : 7.4
- PostgreSQL : 14
- MariaDB : 10.5.19
- MongoDB : 7.0.1
- NodeJS : 18.17.1
- flex : 2.6.4 / bison : 3.7.5
- gcc 10.2.1 / gdb 10.1
- bc 1.07
- git 2.30.2
Pour le reste des programmes, vous pouvez interroger le site https://www.debian.org/distrib/packages ou regarder directement sur le serveur. La version de PHP et son paramétrage sont accessibles dynamiquement.
En tant qu’étudiant, si vous souhaitez utiliser des programmes qui ne sont pas présents, vous devez en parler avec vos enseignants. Si l’enseignant juge que la demande est pertinente dans le cadre des TPs, il se chargera de faire la demande d’installation du programme.
Connexion au serveur et données personnelles
A destination de : Enseignant, Etudiant, Partenaire
Le serveur pedago.univ-avignon.fr est uniquement accessible par le réseau de l’Université. Depuis l’extérieur (chez vous, par exemple), vous devez donc utiliser le VPN.
Lorsque vous vous connectez sur le serveur par shell SSH, vous êtes positionné par défaut à la racine votre répertoire personnel Ubuntu.
ssh VOTRE_IDENTIFIANT_ICI@pedago.univ-avignon.fr.
Apache : fonctionnement des sites web personnels
A destination de : Enseignant, Etudiant, Partenaire
Une fois connecté en SSH sur le serveur, vous êtes dans votre répertoire personnel Ubuntu (aussi appelé home directory).
cd
~/Donnees_itinerantes_depuis_serveur_pedagogique
pour y vous rendre) et il doit avoir les permissions 755 (rwx r-x r-x).cd ~/Donnees_itinerantes_depuis_serveur_pedagogique mkdir public_html chmod 755 public_html
chmod 711 ~ ~/Donnees_itinerantes_depuis_serveur_pedagogique # 755 pour ne pas empêcher d'autres utilisateurs de lire vos fichiers
https://pedago.univ-avignon.fr/~identifiant_identité_numérique/
. L’identifiant de votre identité numérique est celui que vous utilisez sur l’ENT.Base de données : PostgreSQL
A destination de : Enseignant, Etudiant, Partenaire
Les questions suivantes concernent l’utilisation de la base de données PostgreSQL.
La base de données pour la pédagogie est : etd. Elle contient tous les objets des utilisateurs (étudiants et enseignants).
Lors de la première connexion SSH sur le serveur, le compte de l’utilisateur est créé (rôle + schéma).
Il existe une autre base pour un enseignement particulier avec un unique utilisateur : coursSN.
PostgreSQL : obtention du mot de passe
A destination de : Enseignant, Etudiant, Partenaire
Lors de la première connexion SSH sur le serveur, le compte de l’utilisateur est créé (rôle + schéma).
Le rôle possède un mot de passe qui est envoyé par mail à l’utilisateur sur son adresse de l’Université.
Ce mot de passe n’est pas demandé dans le cas d’une connexion en local, par exemple via la commande psql
.
Le mot de passe est nécessaire dans le cas d’une connexion par le réseau, par exemple lorsqu’un script php doit se connecter à la base.
PostgreSQL : comment réinitialiser mon mot de passe ?
A destination de : Enseignant, Etudiant, Partenaire
En cas de perte du mot de passe du compte PostgreSQL, il suffit d’exécuter cette commande sur le serveur pédagogique via une connexion SSH :
sudo pgresetpwd
Ne pas oublier de mettre « sudo ».
Comme dans le cas de la première connexion, le mot de passe est envoyé par mail.
PostgreSQL : comment utiliser la base
A destination de : Enseignant, Etudiant, Partenaire
Techniquement, la base est accessible en local (par socket unix) ou par le réseau. Le mot de passe est requis uniquement avec l’accès par le réseau.
Par le réseau, les connexions sont autorisées depuis :
- la machine elle-même (localhost) ;
- les salles pédagogiques de l’Agroparc et du centre-ville ;
- le wifi et le nomade ;
- le VPN ;
- le réseau historique du CERI (194.57.216.0/24) ;
En pratique, l’utilisation de l’outil psql
, lorsqu’on est sur le serveur pedago, ne requiert pas le mot de passe. Il suffit de taper la commande : psql etd
Pour les outils utilisant le réseau pour atteindre la base de données, les informations suivantes sont nécessaires.
La base à utiliser : etd.
Le nom du serveur : pedago.univ-avignon.fr.
Le nom de l’utilisateur : identifiant de votre identité numérique.
Le mot de passe est celui envoyé par mail.
Vous possédez un schéma dont le nom correspond à l’identifiant de votre identité numérique. Vous seul pouvez accéder aux objets de votre schéma. il est donc conseillé de créer vos objets dans votre schéma plutôt que dans le schéma public. Ainsi, vous êtes assuré que les autres utilisateurs ne puissent pas accéder à vos données et de pouvoir les appeler comme vous voulez.
PostgreSQL : annuler une requête
A destination de : Enseignant, Etudiant, Partenaire
SELECT * FROM pg_stat_activity where usename='LOGIN' order by backend_start;
SELECT pg_cancel_backend(PID);
PostgreSQL : suppression des données de la base
A destination de : Enseignant, Etudiant, Partenaire
Une fois par an (le 1er septembre), la base de données etd est nettoyée.
Les actions suivantes sont faites :
- tous les comptes des étudiants sont supprimés
- les comptes des enseignants qui n’existent plus dans l’annuaire LDAP sont supprimés
- les données appartenant aux comptes supprimés sont aussi supprimées
Aucune sauvegarde n’est effectuée.
PostgreSQL : phpPgAdmin, une interface web d'administration
A destination de : Enseignant, Etudiant
Ce serveur propose une interface web pour gérer ses données dans une base de données PostgreSQL. Il s’agit de phpPgAdmin accessible à l’adresse suivante :
https://pedago.univ-avignon.fr/phppgadmin/
Elle nécessite une authentification (identifiant + mot de passe de votre identité numérique / ENT) et n’est accessible que par les enseignants.
Base de données : MySQL
A destination de : Enseignant, Etudiant, Partenaire
Les questions qui suivent concernent l’utilisation de la base de données MySQL.
Il y a une base par utilisateur. L’identifiant est celui de votre identité numérique (vous l’utilisez également sur l’ENT).
Lors de la première connexion SSH sur le serveur, la base de l’utilisateur est créée.
MySQL : obtention du mot de passe
A destination de : Enseignant, Etudiant, Partenaire
Lors de la première connexion SSH sur le serveur, la base de l’utilisateur est créée ainsi qu’un compte MySQL avec tous les privilèges sur cette base.
Le mot de passe est toujours demandé pour se connecter à la base, même en local.
MySQL : comment réinitialiser mon mot de passe ?
A destination de : Enseignant, Etudiant, Partenaire
En cas de perte de mot de passe du compte MySQL, il suffit d’exécuter cette commande sur le serveur pédagogique via une connexion SSH :
sudo myresetpwd
Ne pas oublier de mettre « sudo ».
Comme dans le cas de la première connexion, le mot de passe est envoyé par mail.
MySQL : comment utiliser la base
A destination de : Enseignant, Etudiant, Partenaire
Techniquement, la base est accessible uniquement par le réseau (local et distant). Le mot de passe est toujours requis.
Par le réseau, les connexions sont autorisées depuis :
- les connexions en local (localhost) ;
- les salles pédagogiques (centre-ville et Agroparc) ;
- le wifi et le nomade ;
- le VPN ;
- le réseau historique du CERI (194.57.216.0/24).
En pratique, lorsqu’on est sur le serveur pedago, on utilise l’outil mysql
. Il suffit de taper la commande : mysql -p votre_identifiant
Dans ce cas, on accède donc à sa base personnelle par localhost.
Pour les autres outils, les informations suivantes sont nécessaires.
La base à utiliser : votre_identifiant.
Le nom du serveur : pedago.univ-avignon.fr.
Le nom de l’utilisateur : votre_identifiant.
Le mot de passe est celui envoyé par mail.
Vous possédez une base de données pour votre usage unique. Vous seul pouvez accéder à cette base grâce à votre mot de passe. Ainsi, vous êtes assuré que les autres utilisateurs ne peuvent pas accéder à vos données.
MySQL : suppression des bases de données
A destination de : Enseignant, Etudiant, Partenaire
Une fois par an (le 1er septembre), les bases de données de l’année sont suprpimées.
Les actions suivantes sont effectuées :
- tous les comptes des étudiants sont supprimés ;
- les comptes des enseignants qui n’existent plus dans l’annuaire LDAP sont supprimés
- les bases et les données appartenant aux comptes supprimés sont aussi supprimées
Aucune sauvegarde n’est effectuée.
Base de données dédiée à un projet étudiant
A destination de : Enseignant, Etudiant, Partenaire
Certains projets conduits par un enseignant et réalisés par des étudiants peuvent s’étaler sur plusieurs années universitaires et peuvent être réalisés par plusieurs étudiants.
Dans ce cas, la DOSI peut créer une base de données dédiée à ce projet sur le serveur pédagogique. Cette base ne sera pas liée à une identité numérique. Il appartient à l’enseignant de demander la création (puis le nettoyage après usage) de cette base de données via une demande d’intervention.
PostgreSQL et MySQL : Adminer, une interface web d'administration
A destination de : Enseignant, Etudiant
Ce serveur propose une interface web pour gérer ses données dans une base de données PostgreSQL ou MySQL. Il s’agit de Adminer accessible à l’adresse suivante :
https://pedago.univ-avignon.fr/adminer
Elle nécessite une première authentification (identifiant + mot de passe de votre identité numérique / ENT) et n’est accessible que par les enseignants.