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​
- Ouvrez le Gestionnaire de serveur
- Cliquez sur Gérer > Ajouter des rôles et fonctionnalités
- Suivant jusqu'Ă RĂ´les de serveur
- Cochez Serveur Web (IIS)
- Ajoutez les fonctionnalités requises
- Suivant et Installer
Vérifier l'installation​
- Ouvrez un navigateur sur le VPS
- AccĂ©dez Ă
http://localhost - 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​
- Dans le panneau gauche, faites un clic droit sur Sites
- Cliquez sur Ajouter un site Web...
- Configurez :
- Nom du site : MonSite
- Chemin physique :
C:\inetpub\wwwroot\monsite - Liaison :
- Type : http
- Port : 80
- Nom d'hĂ´te : monsite.example.com (optionnel)
- 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​
- Téléchargez PHP depuis windows.php.net
- Choisissez la version Non Thread Safe (NTS) x64
- 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​
- Ouvrez le Gestionnaire IIS
- Sélectionnez votre serveur
- Double-cliquez sur Mappages de gestionnaires
- Cliquez sur Ajouter un mappage de module...
- Chemin de la demande :
*.php - Module :
FastCgiModule - Exécutable :
C:\php\php-cgi.exe - Nom :
PHP
- Chemin de la demande :
- Cliquez sur OK
Tester PHP​
Créez C:\inetpub\wwwroot\info.php :
<?php
phpinfo();
?>
Accédez à http://VOTRE_IP/info.php
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​
- Gestionnaire IIS > Sites > Votre site
- Clic droit > Modifier les liaisons...
- Ajouter...
- Type : https
- Port : 443
- Certificat SSL : Sélectionnez votre certificat
- 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 :
- Gestionnaire IIS > Votre site
- Double-cliquez sur Journalisation
- 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"
Pour les applications .NET, utilisez le pool d'applications avec la version CLR appropriée (.NET CLR v4.0).