26 mai 2007
Applications - Accessoires - Terminal
Notes du Samedi 26 mai 2007
On a deux commandes : useradd et adduser.
adduser est plus complet, c’est elle qu’on va utiliser.
Se connecter sur le serveur comme utilisatrice :
ubuntu@ubuntu : $ ssh user2@192.168.2.208
The authenticity of host ’192.168.2.208 (192.168.2.208)’ can’t be established.
RSA key fingerprint is fa:18:49:72:1a:c1:90:b8:94:65:2d:3c:62:f5:e1:b6.
Are you sure you want to continue connecting (yes/no) ? yes
Warning : Permanently added ’192.168.2.208’ (RSA) to the list of known hosts.
Password :
Linux femke 2.6.17-2-686 #1 SMP Wed Sep 13 16:34:10 UTC 2006 i686
The programs included with the Debian GNU/Linux system are free software ;
the exact distribution terms for each program are described in theindividual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law.
Last login : Sat May 26 16:53:24 2007 from 192.168.2.170 user2@femke : $
On y est !
Créer un compte sur la machine
su se logger en root :
Password
adduser aurelie ajouter un compte pour chacune sur la machine :
Ajout de l’utilisateur aurelie
Ajout du nouveau groupe aurelie (1004)
Ajout du nouvel utilisateur aurelie (1004) avec le groupe aurelie
Création du répertoire personnel /home/aurelie
Copie des fichiers depuis /etc/skel
Enter new UNIX password :
Retype new UNIX password :
passwd : le mot de passe a été mis à jour avec succès
Modification des informations relatives à l’utilisateur aurelie
Entrez la nouvelle valeur ou Entrée pour conserver la valeur propos
Nom complet [] :
No de bureau [] :
Téléphone professionnel [] :
Téléphone personnel [] :
Autre [] :
Ces informations sont-elles correctes ? [o/N] o
femke :/home/user2#
Quitter puis se reconnecter avec son propre nom d’utilisatrice :
femke :/home/user2# exit exit user2@femke : $ exit logout Connection to 192.168.2.208 closed.
ubuntu@ubuntu : $ ssh aurelie@192.168.2.208
Password :
Linux femke 2.6.17-2-686 #1 SMP Wed Sep 13 16:34:10 UTC 2006 i686
The programs included with the Debian GNU/Linux system are free software ; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law.
aurelie@femke : $
une commande pour voir le dossier où l’on se trouve :
aurelie@femke : $ pwd
/home/aurelie
Savoir qui on est (cf. dans une session, on peut se connecter à tout moment comme telle ou telle utilisatrice) :
aurelie@femke : $ whoami
aurelie
D’où la nécessité de quitter plusieurs fois, si par exemple on s’est connectée comme aurelie puis root.
= souplesse particulière du système : Possibilité de se connecter comme simple utilisatrice pour, par exemple, gérer son site web ; mais à un moment, on peut se retrouver bloquée. Par exemple, seule root peut créer de nouvelles utilisatrices ou installer des programmes. Si je connais le mot de passe root, je peux, au moment où j’en ai besoin, me connecter comme superutilisatrice (su), sans quitter la machine.
Pour le moment , il n’y a rien dans notre répertoire home :
aurelie@femke : $ ls aurelie@femke : $
ls : list screen Créer un répertoire pour nos fichiers web
aurelie@femke : $ mkdir public_html aurelie@femke : $ ls public_html
mkdir : make directory aller dans le dossier :
aurelie@femke : $ cd public_html/ aurelie@femke : /public_html$
À ce stade, on se déconnecte de la machine.
On crée un fichier .html sur sa machine. On va tenter de l’envoyer sur le serveur avec scp.
ubuntu@ubuntu : $ man scp lire le manuel d’une commande :
et hop ! une description très didactique de scp :-)
ubuntu@ubuntu : $ scp /home/ubuntu/Desktop/aurelie.html
aurelie@192.168.2.208 :/home/aurelie/public_html/test.html
Password :
aurelie.html 100% 86 0.1KB/s 00:00
scp chemin/du/fichier/à/copier.html utilisatrice ip.serveur :/là/où/le/fichier/doit/aller
Ici j’ai en plus renommé le fichier de aurelie.html à test.html.
Si je retourne sur la machine en ssh, je vois maintenant le fichier dans mon dossier public_html :
aurelie@femke : $ cd public_html/
aurelie@femke : /public_html$ ls test.html
Lire le fichier : (on a installé less au préalable)
aurelie@femke : /public_html$ less test.html
Maintenant on va se mettre en root de façon à rendre nos dossiers public_html accessibles en lecture de l’extérieur
aurelie@femke : /public_html$ su
Password :
Du coup on peut se balader dans les dossiers des voisines :
femke :/home/aurelie/public_html# cd /home/saliha/
femke :/home/saliha# ls public_html
On va créer des liens symboliques à partir du répertoire d’Apache vers nos public_html/
On va voir les fichiers de configuration (/etc) du serveur Apache (/apache2) :
femke :/home/saliha# cd /etc/apache2/
apache2.conf envvars mods-available/ ports.conf sites-enabled/ conf.d/ httpd.conf mods-enabled/ sites-available/
Configuration éclatée dans plusieurs fichiers, on va dans apache2.conf
Toujours faire un backup de ce genre de page.
Dans ce fichier, on voit deux lignes (enfin... notamment) comme ceci :
User www-data
Group www-data
Ça veut dire que Apache lui-même utilise le nom d’utilisateur www-data, et appartient également au groupe www-data.
Ça permet de définir des droits minimums pour Apache, différents d’un utilisateur, et surtout différents de root. Ça permet aussi de différencier les actions des unes et des autres dans les fichiers de log par exemple.
On voit aussi :
ErrorLog /var/log/apache2/error.log
LogLevel warn
où est le fichier de logs, quel niveau de logs on veut
1. Include module configuration :
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
Où stocke-t-il la configuration des modules qui sont installés (ex. php).
Pour voir la configuration des sites ou espaces web, on devra aller dans le répertoire sites-enabled où est
stockée la configuration par défaut des sites et où on peut stocker d’autres configurations (voir atelier avec Christian), donc des exceptions pour chaque site sont possibles.
femke :/home/saliha# less /etc/apache2/sites-enabled/000-default
Dans le fichier, on trouve la ligne :
DocumentRoot /var/www/ qui indique le dossier par défaut du serveur web, celui auquel on accède si on tape http://ip.du.serveur dans un navigateur.
Dans /var/www/, on trouve déjà des dossiers :
femke :/home/saliha# cd /var/www/ femke :/var/www# ls
apache2-default phpmyadmin user1
Créer un lien symbolique d’ici vers les dossiers public_html : ln
femke :/var/www# ln -s /home/aurelie/public_html/ aurelie
-s option pour un lien symbolique
syntaxe de ln : d’abord la cible (là où on va aller si on suit le lien) puis le nom du lien.
Attention d’être dans le bon dossier.
Maintenant on va voir notre boulot :
femke :/var/www# ls -lah
total 12K _ drwxr-xr-x 3 root root 4,0K 2007-05-26 18:19 . _ drwxr-xr-x 15 root root 4,0K 2007-05-26 15:01 .. _ drwxr-xr-x 2 root root 4,0K 2007-05-26 15:01 apache2-default _ lrwxrwxrwx 1 root root 26 2007-05-26 18:18 aurelie -> /home/aurelie/public_html/ _ lrwxrwxrwx 1 root root 26 2007-05-26 18:18 laurence -> /home/laurence/public_html _ lrwxrwxrwx 1 root root 25 2007-05-26 18:18 nicolas -> /home/nicolas/public_html _ lrwxrwxrwx 1 root root 26 2007-05-26 18:18 patricia -> /home/patricia/public_html _ lrwxrwxrwx 1 root root 21 2007-05-26 15:21 phpmyadmin -> /usr/share/phpmyadmin _ lrwxrwxrwx 1 root root 24 2007-05-26 18:19 saliha -> /home/saliha/public_html _ lrwxrwxrwx 1 root root 24 2007-05-26 15:40 user1 -> /home/user1/public_html/ _ lrwxrwxrwx 1 root root 22 2007-05-26 18:18 vera -> /home/vera/public_html
avec les options -lah, on a une vue plus détaillée ( l pour long, a pour tous les fichiers, meme les fichiers commencant par ., h pour humain, pour avoir la taille des fichiers facilement lisible pour les humains(e)).
En bref, voici on quoi consiste notre atelier :
1/ création d’un compte user ( nom, mot de passe, groupe, répertoire home) ;
2/ comment se loger sur une machine à distance par ssh
3/ copier fichierp par scp ;
4/ création d’une page web ;
5/ se connecter à un répertoire racine apache ;
6/ création de lien symbolique pour arriver à une connection ;
7/ travailler sur un dossier personnel sans souci du serveur, en Q pour quitter :).
Enfin, on a terminé par la création d’une page php dans le éditeur de texte : la page php commence par
<?php
php() ; (ne serait ce pas ?? phpinfo()) : nous informe sur ce qu'il y a sur le php
?>