Documentation sur l'administration de serveur web (LAMP) Charlène & Antoine SIO1 Pour prendre le control du serveur web à distance, on cherche 'connexion bureau à distance' puis ensuite on rentre l'adresse du serveur dans 'nom' l'adresse est 172.16.224.106 (nl / root). Ensuite on a l'accès du serveur à distance ce qui est très pratique. Ce serveur est un serveur LAMP (Linux, Apache, MySQL, PHP). Pour trouver toutes les pages web répertorié dans le serveur web, on va dans le dossier 'var' puis 'www' et 'phpmyadmin', ici sont répertoriées toutes les pages web. http://forum.webrankinfo.com/securiser-son-serveur-lamp-t57433.html (site sécurisé serveur lamp) 1 - Webmin : Pour administrer les sites webs sur Debian on va utiliser l'interface Webmin. (Pour l'installation suivre la procédure d'un tutoriel sur internet, ne pas oublier de télécharger l'interface avant de lancer l'installation des paquets) Les logs sont root et P@ssw0rd - Pour se connecter on tape dans la barre d'adresse : https://debianantoine:10000 On arrive sur la page ci-dessous Cliquez sur 'Je comprends les risques' et ensuite 'Ajouter une exception'
Cliquez sur 'Confirmer l'exception de sécurité' On arrive maintenant sur l'interface web de webmin.
- Dans cette interface, on peut voir qu'il y'a deux server web existant. - Ici, cette interface va nous permettre de créer un hôte virtuel. - Dans cette interface on laisse le dossier choisi. En effet ce dossier permet d'ajouter des pages web sur le serveur (présentation plus bas).
- Nous mettons l'adresse de l'ordinateur, on laisse le port 80 (protocole http), on lui donne un nom. - On voit qu'un serveur est apparu dans la liste.
Ci-dessous l'interface pour gérer les bases de données MySQL - On peut voir les bases de données déjà existante et en dessous on peut les administrer en leur déterminant des accès, des permissions. Ici c'est pour connecter les bases de données MySQL avec le serveur Ici c'est pour gérer les permissions de l'hôte dans les bases de données
2- Qu est-ce que veut dire http, https : 1- Http : ce sigle contenu dans les adresses Web est l abréviation d Hypertext Tranfert Protocol, ce qui veut dire «protocole de transfert hypertexte». Ce dernier désigne un «protocole de communication client-serveur qui a été inventé pour développer le World Wide Web «www». 2- Https : ce protocole est une variante du protocole http, le S signifie «Secured», ce dernier est utilisé pour les paiements sécurisés et les transactions financières en ligne. Dans votre navigateur, vous pouvez voir la liste des systèmes utilisés en plaçant votre curseur sur le petit cadenas quand vous êtes dans une page Https. Aperçu ci-dessous Les origines : Le protocole de communication http a été inventé en 1991 par Tim Berners-Lee. Il a été créé durant la même période que les adresses Web (URL) et le langage Html. À cette époque, il existait un protocole servant à transférer des fichiers, le File Transfert Protocol (FTP), mais il ne supportait pas la notion de format de données. L Hypertext Tranfert Protocol a donc été conçu pour distribuer les pages Web sur un réseau Tcp/IP comme internet. À quoi sert le protocole http? 1- Le protocole http permet le dialogue entre votre navigateur web (le client) et un serveur contenant des données sur Internet. Le protocole http utilise le protocole TCP comme couche de transport, il peut donc fonctionner sur n importe quelle connexion fiable. La liaison entre le client et le serveur n est pas toujours directe.
Pour la consultation d un serveur http par le biais d un navigateur web on passe par le port 80, pour les connexions http utilisant une couche de sécurité de type SSL (https) on passe par le port 443. Des machines intermédiaires peuvent servir de relais : - Un serveur mandataire ou proxy - Une passerelle ou gateway qui modifie le protocole utilisé - Un tunnel, qui transmet les requêtes et les réponses sans aucune modification Son fonctionnement : Le protocole http permet aussi l identification du visiteur par transmission d un nom et d un mot de passe. Le client adresse au serveur des requêtes, dans le protocole http, on appelle méthode la commande spécifiant un type de requête. Dans la version http/0.9 du protocole, les requêtes étaient extrêmement simples et se limitaient à l obtention d un document. Voici les différentes méthodes possibles et les actions que l on demande au serveur d effectuer : - GET : obtient un document, demande une ressource (version http/0.9) - HEAD : obtient l en-tête de la réponse, sans demander la réponse elle-même (version http/1.0) - POST : envoie du contenu au serveur, ajoute une nouvelle ressource - PUT : demande au serveur d enregistrer la ressource envoyée (version http/1.1) 3- Les certificats : Un certificat électronique (aussi appelé certificat numérique ou certificat de clé publique) peut être vu comme une carte d identité numérique. Il est utilisé principalement pour identifier une entité physique ou morale. Il est signé par un tiers de confiance qui atteste du lien entre l identité physique et l identité numérique. Cela permet de savoir à qui l on a à faire sur internet, car sinon il y aurait énormément de fraude et de tromperie, certaines personnes chercheraient à gagner la confiance des personnes pour obtenir des données comme des code bancaire. Non-répudiation et l intégrité des données avec la signature numérique La confidentialité des données grâce au chiffrement de des données L authentification d un individu ou d une identité numérique
4- Les dossiers : Une fois Apache installé, Apache affichera la même page web pour tous les "host names" sur votre serveur. Vos pages web doivent être installés dans le répertoire /var/www/. Cependant ceci ne fonctionnera que pour une seule page web. C'est pour cela que dans la suite du tutoriel je vous explique comment faire pour héberger d'autres sites web via le "site-available" et le "site-enabled". Seul deux répertoires doivent être utilisés pour installer des "virtual host" : /etc/apache2/sites-available/ /etc/apache2/sites-enabled/ Pour créer des hôtes virtuels avec Apache 2 vous devez rajouter un fichier dans votre répertoire sites-available. Sites-available est aussi appelé "site-hébergé". -Ce répertoire permet d'ajouter des sites web sur votre serveur. Pour créer un nouveau fichier "sites-available" : il vous suffit d'aller dans le répertoire : /etc/apache2/sites-available. Dans ce répertoire vous allez y trouver un fichier "default". Faîtes une copie de ce fichier en modifiant le nom bien sûre. Voici la commande : cp default animaux.com (Il est recommandé de nommé votre fichier avec le nom de votre domaine du site web à héberger. Ceci permettra à votre serveur de l'identifier rapidement) Maintenant il va falloir éditer ce fichier afin qu'il soit configuré pour le site web que vous voulez héberger sur votre serveur. Taper cette commande : nano animaux.com Enfin, modifier ce fichier afin qu'il contienne le nom du site que vous voulez héberger. Par exemple, si vous désirez héberger ce site : animaux.com le début de votre fichier "site-available" devra ressembler à ceci : NameVirtualHost IP_DU_SERVEUR:80 <VirtualHost IP_DU_SERVEUR:80> ServerAdmin anne@animaux.com ServerName www.animaux.com DocumentRoot /var/www/animaux.com/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/animaux.com/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all
</Directory>... "DocumentRoot" sert à désigner le répertoire des pages web du site sur le serveur. ici, c'est donc le répertoire dans lequel se trouveront les pages web de animaux.com. Ensuite, il y a "sites-enabled" : ceci va permettre d'activer le site. Exécuté alors cette commande : a2ensite animaux.com Ceci va permettre de créer le lien entre "site-available/animaux.com" et "site-enabled/animaux.com" Une fois le lien créer entre les deux, vous pouvez désactiver votre site par le biais de cette commande : a2dissite animaux.com Puis, pour finir redémarré Apache pour que vos modifications soient enregistrés dans votre serveur. 5- Un hôte virtuel : Un hôte virtuel, appelée aussi "Virtual host", est le fait de servir plusieurs sites web sur une même instance de serveur. Ainsi, une machine serveur possède un seul et unique serveur Apache et pourra servir plusieurs sites, sans qu'ils puissent se connaître. 6- Administrer une base de donnée MySQL : Interface de Phpmyadmin Dans cette barre cliquer sur 'Privilèges'
- On peut même administrer base de donnée par base de donnée, on a juste à sélectionner la base de donnée en question, on pourra ainsi voir les utilisateurs qui ont accès à cette base, on clique sur 'changer les privilèges'. - On arrive sur cette interface qui permet de gérer les droits des utilisateurs, on peut même par exemple leur imposer un nombre de requête maximal par heure sur la base de donnée en question.
- On peut aussi ajouter un nouvel utilisateur. En cliquant sur "ajouter un utilisateur" il vous suffit de mettre le nom de l'utilisateur et son mot de passe. Vous pouvez ensuite gérer les droits de ces nouveaux utilisateurs.