Vous êtes sur la page 1sur 5

Serveurs web ports.

conf : directives de configuration pour les ports et les Sites virtuelles


adresses IP d'écoutes.
Protocole HTTP : Configuration de deux sites virtuels par nom :
mods-available/ :contient une série de fichier .load et
Code de retour Dans cette exemple, nous allons configurer deux sites
.conf Un fichier .load contient les paramètres de
1xx : Information virtuels, le premier smi.ump.ma et le deuxième
configuration nécessaires pour charger un module en
2xx : Succès (par exemple : 200 ok). sma.ump.ma
question. Le fichier .conf correspondant, les paramètres de
3xx : Redirection. . Les deux sites utilisent la même adresse IP 192.168.56.2
configuration nécessaires pour utiliser le module en
4xx : Erreurs (par exemple : 404 Not Found). . Il faut déclarer les deux noms dans le fichier /etc/hosts:
5xx : Erreurs venant du serveur HTTP (par exemple : 501 question.
mods-enabled/ : pour utiliser un module (activer), il faut 192.168.1.2 smi.ump.ma www.smi.ump.ma
Not Implemented).
mettre un lien symbolique vers le fichier .load (et 192.168.1.2 sma.ump.ma www.sma.ump.ma
Méthodes :
.conf,s'il existe) du module associé dans le dossier mods- Il faut créer les répertoires smi et sma associés dans
Les métho des HTTP sont les suivantes :
available. /var/www/html :
GET : demande de la ressource située à l'URL spécifiée ;
sites-available/ : même chose que mods-available/, mais % mkdir /var/www/html/smi
HEAD : demande de l'en-tête de la ressource située à
cette fois pour les sites virtuels. Ce n'est pas obligé d'avoir % mkdir /var/www/html/sma
l'URL spécifiée ;
le même nom pour le site et le fichier. Dans /etc/apache2/sites-available/ , il faut créer deux
POST : envoi de données au programme situé à l'URL
sites-enabled/ : même chose que mods-enabled/. fichiers : smi.conf et sma.conf
spécifiée ;
magic : instructions pour déterminer le type MIME d'un Contenu du fichier s mi.conf :
PUT : envoi de données à l'URL spécifiée ;
fichier (Multipurpose Internet Mail Extensions - Extensions <VirtualHost *: 80>
DELETE : suppression de la ressource située à l'URL
Multi-usages de la Messagerie par Internet). Par exemple DocumentRoot /var/www/html/smi
spécifiée.
text/html et image/gif ServerName smi.ump.ma
Requête HTTP :
Activer/désactiver un module : ServerAlias www.smi.ump.ma
Une requête HTTP est un ensemble de lignes envoyé au
Les commandes a2enmod et a2dismod sont disponibles </VirtualHost>
serveur par le navigateur. Elle comprend :
pour activer ou désactiver un module. Avec :
-une ligne de requête précise la méthode qui doit être
pages web personnelles : DocumentRoot : emplacement par défaut des pages html ;
appliquée, et la version du protocole utilisée. La ligne
ServerName : nom du serveur virtuel ;
comprend trois éléments devant être séparés par un espace Pour permettre aux utilisateurs d'avoir leurs propres pages
web disponibles via un lien de type : ServerAlias : autre nom (alias) du serveur virtuel.
*la méthode ;
http://NomSite/~utilisateur Contenu du fichier sma.conf :
*l'URL ; <VirtualHost *: 80>
http://localhost/~smi
*la version du protocole utilisé par le client DocumentRoot /var/www/html/sma
On tape la commande
(généralement HTTP/1.0) ; % a2enmod userdir ServerName sma.ump.ma
Exemple : Il faut ensuite redémarrer apache en tapant la commande : ServerAlias www.sma.ump.ma
GET / HTTP/1.0 % service apache2 restart </VirtualHost>
Exemple d'une page personnelle : Activation des deux sites :
Dans le répertoire personnelle de l'utilisateur smi, il faut Il faut activer les deux sites en tapant les commandes :
Serveur web apache % a2ensite smi
créer le répertoire public_html avec les droits -rwxr-xr-x
fichier et répertoires de configuration : % a2ensite sma
et mettre dedans le fichier index.html, avec les droits
Les fichier et répertoires de configuration d'apache se Après l'activation, il faut recharger le serveur apache en
-rwxr--r--.
trouvent dans le répertoire /etc/apache2/ tapant la commande
Activer/désactiver un site :
apache2.conf : fichier de configuration principale. % service apache2 reload
Les commandes a2ensite et a2dissite sont disponibles
Envars : contient les variables d'environnement propres à Sites virtuels par adresse IP :
pour activer ou désactiver un site.
apache. Dans cette exemple, nous allons configurer un nouveau site
conf-available/ : contient des fichier de configuration virtuel smp.ump.ma, qui utilise une adresse IP différente.
additionnels disponibles. Dans cette exemple, la machine doit être muni, soit de
conf-enabled/ : contient des fichier de configuration plusieurs interfaces réseaux soit de plusieurs adresses IP
activés. Il sont utilisés dans apache2.conf associées à la même interface réseau-on parle d'IP aliasing-
par la ligne : IncludeOptional conf-enabled/*.conf
IP aliasing : si le réseau 192.168.1.0, ne figure pas dans le fichier
Pour affecter une seconde adresse IP à une interface réseau Serveur DHCP de configuration, il faut le signaler de la façon
il faut exécuter la commande : fichiers de configuration : suivante :
% ifconfig eth0:0 192.168.1.10 up * /etc/dhcp/dhcpd.conf #ajouter pour comprendre la topologie du reseau
Remplacez eth0 par une autre interface (par exemple eth1). * /etc/default/isc-dhcp-server #ne fourni aucun service
L'interface dispose, maintenant, de deux adresses distinctes: Interface(s) d'écoute(s) : subnet 192.168.1.0 netmask 255.255.255.0 {}
Adresse IP :192.168.56.2 il faut les spécifier dans /etc/default/isc-dhcp-server % sudo service isc-dhcp-server restart
Alias IP : 192.168.56.10 avec INTERFACES= " eth1 eth2 " exemple :
Pour rendre cette configuration permanente, il faut ajouter La configuration se fait dans le fichier default-lease-time 600;
les lignes suivantes au fichier /etc/network/interfaces : /etc/dhcp/dhcpd.conf. max-lease-time 7200;
auto eth0:0 Configuration du serveur : « exemple » option subnet-mask 255.255.255.0;
iface eth0:0 inet static option broadcast-address 192.168.1.255;
# Nom du domaine DNS :
address 192.168.1.10 option domain-name ''ump.ma'' ; option routers 192.168.1.254;
netmask 255.255.255.0 option domain-name-servers 192.168.1.1, 192.168.1.2;
# Nom(s) de(s) serveur(s) DNS :
Remarque : on peut ajouter autant d'interfaces qu'on veut option domain-name "ubuntu-fr.lan";
option domain-name-servers 192.168.1.10, 192.168.10.11 ;
(eth0 :1, eth0 :2 …). option ntp-servers 192.168.1.254; //serveur de temps
# Temps de renouvellement des adresses en s (1h) : subnet 192.168.1.0 netmask 255.255.255.0 {
Configuration du site virtuel : default-lease-time 3600 ; range 192.168.1.10 192.168.1.100;
Il faut ajouter au fichier /etc/hosts, les lignes suivantes : # maximum (2h) : range 192.168.1.150 192.168.1.200;
192.168.1.10 smp.ump.ma www.smp.ump.ma max-lease-time 7200 ; }
Il faut créer le répertoire smp associé dans/var/www/html # Mode autoritaire Configuration : Adresses IP fixes uniquement
% mkdir /var/www/html/smp # Est-ce-que ce serveur DHCP est principale ? deny unknown-clients; //interdit l'attribution d'une adresse 
Dans /etc/apache2/sites-available/,il faut créer le fichier : Authoritative ; IP à une station dont l'adresse MAC est inconnue du 
smp.conf # Masque de sous-reseau : serveur.
Contenu du fichier smp.conf : option subnet-mask 255.255.255.0 ;
subnet 192.168.1.0 netmask 255.255.255.0 {
<VirtualHost 192.168.1.10: 80> Configuration du réseau ex: <192.168.1.0> host client1 {
DocumentRoot /var/www/html/smp #declaration du sous reseau 192.168.1.* hardware ethernet DD:GH:DF:E5:F7:D7;
ServerName smp.ump.ma subnet 192.168.1.0 netmask 255.255.255.0 { fixed-address 192.168.1.20;
ServerAlias www.smp.ump.ma  #specifier un domaine different de celui par defaut: }
</VirtualHost>    option domain-name ''fso.ump.ma'' ; host client2 {
Il faut ensuite activer le site ….  #adresse de diffusion : hardware ethernet 00:JJ:YU:38:AC:45;
Sécuriser apache option broadcast-address 192.168.1.255 ; fixed-address 192.168.1.21;
Le module mod_ssl ajoute la possibilité de crypter les  #routeur par defaut : }
communications entre le client et le serveur.    option routers 192.168.1.1 ; }
Le mode mod_ssl se trouve dans le package apache2-
common. Pour l'activer, il faut taper la commande :
 #intervalle des adresses :
   range 192.168.1.20 192.168.1.200 ;
ftp et ssh
% sudo a2enmod ssl FTP (File Transfer Protocol - Protocole pour le Transfert de
}
suivie de la commande Fichiers)est un protocole TCP qui permet le téléchargement
Configuration de la machine ex:<web-smi> de fichiers à partir d'un serveur. Ce protocole n'est pas
% sudo service apache2 restart
host web-smi {
Après l'activation, il faut utiliser le préfixe https :// devant sécurisé du que l'envoie des données entre le client et le
 #adress mac de la carte reseau
l'adresse du serveur dans la barre du navigateur (par serveur n'est pas crypté. pour plus de sécurité, on peut
#a remplace par celle de la machine utiliser ssh (Secure shell)
exemple : https://192.168.1.2/ ).
 hardware ethernet 08:00:27:A6:C2:50 ;
plus info : http://doc.ubuntu-fr.org/apache2
 # adresse attribue :
http://doc.ubuntu-fr.org/tutoriel/securiser_apache2_avec_ssl
 fixed-address 192.168.1.200 ;
}
ftp: Partage de dossiers et no_root_squash désactive la conversion des UID/GID
root.
% sudo apt-get install vsftpd
Configuration de la connexion anonyme : d'imprimantes all_squash convertit tous les UID/GID en user
pour autorisée la connexion anonyme : dans Le partage de dossiers et d'imprimantes permet de : anonymes. Utile pour exporter avec
/etc/vsftpd.conf en changeant la ligne : * réduire le coût d'investissement ; NFS des répertoires publics.
anonymous_enable=YES * mutualiser les ressources.
sync ne répondre aux requêtes qu’après
% sudo restart vsftpd Pour partager des dossiers entre des machines Unix/Linux
l’exécution de tous les changements
Les fichiers qui seront visibles par connexion ftp anonyme on utilise le protocole NFS (Network File System).
sur le support réel.
doivent être mises dans : /srv/ftp Pour partager des dossiers et des imprimantes entre des
La commande : tail -n1 /etc/passwd machines Unix/Linux et des machines Windows on utilise no_subtree_check annule la vérification des sous-
le service samba. répertoires
Fournira le résultat :
ftp:x:111:119:ftp daemon,:/srv/ftp:/bin/false On peut utiliser des noms ou adresses IP pour les
Configuration de la connexion authentifiée :
éditer le chier : /etc/vsftp d.conf
Le protocole NFS(Network File machines. Une fois le fichier /etc/exports bien configurer
il faut redémarrer (ou relancer) nfs :
et enlever le commentaire à la ligne : #write_enable=YES System) % sudo service nfs-kernel-server restart
Connexion à partir d'un terminal : ou bien
Côté serveur :
% ftp 192.168.1.2 (@ip ou nom du serveur) % sudo service nfs-kernel-server reload
Il faut installer serveur NFS, en tapant la commande :
Connexion à partir d'un navigateur : % sudo apt-get install nfs-kernel-server Remarque :
Connexion anonyme: ftp://adresse (ftp://192.168.1.2) les options doivent être séparées par des virgules, SANS
Configuration :
Connexion authentifié:ftp://login@adresse ESPACE.
Le fichier de configuration est /etc/exports. On indique
Pour plus d'options man exports
(ftp://smi@192.168.56.2) dans ce fichier la liste des répertoires à exporter (partagés)
et les noms des machines autorisées à les utiliser,
Côté client :
Pour pouvoir monter des répertoires, il faut installer :
exemple :
% sudo apt-get install nfs-common
ssh: /home machine1(rw,sync,no_subtree_check)
*(ro,sync,no_subtree_check) En tant qu'administrateur du système, pour monter un
Pour installer le client : /projet machine1 répertoire distant, il faut utiliser la commande
% sudo apt-get install openssh-client (rw,sync,no_root_squash,no_subtree_check) mount avec l'option -t nfs.Exemple :
Pour installer le serveur : /test *(ro,sync,no_subtree_check) % mount -t nfs nom_machine:/home /test
% sudo apt-get install openssh-server Explication : ou
Connexion à partir d'un client Linux: * machine1 peut monter /home en lecture/écriture (rw); % mount -t nfs 192.168.1.2:/home /test
ssh login@adresse (% ssh smi@192.168.1.2) * toutes les autres machines du réseau peuvent monter Montage au démarrage :
Pour utiliser le serveur ssh comme serveur ftp sécurisé, /home en lecture seulement (ro) ; ajouter les renseignements nécessaire au fichier /etc/fstab
tapez la commande :sftp login@adresse * machine1 peut monter /projet en lecture/écriture (rw); exemple:
Si le navigateur supporte le protocole sftp : nom_machine:/home /home nfs auto,rw,user 0 0
* toutes les machines du réseau peuvent monter /test en
sftp://smi@192.168.1.2/ lecture seule (ro)
Copie vers le serveu : Option Signification
% scp fichier1 fichier2 ... smi@192.168.1.2 :
ro read-only
% scp -r Rep smi @192.168.1.2 :
il ne faut pas oublier ":" , sinon la copie se fera en local rw read-write
(utilisation de cp). root_squash convertit les UID/GID root, en
utilisateur anonyme. L’administrateur
de la machine cliente ne peut pas
modifier le contenu des répertoires et
des fichiers.
connecter au serveur Connexion à partir d’un client Linux:
Le protocole SAMBA # ici on se limite aux adresses réseau privé 192.168.1.0 et % smbclient //nom-machine/repertoire
Samba permet de partager des répertoires et des imprimant à l’interface "loopback" exemple: Pour se connecter en utilisant le compte d’un
entre Linux et d’autres systèmes Windows et Mac OS. hosts allow = 192.168.1. 127. utilisateur qui s’appelle smi, il faut taper la commande :
Installation: # on peut exclure des machines de l’accès au réseau % smbclient //192.168.56.2/smi -U smi
% sudo apt-get install samba hosts allow = 192.168.1. EXCEPT 192.168.1.125 On peut utiliser la commande mount pour monter un
Configuration: # d’autres possibilités existent : voir le manuel man smb répertoire partagé (fonctionne sous root) :
Le fichier de configuration de samba est : Le répertoire personnel: % mount -o username=smi //192.168.56.2/smi Rep
/etc/samba/smb.conf. [ homes ] Ou Rep est le répertoire de montage.
Avant de modifier le fichier de configuration, il faut le #accès au répertoire personnel de chaque utilisateur.
sauvegarder par prudence (% cp smb.conf smb.conf.old). #la valeur du champ "comment" apparaîtra dans le
Vérification des changements: voisinage réseau, inutile pour cette section de préciser le
L’outil testparm, permet de tester la syntaxe du fichier de path, c’est celui de l’utilisateur, en fait /home/%u
configuration et de détecter les erreurs. Il est recommandé comment = Répertoire personnel
browsable = no Domain Name Service (DNS)
de le lancer systématiquement lors de la modification de
smb.conf.
writable = yes
create mode = 0700
Service de Nom de domaines
A chaque changement effectué dans smb.conf, il faut Installation:
Rendre un répertoire public:
relancer les démons smbd et nmbd. % sudo apt-get install bind9
pour qu'il soit accessible en lecture:
Commande : Le fichier de configuration principal de bind est
% mkdir /home/partage
% service smbd restart /etc/bind/named.conf.
% chmod 755 /home/partage
suivie de : Configuration comme serveur principale: (du
pour y ajouter les permissions d’accès pour tous. il faut
% service nmbd restart
ajouter une nouvelle section domaine smi6.net)
Les principaux paramètres de smb.conf: [ partage ] Pour ajouter la zone smi6.net, il faut ajouter dans le
* path : chemin du répertoire à partager. path = /home/partage fichier /etc/bind/named.conf.local les lignes suivantes :
* comment :texte visible dans le voisinage réseau client browsable = yes zone "smi6.net" {
* guest ok = yes|no : (no) permettre l’accès sans writable = no type master ;
authentification guest ok = yes file "/etc/bind/db.smi6.net " ;
* valid users :(tous) liste des utilisateurs autorisés à se pour qu'il soit accessible en lecture et ecriture: };
connecter à la ressource % chmod 777 /home/partage pour créer le fichier /etc/bind/db.smi6.net :
* printable =true|false :(false) partage d’un service [ partage ] % sudo cp /etc/bind/db.local /etc/bind/db.smi6.net
path = /home/partage ensuit le modifier insi:
d’impression et non d’un répertoire.
browsable = yes
* writeable =yes|no :(no) permet ou non l’écriture sur le writable = yes $TTL 86400
répertoire, contraire de read only guest ok = yes @ IN SOA smi6.net. dns.smi6.net. (
* browseable :(yes) visibilité du partage par tous, même create mode = 0755 250120152 ; serial
les utilisateurs non autorisés 3600 ; Refresh ( 1 heure )
Utilitaires SAMBA:
* create mask :(0744) droits maxi accordés à un fichier 86400 ; Retry ( 1 jour )
* testparm : permet la validation du fichier de
créé dans la ressource. 2419200 ; Expire ( 28 jours )
configuration de Samba.
* directory mask :(0755) droits maxi accordés à un 86400 ) ; Minimum ( 1 jour )
* smbclient : client Linux/Unix similaire à FTP
répertoire créé dans la ressource IN A 192.168.1.1
permettant de se connecter à des partages Samba.
La section globale: ;
* smbpasswd : permet à un administrateur de modifier
[ global ] @ IN NS dns.smi6.net.
les mots de passe chiffrés utilisés par Samba.
# donner le meme nom de groupe de travail que celui des dns IN A 192.168.1.1 // @ip du serveur
* smbstatus : dresse l’état des connexions aux partages
stations Windows ( Voisinage reseau / identification ) pc1 IN A 192.168.1.2
d’un serveur Samba.
workgroup = SMI
Ajout d’un utilisateur samba:
# restreindre par sécurité les sous-réseaux autorisés à se
% smbpasswd -a utilisateur
Signification des différents champs:
* TTL (Time To Live) : détermine le temps, en secondes,
durant lequel les informations seront conservées dans le ; Dans le serveur secondaire, il faut installer bind9 de la
cache. ; Fichier BIND inverse pour le reseau local 192.168.1.0 même façon que pour le serveur principale. Puis il faut
* SOA (Start Of Authority) : indique le début d’un ; ajouter les déclarations suivantes dans le fichier
enregistrement. $TTL 604800 /etc/bind/named.conf.local :
* NS (Name Server) : identifie un serveur de nom pour @ IN SOA smi6.net. dns.smi6.net. (
un domaine. 090320152 ; serial zone "smi6.net" {
* A (internet Address) : adresse internet. 604800 ; Refresh type slave ;
* @ : désigne le nom du domaine actuel. Il ne faut pas 86400 ; Retry file "/etc/bind/db.smi6.net " ;
oublier le point (.) après le nom de domaine. 2419200 ; Expire masters { 192.168.1.1 ; } ;
* ; : commentaire. 604800 ) ; Minimum };
% sudo service bind9 restart ; zone " 1.168.192. in−addr.arpa " {
@ IN NS dns. type slave ;
1 IN PTR dns.smi6.net. file "db.192 " ;
Côté client:
2 IN PTR pc1.smi6.net. masters { 192.168.1.1 ; } ;
Pour configurer le client, il faut éditer le fichier de
% sudo service bind9 restart };
configuration de la résolution de noms /etc/resolv.conf.
% sudo service bind9 restart
Exemple :
domain smi6.net Configuration d’un serveur secondaire:
nameserver 192.168.1.1 Une fois le serveur primaire configuré, il faut avoir un
autre serveur secondaire pour que la zone soit toujours
disponible même si le serveur principale tombe en panne.
Vérification:
Nous allons supposer que nous disposons d’un autre
A partir d’un client, il suffit d’utiliser la commande ping
serveur avec l’adresse 192.168.1.10.
pour vérifier la connexion aux différentes machines. Par
Dans le serveur principale il faut activer le transfert en
exemple : ping dns.smi6.net
ajoutant les options allow-transfer et also-notify au fichier
/etc/bind/named.conf.local comme suit :
nslookup: La commande nslookup permet l’interrogation zone "smi6.net" {
d’un serveur DNS. type master ;
nslookup pc1.smi6.net file "/etc/bind/db.smi6.net " ;
fournira le résultat : allow-transfer { 192.168.1.10; } ;
Server: 192.168.1.1 also-notify { 192.168.1.10; } ;
Address: 192.168.1.1#53 // 53 port de DNS };
Name: pc1.smi6.net zone " 1.168.192. in−addr.arpa " {
Address: 192.168.1.2 type master ;
file "/etc/bind/db.192 " ;
Fichier de la zone inverse (Reverse Zone): allow-transfer { 192.168.1.10; } ;
Il permet au serveur DNS de faire la résolution d’adresses also-notify { 192.168.1.10; } ;
vers des noms. Il faut ajouter dans le fichier };
/etc/bind/named.conf.local les lignes suivantes : % sudo service bind9 restart
zone " 1.168.192. in−addr.arpa " {
type master ;
file "/etc/bind/db.192 " ;
};
Ensuite, il faut créer le fichier /etc/bind/db.192 :
% sudo cp /etc/bind/db.127 /etc/bind/db.192

Vous aimerez peut-être aussi