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).