Aller au contenu principal

Installer IIS (Serveur Web)

Ce guide vous explique comment installer et configurer IIS (Internet Information Services) sur votre VPS Windows.

Qu'est-ce qu'IIS ?

IIS est le serveur web de Microsoft, intégré à Windows Server. Il permet d'héberger des sites web, applications ASP.NET, PHP et plus encore.

Installation d'IIS

Via PowerShell (recommandé)

# Installer IIS avec les fonctionnalités de base
Install-WindowsFeature -Name Web-Server -IncludeManagementTools

# Installer avec toutes les fonctionnalités courantes
Install-WindowsFeature -Name Web-Server, Web-Common-Http, Web-Static-Content, Web-Default-Doc, Web-Dir-Browsing, Web-Http-Errors, Web-Http-Logging, Web-Stat-Compression, Web-Filtering, Web-Mgmt-Console -IncludeManagementTools

Via l'interface graphique

  1. Ouvrez le Gestionnaire de serveur
  2. Cliquez sur Gérer > Ajouter des rôles et fonctionnalités
  3. Suivant jusqu'à Rôles de serveur
  4. Cochez Serveur Web (IIS)
  5. Ajoutez les fonctionnalités requises
  6. Suivant et Installer

Vérifier l'installation

  1. Ouvrez un navigateur sur le VPS
  2. Accédez à http://localhost
  3. Vous devriez voir la page d'accueil IIS

Depuis l'extérieur, accédez à http://VOTRE_IP

Gestionnaire IIS

Ouvrez le Gestionnaire IIS :

  • Win + R > inetmgr

Ou recherchez "Internet Information Services (IIS) Manager"

Créer un site web

Via le Gestionnaire IIS

  1. Dans le panneau gauche, faites un clic droit sur Sites
  2. Cliquez sur Ajouter un site Web...
  3. Configurez :
    • Nom du site : MonSite
    • Chemin physique : C:\inetpub\wwwroot\monsite
    • Liaison :
      • Type : http
      • Port : 80
      • Nom d'hôte : monsite.example.com (optionnel)
  4. Cliquez sur OK

Via PowerShell

# Créer le dossier
New-Item -Path "C:\inetpub\wwwroot\monsite" -ItemType Directory

# Créer le site
New-IISSite -Name "MonSite" -PhysicalPath "C:\inetpub\wwwroot\monsite" -BindingInformation "*:80:monsite.example.com"

Structure des fichiers

Placez vos fichiers dans le dossier du site :

C:\inetpub\wwwroot\monsite\
├── index.html
├── css\
├── js\
└── images\

Configurer plusieurs sites

Méthode 1 : Par nom de domaine (recommandé)

# Site 1
New-IISSite -Name "Site1" -PhysicalPath "C:\inetpub\wwwroot\site1" -BindingInformation "*:80:site1.example.com"

# Site 2
New-IISSite -Name "Site2" -PhysicalPath "C:\inetpub\wwwroot\site2" -BindingInformation "*:80:site2.example.com"

Méthode 2 : Par port différent

# Site sur le port 8080
New-IISSite -Name "Site2" -PhysicalPath "C:\inetpub\wwwroot\site2" -BindingInformation "*:8080:"

Installer PHP

Télécharger PHP

  1. Téléchargez PHP depuis windows.php.net
  2. Choisissez la version Non Thread Safe (NTS) x64
  3. Extrayez dans C:\php

Configurer PHP

# Renommer le fichier de configuration
Copy-Item "C:\php\php.ini-production" "C:\php\php.ini"

Éditez C:\php\php.ini :

extension_dir = "C:\php\ext"
cgi.fix_pathinfo=0

; Activer les extensions courantes
extension=curl
extension=gd
extension=mbstring
extension=mysqli
extension=openssl
extension=pdo_mysql

Installer CGI pour IIS

Install-WindowsFeature -Name Web-CGI

Configurer le Handler PHP

  1. Ouvrez le Gestionnaire IIS
  2. Sélectionnez votre serveur
  3. Double-cliquez sur Mappages de gestionnaires
  4. Cliquez sur Ajouter un mappage de module...
    • Chemin de la demande : *.php
    • Module : FastCgiModule
    • Exécutable : C:\php\php-cgi.exe
    • Nom : PHP
  5. Cliquez sur OK

Tester PHP

Créez C:\inetpub\wwwroot\info.php :

<?php
phpinfo();
?>

Accédez à http://VOTRE_IP/info.php

Sécurité

Supprimez info.php après le test !

Configurer HTTPS avec SSL

Générer un certificat auto-signé (test)

New-SelfSignedCertificate -DnsName "monsite.example.com" -CertStoreLocation "cert:\LocalMachine\My"

Ajouter la liaison HTTPS

  1. Gestionnaire IIS > Sites > Votre site
  2. Clic droit > Modifier les liaisons...
  3. Ajouter...
    • Type : https
    • Port : 443
    • Certificat SSL : Sélectionnez votre certificat
  4. OK

Avec Let's Encrypt (production)

Utilisez win-acme :

# Télécharger et extraire win-acme
# Puis exécuter
.\wacs.exe

Suivez les instructions pour générer un certificat gratuit.

Commandes IIS utiles

# Démarrer/Arrêter IIS
iisreset /start
iisreset /stop
iisreset /restart

# Démarrer/Arrêter un site
Start-IISSite -Name "MonSite"
Stop-IISSite -Name "MonSite"

# Lister les sites
Get-IISSite

# Supprimer un site
Remove-IISSite -Name "MonSite" -Confirm:$false

Logs IIS

Les logs se trouvent dans :

C:\inetpub\logs\LogFiles\W3SVC[ID_DU_SITE]\

Pour changer l'emplacement :

  1. Gestionnaire IIS > Votre site
  2. Double-cliquez sur Journalisation
  3. Modifiez le Répertoire

Pool d'applications

Chaque site utilise un pool d'applications pour isoler les processus.

# Créer un pool
New-WebAppPool -Name "MonPool"

# Assigner à un site
Set-ItemProperty "IIS:\Sites\MonSite" -Name applicationPool -Value "MonPool"

# Recycler un pool (redémarrage propre)
Restart-WebAppPool -Name "MonPool"

Résolution de problèmes

Page d'erreur 500

  • Vérifiez les logs dans C:\inetpub\logs\LogFiles\
  • Activez les erreurs détaillées :
Set-WebConfigurationProperty -Filter "system.webServer/httpErrors" -Name "errorMode" -Value "Detailed"

Permissions

# Donner les permissions au pool d'applications
icacls "C:\inetpub\wwwroot\monsite" /grant "IIS AppPool\MonPool:(OI)(CI)F"
Conseil

Pour les applications .NET, utilisez le pool d'applications avec la version CLR appropriée (.NET CLR v4.0).