Table des matières

Ces services ne sont accessibles que via le réseau interne de l'établissement : salles de TP, VPN Unicaen pour les personnels, VDI pour tous https://bureau-distant.unicaen.fr/

Dans toute cette documentation, LOGIN est à remplacer par votre identifiant de compte numérique, c'est à dire l'identifiant et mot de passe que vous utilisez pour tous les services de l'Université (webmail, ecampus, machines en salles de TP, etc).

Serveurs web personnel

Vous disposez à priori d'un serveur web personnel à l'URL https://dev-LOGIN.users.info.unicaen.fr où LOGIN est votre identifiant de connexion (par exemple 21812122 ou lecarp215). Ainsi l'URL du serveur web de l'utilisateur diallo2315 est https://dev-diallo2315.users.info.unicaen.fr

L'accès à la consultation de vos pages web est restreint : vous devez saisir votre identifiant et mot de passe pour y accéder. Selon votre année et/ou formation, vous n'avez accès que à votre propre serveur, ou bien à tous les serveurs.

Ce serveur est un serveur de développement : le contenu des dossiers peut-être affiché, les erreurs d'exécution de programment sont affichées, etc.

Nota : Pour certains utilisateurs, vous avez aussi un serveur de production, accessible du monde entier : https://diallo2315.users.info.unicaen.fr (désactivé par défaut, activé sur demande justifiée). Il s’agit d’un serveur accessible sans restriction qui obéit donc à des règles de sécurité plus fortes, par exemple listing des répertoires non autorisés, erreurs PHP non affichées.

Architecture du serveur

Votre espace web est complètement indépendant de l’espace de stockage de votre compte habituel. Lorsque vous utilisez votre session, par défaut vous n’avez pas accès à votre compte web. Il faut pour cela se connecter au serveur web hébergeant votre espace : cela sera expliqué dans la section «Connexion au serveur» plus bas.

Votre espace web est stocké sur le serveur web dans le dossier /users/LOGIN/ (par exemple, /users/diallo2315/). Vous n'avez pas le droit de créer de dossiers à la racine de votre compte web mais vous pouvez travailler dans les dossiers suivants :

www-dev le dossier correspondant à votre serveur de développement
www-prod le dossier correspondant à votre serveur de production (désactivé par défaut)
private dossier interdit d’accès par le web pour y stocker divers fichiers (.htpassword, fichiers de configuration, etc)
tmp dossier contenant les fichiers temporaires. Dossier utilisé par PHP pour les sessions et l'upload.
log dossier contenant les logs d'erreur des divers vhosts du compte (1 fichier par vhost).
evalweb dossier des rapports de l'application evalweb (obsolète et inutilisé)
.ssh dossier pour déposer votre clé SSH publique pour se connecter au serveur

Vos travaux sont donc dans le dossier /users/diallo2315/www-dev/ mais attention tout ce qui est dans le dossier www-dev/ est visible sur votre serveur web (avec accès restreint cependant).

Connexion au serveur

Les connexions ne peuvent pas se faire via ftp, scp ou ssh mais uniquement par sftp (sshfs est basé sur sftp), à partir de votre poste de travail personnel ou machine de salle TP.

Utiliser le gestionnaire de fichiers sur les postes des salles de TP

Si vous travaillez sur une machine Linux, vous pouvez connecter le gestionnaire de fichiers à votre espace de travail web. Cela permet de travailler sur des fichiers distants de façon transparente mais demande une connexion suffisamment performante.

Sur les postes de travail des salles de TP en Ubuntu :

  1. Lancer le gestionnaire de fichiers
  2. Dans la liste de gauche, choisir “Autres emplacements” et dans la barre d'adresse, saisissez l'URL de votre serveur càd sftp://dev-LOGIN.users.info.unicaen.fr
  3. Lors de la première connexion vous devez confirmer (cliquer sur “Se connecter malgré tout”)
  4. Entrez votre identifiant et mot de passe et sélectionner “Se souvenir du mot de passe jusqu'à la fin de la session”
  5. Vous avez alors accès à vos dossiers :
  6. Vous pouvez ajouter un signet pour simplement cliquer dessus lors de votre prochaine session

Un avantage de cette solution est de pouvoir ouvrir un terminal et de travailler alors en ligne de commande. Attention ce n'est pas une connexion ssh, les commandes exécutées dans le terminal sont celle du poste de travail et non celles du serveur, il peut donc y avoir des différences (les postes de travail sont en Linux Ubuntu et le serveur en Linux Debian par exemple).

Connexion avec un client graphique SFTP

Vous pouvez utiliser un client SFTP comme FileZilla, gFTP , Fugu sur Mac, WinSCP sur Windows. Ces logiciels permettent de transférer des fichiers sur le serveur. C'est moins pratique que la solution suivante («Connexion via un gestionnaire de fichiers»), mais c'est plus simple pour votre machine personnelle si elle n'est pas sous Linux. FileZilla a l'avantage de fonctionner de la même façon sous Linux, MacOSX et Windows. Attention la version windows proposée par défaut en téléchargement est bourrée d'adware, et donc signalée comme nuisible par windows et par les antivirus. Il faut télécharger la version «propre» sur cette page : https://filezilla-project.org/download.php?show_all=1 (si vous avez un doute sur votre OS, vous pouvez le vérifier sur https://whatsmyos.com/ ).

Ensuite, pour configurer votre connexion (dans FileZilla, mais ça doit être facilement adaptable aux autres clients) : Fichier > Gestionnaire de Sites puis Nouveau Site et remplir les champs de l'onglet Général comme ceci :

  Hôte/Host : LOGIN.users.info.unicaen.fr
  Port : laisser vide
  Protocole : SFTP
  Type d'authentification : Normale
  Identifiant/Username : LOGIN
  Mot de passe/Password : à vous de deviner
  
Pour un accès exterieur au réseau de l'Université, il faut limiter le nombre de connexions simultanées, sinon vous risquez de vous faire blacklister par notre IDS Pour cela aller dans l'onglet Paramètres de transfert, cocher Limiter de nombre de connexions simultanées et positionner la valeur à 1

Les autres clients utilisent une configuration similaire. Vous pouvez aussi utiliser vos clés SSH en plaçant votre clé SSH publique dans le fichier authorized_keys.

Avantages et inconvénients des clients SFTP

Avec un client SFTP, vous travaillez sur votre ordinateur et transférez les fichiers sur le serveur web. L'inconvénient est que vous devez transférer le(s) fichier(s) modifié(s) pour tester après chaque modification de code. Si vous travaillez sur plusieurs fichiers en même temps, cela nécessite de la minutie. En revanche, cela fonctionne même avec une connexion un peu lente, et de la même façon sur tous les systèmes d'exploitation.

Informations complémentaires (pour les plus avancés)

Chemins complets

Votre compte habituel sur les postes de travail est stocké sur les serveurs NFS de l’Université et son chemin complet est /home/etudiants/LOGIN/ (ou /home/personnels/LOGIN/).

Votre compte sur le serveur Web est dans le dossier /users/LOGIN/

Vous pouvez être amené à utiliser les chemins complets dans certains programmes ou codes. Par exemple, si vous souhaitez utiliser un contrôle d'accès avec un .htaccess vous utiliserez la directive suivante :

AuthUserFile /users/LOGIN/private/.htpassword

Interface de gestion

Un manager vous permet d'accéder aux fichiers journaux de vos pages (access.log et error.log). Les logs d'erreurs sont ceux du vhost sur lequel vous utilisez le manager. Les logs d'accès des vhosts sont combinés (tous les vhosts sur la même page, la même sur tous les vhosts). Le manager regroupe également les liens vers les interfaces de gestion de bases de données, les statistiques de fréquentation de vos pages et un gestionnaire de cron limité.

URL :

Les logs d'erreurs sont aussi consultables dans le répertoire log/ à la racine de votre espace web.

Contrôle d'accès (.htaccess)

Un contrôle d'accès est déjà défini sur ce serveur. Vous pouvez le surcharger afin de limiter la liste des logins autorisés à se connecter au serveur ou à certains de ses dossiers. Pour cela, vous ferez un .htaccess contenant par exemple :

## Accès refusé à tous par défaut ## 
Order deny,allow
Deny from all

Satisfy any

## liste les logins des utilisateurs autorisés ##
AuthType Basic
AuthName "Entree interdite sauf exception"
Require user login1 login2

Le contrôle d'accès définit par défaut permet :

Testez immédiatement tout changement de la configuration d’accès. En cas d’erreur, vous pouvez vous interdire l’accès.

Connexion SFTP en ligne de commande

Pour utiliser le client en ligne de commande «sftp» (Linux/Mac), la commande est :

sftp LOGIN@LOGIN.users.info.unicaen.fr

Référez-vous à la man page man sftp pour les informations concernant l'utilisation de la commande.

Connexion directement par sshfs (utilisateurs avancés)

Pour monter en sshfs :

sudo apt-get install sshfs
mkdir -p ~/sshfs/web
ssshfs LOGIN@LOGIN.users.info.unicaen.fr:/ ~/sshfs/web

À partir de là, le dossier est accessible en console et depuis les interfaces graphiques.

Pour démonter :

fusermount -u ~/sshfs/web

Bases de données

Des bases de données sont crées en même temps que vos serveurs web. c.f. les explications de connexion aux bases.

Les choix par défaut

Par défaut, l'espace personnel est initialisé avec quelques valeurs. Cela permet par exemple de limiter les erreurs dans les logs ou d'empêcher le référencement de site vide.

favicon.ico

Par défaut, le Favicon est le logo du département. Il vous suffit de créer un fichier favicon.ico dans votre répertoire www-prod pour le surcharger.

robots.txt

Par défaut, votre site publique possède un robots.txt qui empêche le référencement. Vous pouvez créer votre propre robots.txt dans votre répertoire www-prod pour le surcharger.

Débogage

Dans un premier temps, vous pouvez consulter les logs dans l'interface ​de gestion (ou dans le répertoire log/ à la racine de votre espace web).

xDebug

Il est possible d'utiliser PHP xDebug dans votre environnement de développement DOC.

Il vous permet de faire :

  1. une trace de l'exécution de votre script DOC
  2. un profilage votre code DOC

Les traces sont de simples fichiers textes Les profiles sont des fichiers binaires navigable avec un outils comme KCacheGrind QCacheGrind WinCacheGrind.

Pour activer ces fonctions de xDebug, vous devez modifier ou créer un .htaccess dans le répertoire où se trouve votre script.

## Trace : tmp/trace*
# Désactivé par défaut
# php_flag xdebug.auto_trace On
 
## Profiler : tmp/cachegrind.out.* lisible avec Kcachegrind ou WinCacheGrind
# Désactivé par défaut
# php_flag xdebug.profiler_enable On
php_flag xdebug.profiler_enable_trigger On
php_flag xdebug.profiler_aggregate On
 
# Information disponibles
php_flag xdebug.show_mem_delta 1
php_flag xdebug.collect_params 4
php_flag xdebug.collect_return On
php_flag xdebug.collect_assignments On
php_flag xdebug.collect_vars On

Il faut ensuite dé-commenter la trace ou le profiler à votre convenance.

Attention à ne pas laisser xDebug actif trop longtemps sous peine de remplir votre quota

Vous pouvez ensuite consulter vos résultats :

  1. tmp/trace*
  2. tmp/cachegrind.out.* ( ouvrir avec le logiciel adéquat )