Mover carpeta de iis inetpub a otro destino

Muchas aplicaciones instalan el iis porque es necesario, por comodidad solemos dejarlo todo como esta en estos caso, es decir todo en c:

El problema es cuando tenemos aplicaciones como sharepoint o que generan sitios web muy pesados y nos empiezan a ocupar mucho espacio en nuestro disco c y nos genera alertas de espacio en disco.

Para evitar esto, vamos a hacer una buena practica que yo llevo haciendo desde hace mucho tiempo para quitarnos sustos de espacio en disco, y es mover la carpeta de inetpub a otro disco duro.El proceso en sencillo y no hay nada que temer ya que no vamos a borrar nada solo cambia ciertos registros y rutas de configuración de las cuales el iis va a tirar. cambien advertiros que seria conveniente reiniciar a iis una vez acabado el proceso para limpiar caches y demás.

Empezamos, abrimos el cmd como administrador y ponemos lo siguiente:

%windir%\system32\inetsrv\appcmd set config -section:system.applicationHost/sites -siteDefaults.traceFailedRequestsLogging.directory:"E:\inetpub\logs\FailedReqLogFiles"

Esto nos moverá la ruta al disco e: la carpeta LOGS \ FREBLOGS esta carpeta contiene Failed Request Event Buffering (FREB) es una nueva característica de IIS7 que registra las solicitudes fallidas. La ruta predeterminada para los registros FREB es %systemdrive%\inetpub\logs\FailedReqLogfiles.

%windir%\system32\inetsrv\appcmd set config -section:system.applicationHost/sites -siteDefaults.logfile.directory:"E:\inetpub\logs\logfiles"
%windir%\system32\inetsrv\appcmd set config -section:system.applicationHost/log -centralBinaryLogFile.directory:"E:\inetpub\logs\logfiles"
%windir%\system32\inetsrv\appcmd set config -section:system.applicationHost/log -centralW3CLogFile.directory:"E:\inetpub\logs\logfiles"

Cambiamos la ruta predeterminada para los archivos de registro de IIS7 es %systemdrive%\inetpub\logs\logfiles.

reg add HKLM\System\CurrentControlSet\Services\WAS\Parameters /v ConfigIsolationPath /t REG_SZ /d E:\inetpub\temp\appPools

Aislamiento de AppPool es una nueva característica en IIS7. Un archivo de configuración de AppPool dedicado, se crea automáticamente antes de que se inicie un nuevo grupo de aplicaciones. La ubicación predeterminada de estos archivos es %systemdrive%\inetpub\temp\appPools

%windir%\system32\inetsrv\appcmd set config -section:system.applicationhost/configHistory -path:E:\inetpub\history

El historial de configuración garantiza que los cambios puedan revertirse. La ubicación predeterminada para el historial de configuración es %systemdrive%\inetpub\history

%windir%\system32\inetsrv\appcmd set config -section:system.webServer/asp -cache.disktemplateCacheDirectory:"E:\inetpub\temp\ASP Compiled Templates"

El ASP clásico almacena código ASP compilado en el disco si hay más de 250 plantillas compiladas en la memoria. La ubicación predeterminada de la memoria caché de disco es «%systemdrive%\inetpub\temp\ASP Compiled Templates»

%windir%\system32\inetsrv\appcmd set config -section:system.webServer/httpCompression -directory:"E:\inetpub\temp\IIS Temporary Compressed Files"

IIS7 almacenará en caché las respuestas comprimidas en el disco si es necesario. La ubicación predeterminada para el caché de compresión es «%systemdrive%\inetpub\temp\IIS Archivos comprimidos temporales»

%windir%\system32\inetsrv\appcmd set vdir "Default Web Site/" -physicalPath:E:\inetpub\wwwroot

IIS7 viene con un sitio web predeterminado que apunta a %systemdrive%\inetpub\wwwroot.

%windir%\system32\inetsrv\appcmd set config -section:httpErrors /[statusCode='401'].prefixLanguageFilePath:"E:\inetpub\custerr"
%windir%\system32\inetsrv\appcmd set config -section:httpErrors /[statusCode='403'].prefixLanguageFilePath:"E:\inetpub\custerr"
%windir%\system32\inetsrv\appcmd set config -section:httpErrors /[statusCode='404'].prefixLanguageFilePath:"E:\inetpub\custerr"
%windir%\system32\inetsrv\appcmd set config -section:httpErrors /[statusCode='405'].prefixLanguageFilePath:"E:\inetpub\custerr"
%windir%\system32\inetsrv\appcmd set config -section:httpErrors /[statusCode='406'].prefixLanguageFilePath:"E:\inetpub\custerr"
%windir%\system32\inetsrv\appcmd set config -section:httpErrors /[statusCode='412'].prefixLanguageFilePath:"E:\inetpub\custerr"
%windir%\system32\inetsrv\appcmd set config -section:httpErrors /[statusCode='500'].prefixLanguageFilePath:"E:\inetpub\custerr"
%windir%\system32\inetsrv\appcmd set config -section:httpErrors /[statusCode='501'].prefixLanguageFilePath:"E:\inetpub\custerr"
%windir%\system32\inetsrv\appcmd set config -section:httpErrors /[statusCode='502'].prefixLanguageFilePath:"E:\inetpub\custerr"

IIS7 almacena páginas de error personalizadas en %systemdrive%\inetpub\custerr

reg add HKLM\Software\Microsoft\inetstp /v PathWWWRoot /t REG_SZ /d E:\inetpub\wwwroot
 

reg add HKLM\Software\Microsoft\inetstp /v PathFTPRoot /t REG_SZ /d E:\inetpub\ftproot

Los Service Packs y otros instaladores deben saber dónde se encuentra su directorio WWWROOT y FTPROOT. Es por eso que la ubicación también se especifica en el registro.

xcopy c:\inetpub E:\inetpub /E /O /I

Por ultimo reinciamos el iis

iisreset

Espero que os sirva

4 opiniones en “Mover carpeta de iis inetpub a otro destino”

  1. Hola, muchas gracias me sirvió mucho, pero tuve algunos problemas:
    En algunos comandos tienes la unidad E: y en otros la F:
    También para copiar todo el contenido desde C: es conveniente primero detener todos los servicios del IIS: iisreset /stop

  2. Gracias Daniel! lo acabo de probar y funciona correctamente, he cambiado el xcopy por el robocopy que para mi funciona mejor y deja un log:

    C:\Windows\system32>ROBOCOPY c:\inetpub e:\inetpub /S /E /COPYALL /MIR /R:3 /W:3 /LOG:e:\inentpub\log_robocopy.TXT

Deja un comentario