12/12/2024

Serveur Web

Serveur Web

Serveur web mutualisé (1/5) : Le concept de la mutualisation

I. Présentation Ces derniers temps on voit passer sur les différents médias de publicités diverses offres de stockage, Cloud, hébergement de site web ou plus simplement dit d’hébergement mutualisé. Bien qu’il ne faille pas confondre ces différents éléments, il convient de les expliquer et de les détailler. Nous allons ici nous intéresser au concept de la mutualisation et plus précisément des serveurs web mutualisés qui sont aujourd’hui la base de nombreux sites web, le tout de façon non technique pour que les bases soient comprises de tous. Amazon, OVH, 1&1, tout le monde connait à présent ces géants du web, leur proposition comme « 1&1 my website », un service de création et d’hébergement 1&1, par exemple. On en connaîtrait même leur prix par cœur ! Mais qu’est ce que tout cela cache ? II. Mais, un serveur web mutualisé, c’est quoi au juste ? Un serveur web mutualisé est donc une infrastructure qui se monte sur la base du Cloud (stockage

Lire cet article
ApacheAutresMicrosoft IIS

Qu’est ce que le Directory Browsing/Listing ?

I. Présentation Dans ce tutoriel, nous allons parler du Directory Browsing (navigation dans les répertoires) aussi appelé Directory Listing (Listage de répertoire). Nous allons voir comment il peut être utilisé, pourquoi il peut être un danger et comment l’activer et le désactiver sous les serveurs web Apache et IIS. II. Qu’est ce que c’est  ? Le Directory Browsing ou Listing est le fait de donner la possibilité aux visiteurs d’un site web de voir et d’afficher le contenu d’un répertoire en « brut ». Habituellement, les serveurs web affichent des pages web (HTML, PHP, etc.), il est plus rare de trouver un répertoire affiché tel quel lorsque l’on visite un site web. Cela peut toutefois être utile, prenons par exemple les espaces web mettant à disposition des utilisateurs des fichiers à télécharger : En quoi est-ce un danger ? Il n’est pas toujours souhaitable de voir tous les fichiers d’un dossier web s’afficher aux yeux des visiteurs, je pense notamment à des

Lire cet article
Apache

Documents par défaut – Apache

I. Présentation Dans ce tutoriel, nous allons voir comment gérer les documents par défaut dans le serveur web Apache. Pour information, un document par défaut est un fichier (nom + format) que le serveur web va automatiquement charger si il se trouve dans un répertoire web visé par un client. Concrètement, « index.html » est un fichier par défaut sur tous les serveurs web. Si un client se rend dans un répertoire web sans spécifier de fichier, le serveur web ira lire les documents par défaut qu’il peut charger puis essayer de les trouver dans le répertoire en question. S’il en trouve un, il le chargera plutôt que d’afficher le contenu du répertoire web. II. Configuration Apache Dans Apache, on peut effectuer cette modification des documents par défaut dans la configuration du virtualhost ou du site en question (/etc/apache2/sites-enabled) ou alors dans un .htaccess si nous n’avons pas accès à la configuration du serveur web (dans le cas d’un hébergement mutualisé par

Lire cet article
Apache

WAMP – Modifier les permissions d’accès par défaut

I. Présentation Lors de l’installation d’un serveur web WAMP sous Windows, il est configuré de façon à ce qu’il soit accessible uniquement depuis la machine sur lequel le serveur est installé (localhost). Cela se configure grâce à la directive « Allow from » indiquée dans le fichier de configuration d’Apache nommé « httpd.conf ». Pour l’accès à PhpMyAdmin, c’est la même chose, l’accès est restreint au localhost. Nous allons voir quels sont les deux fichiers à modifier pour gérer ces permissions d’accès. II. Procédure Si vous avez installé WAMP dans le répertoire par défaut, vous trouverez le fichier httpd.conf au chemin suivant : C:\wamp\bin\Apache2.2.11\conf Une fois que vous êtes dans le répertoire éditez le fichier avec votre éditeur de texte préféré. A la ligne « 240 » vous trouverez la configuration du répertoire « C:\wamp\www » qui correspond à la racine du site par défaut d’Apache. A la fin vous trouverez toute la partie de gestion des autorisation avec « Deny from all » pour refuser l’accès à tous puis

Lire cet article
Microsoft IIS

Activation dynamique des sites dans IIS 8.5

I. Présentation Une des nouveautés d’IIS 8.5 présent dans Windows Server 2012 R2 est l’activation dynamique des sites. Jusqu’à Windows Server 2012, lors du démarrage du serveur IIS tous les sites configurés étaient activés automatiquement, ce qui prenait du temps et demandait beaucoup de ressources surtout lorsque l’on héberge beaucoup de sites. II. La solution dans IIS 8.5 Plutôt que d’activer tous les sites automatiquement alors qu’ils ne vont pas tous recevoir une requête aussitôt, la nouvelle fonctionnalité intégrée à IIS 8.5 et nommée « Activation dynamique des sites » activera un site uniquement lorsque celui-ci recevra sa première requête de la part d’un client. Ainsi, les sites hébergés sont démarrés petit à petit et ne surcharge pas inutilement le démarrage de IIS. L’activation des sites est effectuée de façon plus intelligente. Par défaut, vous devez disposer de 100 sites ou plus pour profiter de cette fonctionnalité car le seuil de déclenchement est égal à 100. Justement, nous allons voir comment modifier

Lire cet article
CloudServeur WebWordPress

Gérer la taille maximale des fichiers uploadés en PHP

I. Présentation Lors de la gestion et de la maintenance de site web, de CMS ou d’application web (type Owncloud ou Ajaxplorer), il est fréquent de se heurter au problème de la taille maximale des fichiers que l’on upload sur notre serveur web. Par sécurité et par précaution, PHP n’autorise par défaut que l’upload de fichier d’un taille inférieure à 2Mo, ce qui convient parfaitement pour des petits fichiers ou mêmes des images. Cependant, il peut arriver dans certains cas ou lors de l’utilisation de certaines applications comme des interfaces web Cloud (Owncloud, Ajxplorer, CozeyCloud, etc.), que cette restriction par défaut ne convienne plus. On se retrouvera par exemple avec une erreur comme celle-ci sous WordPress : II. Gestion du serveur web ou hébergement Il arrive souvent que nos sites web soient hébergés chez des hébergeurs externes comme OVH, 1&1 ou Amazon, dans ces cas là, ce sont les hébergeurs qui gèrent la limite de la taille maximale des fichiers

Lire cet article
Apache

Lister les modules chargés par Apache

I. Présentation Avant d’activer un module Apache qui l’est peut-être déjà ou pour faire du tri dans les modules chargés pour des raisons de sécurité et de gestion des ressources de la machine, il est intéressant d’être en mesure de charger les modules Apache chargés. II. En ligne de commandes Pour cela, on va utiliser la commande « apachectl » qui permet de contrôler le daemon Apache comme par exemple le démarrer, l’arrêter, etc… Et évidemment lister les modules Apache chargés. Afin de générer la liste des modules chargés, saisissez la commande suivante : apachectl –t –D DUMP_MODULES III. En PHP Si vous souhaitez afficher la liste des modules chargés sur une page web directement, il est possible d’utiliser la fonction PHP « apache_get_modules() ». Après avoir créé votre page web, insérez le code suivant : Vous obtiendrez alors un résultat équivalent à la méthode en ligne de commandes mais avec une présentation différente : Une autre méthode consiste à

Lire cet article
Microsoft IISWordPress

Installer WordPress sous IIS 8

I. Présentation Lorsqu’on utilise WordPress, on a le choix de l’installer sur un serveur Web sous Linux ou sur un serveur Web sous Windows, notamment avec IIS qui est une application purement Microsoft. Dans ce cas, pas besoin de saisir des lignes de commandes mais de passer par la Web Platform Installer qui permet d’installer de nombreuses applications sur un serveur IIS, en l’occurrence sur la version 8 dans mon cas. Cette Web Platform a pour intérêt de simplifier le déploiement d’application sur un serveur IIS ou IIS Express. II. Installation Une fois que vous avez ouvert la Web Platform, trouvez WordPress dans les applications ou recherchez « wordpress » dans la zone de recherche. Cliquez sur « Ajouter » sur la droite pour indiquer que vous souhaitez installer WordPress et pour exécuter l’installation cliquez sur « Installer ». La première chose que l’on vous demande c’est le type de base de données que vous souhaitez utiliser. Si le moteur

Lire cet article
Apache

Automatiser l’authentification .htaccess dans l’URL

I. Présentation Lors de la mise en place d’une protection d’un dossier ou d’une page web par authentification avec le couple de fichier « .htaccess » et « .htpasswd », l’authentification est à faire dans un pop-up qui apparait lors du retour de la requête. Dans ce tutoriel, nous allons voir comment automatiser cette authentification sans avoir à saisir les identifiants dans cette fenêtre pop-up. Cela peut par exemple être utilisé lors de la mise en place d’un script qui automatise une tâche. II. Procédure Dans un cas normal, nous utiliserons donc une simple requête web comme « http://siteweb.tld/pageprotegee.html » puis nous aurons à saisir nos identifiants. Afin d’automatiser l’authentification, nous allons envoyer directement les identifiants dans la requête comme suivant : http://login:[email protected]/pageprotegee.html Il faut donc spécifier entre « http:// » et le reste de l’URL le couple « login : mot de passe » et marquer le début du reste de l’URL par un « @ ». Une petit astuce au cas où l’identifiant contiendrait un « @ » (une adresse mail par

Lire cet article
Nginx

Gérer le log level sous Nginx

I. Présentation Dans ce tutoriel, nous allons apprendre à gérer le log-level du serveur web Nginx. Pour rappel, le log-level est le niveau de verbosité (de « détail ») des logs. Il peut être plus ou moins précis selon nos besoins. Un log-level en mode « debug » sera très détaillé et permettra d’avoir un maximum d’informations techniques sur les échanges Nginx. Voici le détail des logs qu’il est généralement possible d’avoir sous un système : 0 Emergency 1 Alert 2 Critical 3 Error 4 Warning 5 Notice 6 Informational 7 Debug Il faut savoir que chaque niveau comprend les niveaux d’en dessous. Ainsi si nous configurons notre Nginx en mode « debug », nous aurons les logs info, warn, crit, etc … II. Changer le log level des erreurs Nginx Dans la configuration Nginx, il est possible de changer le logs level très facilement. On doit pour cela aller dans le fichier de configuration d’Nginx qui est par défaut dans « /etc/nginx/nginx.conf ». Il faudra ensuite trouver

Lire cet article
AutresCommandes et SystèmeServices

Installer un serveur LEMP (Linux EngineX MySQL PHP)

I. Présentation Un serveur LEMP (Linux EngineX MySQL PHP) est un serveur web comportant 4 composants qui sont :  Un système d’exploitation Linux (wheezy dans notre cas)   NginX pour gérer la communication entre le serveur et les clients.   MySQL pour toute la partie base de données.   PHP pour rendre le tout dynamique. Grâce à un serveur LEMP vous pouvez créer un site web dynamique grâce au PHP et à la base de données MySQL, étant donné qu’il contient tout les éléments nécessaires à la mise en place d’un site web dynamique. Un serveur LEMP regroupe plusieurs éléments qui en font un service complet et stable. Il faut savoir qu’un serveur LEMP est différent d’un serveur LAMP seulement car il utilise NginX en serveur web plutôt qu’Apache. NginX est un serveur web de plus en plus utilisé notamment pour ses performances par rapport à Apache 2. II. Mise à jours des paquets On va commencer par mettre à

Lire cet article
Apache

Sécuriser les authentifications Htaccess avec l’option Digest

I. Présentation Le fichier .htaccess est un moyen rapide et efficace pour restreindre et protéger l’accès à un dossier ou à des fichiers web sur un serveur. La plupart des tutoriels nous disent souvent d’utiliser l’option simple « AuthType Basic » pour la méthode d’authentification. Cependant, cette option fait passer les mots de passe quasiment en clair sur le réseau remettant ainsi sérieusement en cause leur crédibilité en terme de sécurité. Dans ce tutoriel, nous allons voir une démonstration du passage du mot de passe lors d’une authentification .htaccess utilisant un type d’authentification « Basic » puis nous verrons comment mieux sécuriser le passage de l’authentification sur le réseau par un .htaccess. II. Démonstration Nous partons ici du fait qu’un fichier « .htaccess » utilisant l' »AuthType Basic » est déjà en place. Pour ceux pour qui ce ne serait pas encore le cas, je vous oriente vers ce tutoriel sur la mise en place d’une protection simple avec « .htaccess ». Nous allons donc avoir un serveur web (dans

Lire cet article
Apache

Protéger l’accès à certains fichiers spécifiques avec .htaccess

I. Présentation Les fichiers « .htaccess » sont souvent utilisés dans Apache afin de protéger l’accès à un répertoire spécifique où les fichiers sont positionnés. Il est important de savoir également que l’on peut, avec un fichier « .htaccess », protéger un fichier ou un type de fichier et pas d’autres alors qu’ils sont dans le même répertoire. C’est ce que nous allons voir dans ce tutoriel. II. Préparation de l’environnement Nous allons supposer qu’Apache2 est déjà installé et opérationnel sur notre serveur et qu’il est joignable sur le port 80. Pour le test, nous allons supposer que la page « index.html » doit être joignable sans restriction mais pas la page « index2.html » que nous créons maintenant : cp /var/www/index.html /var/www/index2.html chown www-data /var/www -Rf Nous faisons un premier test d’accès aux deux pages. Elles sont normalement toutes deux accessibles sans restrictions (sinon vérifiez votre configuration Apache2). III. Construction du fichier .htaccess Nous allons maintenant créer le fichier « .htaccess » dans le répertoire « /var/www » afin de restreindre

Lire cet article
Apache

Mettre en place une connexion SSL avec WAMP

I. Présentation Ce tutoriel a pour but de vous expliquer comment mettre en place une connexion SSL sur un serveur web réalisé avec le logiciel WAMP. Ce qui vous permettra d’utiliser le protocole HTTPS (HTTP Sécurisé) pour naviguer sur votre site web de manière sécurisé. Le certificat créé dans ce tutoriel est un certificat auto-signé par le serveur local, il n’est pas signé par un organisme de certification ce qui a pour effet que ce certificat doit être utilisé en interne uniquement c’est-à-dire dans un intranet, par exemple. Remarque : Dans les différentes commandes, les différents chemins à modifier dans les fichiers, méfiez vous de la version de votre Apache car le nom du dossier change selon la version. Dans notre cas : apache2.2.11. II. Création des clés RSA (privée et publique)  Pour se faire nous avons besoins d’utiliser des commandes DOS, ouvrez donc une « Invite de commande ».  Placez-vous dans le répertoire « bin » d’Apache en utilisant

Lire cet article