Microsoft IIS
PHP sur IIS
Installer PHP
- doc officielle: http://php.net/manual/fr/install.windows.iis7.php
- lien de téléchargement: http://windows.php.net/download/
- x64 ou x86: architecture du code en x86 ou x64
- VC9 ou VC11 ou VC(X): Version de visual c++ nécéssaire et choisir le même type d'architecture
- VC11 pour la version x86 & x64: http://www.microsoft.com/en-us/download/details.aspx?id=30679
- VC9 pour la version x86: http://www.microsoft.com/en-us/download/details.aspx?id=5582
- VC9 pour la version x64: http://www.microsoft.com/en-us/download/details.aspx?id=15336
- Thread Safe ou Non Thread Safe: actuellement php ne semble pas faire de vrai multithread, donc la version thread safe est plus lente pour pas grand chose
- dans le gestionnaire de serveur installer le rôle CGI
- ajouter le module de mappage de PHP
- modifier php.ini
fastcgi.impersonate = 1 fastcgi.logging = 0 cgi.fix_pathinfo=1 cgi.force_redirect = 0
- redémarrer IIS
Configuration PHP
- si besoin des librairies COM.php il faut ajouter l'extension (avant elle était directement inclue)
extension=php_com_dotnet.dll
- permettre les tag <? ?> en plus de <?php ?>
short_open_tag = On
- chemin des logs
error_log = "C:\SRVLOG\system\PHP\error.log" mail.log ="C:\SRVLOG\system\PHP\mail.log"
- chemin des fichiers temporraire
session.save_path = "C:\SRVLOG\system\PHP\sessions" upload_tmp_dir = "C:\SRVLOG\system\PHP\uploads"
- paramètre d'upload
upload_max_filesize = 2M post_max_size = 2M memory_limit = 128M (must be higher than uploads size)
- activer les extensions
extension_dir = "ext"
Mise à jour PHP
- télécharger une nouvelle version: http://windows.php.net/download/
- arrêter IIS
- sauvegarder le php.ini
- remplacer l'ancien répertoire PHP par le nouveau (faire une sauvegarde de l'ancien au cas ou pour pouvoir revenir en arrière)
- restaurer le php.ini
- mettre à jour Visual C++ si besoin
- démarrer IIS
FTP
SMTP
installer le rôle SMTP
configuration du SMTP
l'IP du serveur doit être la même dans les 3 endroits suivante, "all IP unassigned" permet de travailler avec l IP 127.0.0.1. Penser à ouvrir le port sortant (25 par defaut) dans le firewall.
tester en php
<?PHP
if(mail('admin@frogg.fr','test subject','test message','FROM: test@frogg.fr'))
{echo('OK');}
else {echo('ERROR');}
?>
changer les répertoires
log
badmail
drop
queue & pickup
neccessite l'installation de adsutil.vbs disponible dans les options de IIS
Installer aussi : IIS6 scripting Tools
lancer les commandes suivantes
adsutil.vbs set smtpsvc/1/dropdirectory C:\SRVLOG\IIS\mail\drop adsutil.vbs set smtpsvc/1/badmaildirectory C:\SRVLOG\IIS\mail\badmail adsutil.vbs set smtpsvc/1/pickupdirectory C:\SRVLOG\IIS\mail\pickup adsutil.vbs set smtpsvc/1/queuedirectory C:\SRVLOG\IIS\mail\queue
Options IIS
Afficher les messages d'erreur complet
Répertoire IIS
Changer le répertoire des erreurs
Changer le répertoire des log
Changer le répertoire temporraire
changer l'emplacement de C:\inetpub\temp\appPools vers par exemple C:\SRVLOG\IIS\TEMP\appPools (nécessite un reboot du système)
REG ADD HKLM\System\CurrentControlSet\Services\WAS\Parameters /v ConfigIsolationPath /t REG_SZ /d C:\SRVLOG\IIS\TEMP\appPools /f
changer l'emplacement de C:\inetpub\temp\IIS Temporary Compressed Files: editer le fichier appPools\{appName}\{appName}.config et changer la ligne suivante par le chemin désiré
<httpCompression directory="C:\SRVLOG\IIS\TEMP\IIS Temporary Compressed Files">
Répertoires history
dépend du service "Application Host Helper Service"
Il est possible de manipuler ces sauvegardes depuis la ligne de commande appcmd.exe qui se trouve dans c:\system32\inetsrv
- Les différentes commandes sont :
appcmd list backup #list of backup available appcmd add backup [{BackupName}] #create a new backup appcmd delete backup {BackupName} #delete a backup appcmd restore backup {BackupName} #restore a backup