SYSTEM ADMIN BOOK
  • Hardware/Physical Machines
    • Physical Networking
      • Patch Panel
    • Hardware Devices
    • PC Build
    • RAID Configs
  • System Configuration
    • Windows
      • OneDrive for Business, Map as Network Drive in Windows
      • PDF Printer
      • Reset Windows Password
    • Linux
    • Mac
      • Factory Reset Mac Mini
      • Install FortiClient VPN
      • Remove FortiClient VPN for Macs
      • Setting Microsoft Teams Notifications in MacOS
      • Download and Install Whatsapp
  • Windows Server
    • Troubleshooting
      • 100% Disk Usage Issue
      • Maximum Path Length Limitation
    • Basic Configurations
      • Change Hostname
      • Change Default RDP Port
      • Create a User
      • Add user to Administrator group
      • Add user to Remote Desktop Users group
      • Allow log on locally - security policy setting
      • Allow Multiple Remote Desktop Connections
      • Enable Insure Guest Authentication
      • Shrink Partition
      • Extend Partition
    • FTP Server
      • Install FTP Server (IIS)
      • Create User Group
      • Add FTP Site (IIS)
      • User Isolation
      • Allow Firewall
      • FTP Client (FileZilla)
      • FTP Server (FileZilla)
      • Configure Passive Mode in FileZilla Server
      • Configuring Windows Firewall for FileZilla Server
      • FileZilla: Password reset
      • Generate a New Self-Signed Certificate
    • Group Policy
      • Block Access to the Control Panel for All Users
      • Create a Logon Banner (Legal Notice)
      • Enable / Disable Copy-Paste Policy
      • Disable Shutdown, Restart Options
      • Disable Multiple Session for Single User
      • Disable Automatic Lock Screen in Windows Server
    • Services
      • NSSM - the Non-Sucking Service Manager
      • Node-windows Library
    • Task Scheduler
      • Automate Program Execution
      • Restart Windows Server Daily
    • Auditing and Diagnostincs
      • Enabling the System Event Audit Log
      • Audit RDP Port Change Event
      • Check the read/write speed of your hard drive
      • Clear temp file and .trc file
    • Event Viewer
      • Restart / Shutdown Event
  • Control Panels
    • Plesk
      • Set Hard Quota on disk space for subscription(s)
      • Changing MX, A, and CNAME Records
      • Host Node.js Application
      • Add FTP account
      • Remove FTP account
      • Download a folder using Plesk File Manager
      • Install WordPress on domain using WP Toolkit
      • Change the name of a Subscription system user
      • Exporting and Importing Database Dumps
    • OVI Panel
      • DNS Zone Editor
    • SolidCP
      • Add a MS SQL database in SolidCP
    • cPanel
  • Virtualization
    • Proxmox VE
      • Introduction
      • Download Proxmox ISO
      • Prepare Installation Media
      • Launch Proxmox Installer
      • Create a VM
  • Web Servers
    • IIS
      • Install IIS
      • Configure Default Site
      • Application Pool
      • Installing PHP
      • Deploy a PHP Application
      • Deploying a Laravel app on Windows using IIS
      • Update PHP Version in IIS
      • Host a Node.js /w Next.js Application
    • JBoss
  • VPNs and Proxy Servers
    • Reverse Proxy
      • IIS - Node.js Application
  • Database Servers
    • MS SQL
      • Download and Install
      • Install SSMS
      • Uninstall an Instance of SQL Server
      • Enable SA Account
      • Change SA Account Password
      • Enable Network Access to SQL Express
      • Create and configure a user in MSSQL
      • Clear SQL Server Cache
      • Setting Infinite Timeout in SQL Server Contexts
      • Take SQL Server Database Offline
      • Memory configuration
  • Web Dev Stacks
    • MERN (w/ Next)
      • Build and Run Node.js Project with Next.js
  • IT Ticketing Systems
    • Jira Ticketing System
  • Linux Servers
  • AWS Environment
  • Azure Environment
  • Backup and Security
    • SSL Certificates
      • Types of SSL Certificates
      • IIS 10: Create CSR and Install SSL Certificate
      • IIS 7: Generate CSR for Wildcard SSL
      • IIS: Generate CSR for Multi-Domain SSL
      • OpenSSL: Generate CSR
      • IIS 10: How to Install and Configure Your SSL Certificate on Windows Server
      • IIS: Export Pfx using MMC
      • IIS: Import Pfx using MMC
      • IIS: Export Pfx using IIS Manager
      • IIS: Import Pfx using IIS Manager
      • cPanel: Export PFX
      • Godaddy-CPanel: Generate a CSR
      • Godaddy-CPanel: Install SSL Certificate
      • cPanel: Generate CSR
      • cPanel: Install SSL Certificate
      • cPanel: Install Let's Encrypt SSL
      • Plesk: Generate CSR
      • Plesk: Let's Encrypt SSL Installation
      • Plesk: Installing the SSL certificate
      • Plesk: Export Public & Private Key
      • Win-ACME Let's Encrypt SSL
      • Certbot - Install SSL
      • Export Leaf, Root, and Intermediate Files
      • XAMPP - Let's Encrypt SSL Installation
      • JBoss Web Server: CSR Generation
      • JBoss: Install SSL Certificate
    • Backup
      • Database
        • MS SQL DB Backup
        • MS SQL Restore Backup
    • Microsoft Defender for Endpoint
      • Introduction & Licenses
    • Microsoft Intune - Endpoint Management
      • Product Introduction
      • Intune Policies for MacOS
      • Enroll your macOS device using the Company Portal app
    • Vulnerability Scanning
      • OpenVAS Quick Guide
      • Nessus Quick Guide
    • Acronis
      • Download and Install the Acronis Cyber Protection Agent
      • Performing a file-level backup
      • Creating a disk-level backup
      • Performing a file-level recovery
      • Enabling Active Protection and Vulnerability Assessment
  • Email and Office 365
    • Troubleshooting
      • Run a message trace in the Exchange admin center
      • Not receiving email
      • Office 365 Apps Activation Error
      • Gmail Issue: Clearing Cache and Cookies
      • Excel worksheet, right click insert not functioning
      • Microsoft 365 Apps activation error: “Your organization has disabled this device”
    • Hybrid Mail Setup
      • Set Up Connectors Between Microsoft 365 and SmarterMail
    • Email Authentication
      • Protocols
    • Mail Clients
      • Outlook
        • Maximum number of Exchange accounts in an Outlook profile
        • Enable automatic forwarding in new Outlook
        • Add Email Signature
        • Create Email Singature
        • Gmail Account Login in Outlook
        • Enable desktop notifications for Outlook on the Web (OWA) in Windows
      • Apple Mail
        • Add email accounts in Mail on Mac
        • Add Mail Signatures
      • Gmail
        • Mail Forwarding to Another Account
        • Set Up an Auto-Reply (Vacation Responder) in Gmail
    • Office 365
      • Intro & Subscriptions
      • How to Create a Trial Account
      • How to Access the Office 365 Admin Center
      • Creating a Tenant
      • Create Users
      • Add several users at the same time to Microsoft 365
      • Creating & Managing Roles
      • Add a Domain
      • Manage MFA
      • Let users reset their own passwords
      • Assign Global Admin Roles
      • Create APP Password
      • Change a user name and email address
      • Reset MFA for Microsoft 365 User
      • Configure email forwarding
      • Add email aliases to a user
      • Change Username or Email Address
      • Export Mailbox to PST From Office 365
      • Import PST to Exchange Online (Microsoft O365)
      • Enable archive mailboxes for Microsoft 365
      • Grant Export Permission in M365 Compliance Center
      • Generate Transfer Token
    • Google Workspace
      • Intro & Plans
      • Create your Google Workspace trial account
      • Review your DNS records
      • Adding Users
      • Create organizational units
      • Restrict access to a Google Workspace service
      • Edit user attributes
      • Manage user accounts
      • Suspend a User
      • Generate a Transfer Token
      • Reduce Licenses in Google Workspace
      • Auto-forward From Google Workspace Using Routing
      • Recovering administrator access to your account
    • MailEnable
    • SmarterMail
      • SmarterMail Installation
      • SmarterMail Server Setup
      • Installation and Configuration (Practical)
      • Enable / Disable Domain in SmarterMail
      • Enable / Disable MFA for User Accounts
      • Create an Administrator User in SmarterMail
    • Microsoft Teams
      • Guest Access vs. External Access
      • Adding Guests To Microsoft Teams Team
      • Teams Chat DIfferent Domain: Enable External Access
      • Setup Teams Time Zone and Work Hours
      • Add Contact Numbers in Profile Page
    • Microsoft Defender for Office 365
      • Remove blocked users from the Restricted entities page
    • Microsoft Purview
      • Create a Retention Policy for Archiving in M365
  • DevOps
  • Firewalls and Access Points
    • Windows Firewall
      • Allow Ports on Windows Firewall
    • Sophos Firewall
      • Set up a new firewall with Sophos Central
      • Enable Sophos Central management of Sophos Firewall
  • Networking
    • Troubleshooting
    • Cisco Router Config
    • Cisco Switch Config
      • Basic Data and Voice VLAN Setup Homelab
  • Migration
    • Drive Migration
      • Google Drive to One Drive
      • One Drive to One Drive [SharePoint Migration Tool]
      • Migrate Google files to Microsoft 365 for business
    • Mail Migration
      • Google Workspace to Office 365 (Manual Method)
      • Google Workspace to Office 365 (Automatic Method)
      • IMAP to Office 365
      • Migration Using PST File Method
      • Office 365 to Google Workspace Migration
      • G-Suite to G-Suite Migration
    • VM Migration
    • Website Migration
      • Migrating IIS Sites Using Web Deploy
      • Plesk to Plesk Migration
    • Database Migration
  • Monitoring
    • Prometheus
      • Monitoring Windows Servers Using Prometheus
    • Grafana
      • Visualize Data in Grafana
    • Loki
  • Data Center
    • HPE ProLiant ILO Configuration
  • Other Technologies
    • Some R&Ds
      • Active vs. Passive Mode in FTP
      • IIS Recycling and Virtual Memory Limit
      • IIS Application Pool
Powered by GitBook
On this page
  • Step 1: Installing Web Deploy
  • Step 2: Configuring IIS for Web Deploy
  • Step 3: Exporting and Importing Websites with Application Pools
  • Export a Website:
  • Import a Website:
  • REFERENCES

Was this helpful?

  1. Migration
  2. Website Migration

Migrating IIS Sites Using Web Deploy

PreviousWebsite MigrationNextPlesk to Plesk Migration

Last updated 1 month ago

Was this helpful?

What Can Be Migrated?

Web Deploy can migrate:

  • IIS site configuration

  • Application Pools

  • Content (HTML, ASP.NET, etc.)

  • Web.config files

  • SSL certificates

  • Databases (SQL Server)

  • Permissions and ACLs

Step 1: Installing Web Deploy

  1. Download Web Deploy:

    • Visit the .

    • Choose the appropriate version of Web Deploy for your operating system and click “Download.”

  2. Install Web Deploy:

    • Run the downloaded installer with administrative privileges (right-click and choose “Run as administrator”).

    • Follow the installation wizard:

      • Accept the license terms.

      • Choose the installation location (you can leave it as the default).

      • Select the components to install. Make sure to select at least the following:

        • Web Deployment Tool

        • IIS Deployment Handler

        • Management Service Delegation UI

      • Click “Install” to begin the installation.

Step 2: Configuring IIS for Web Deploy

  1. Open IIS Manager:

    • Press Win + R, type inetmgr, and press Enter to open the Internet Information Services (IIS) Manager.

  2. Enable Management Service:

    • In IIS Manager, select your server node (usually the top node in the Connections pane on the left).

  3. Double-Click on “Management Service” under the “Management” section in the middle pane.

  4. Configure Management Service:

    • Check the “Enable remote connections” checkbox to allow remote management of the IIS server.

    • Set the “Start Type” to “Automatic” to ensure the service starts automatically with Windows.

    • Specify a unique port for the management service (default is 8172).

    • You can also configure other settings like SSL and client certificates if needed.

  5. Configure Permissions:

    • Under “Management Service Delegation,” you can configure permissions for various users and roles. Click “Add User…” to specify the users or groups that should have permission to deploy websites.

  6. Apply Changes:

    • Click the “Apply” button to save your configuration.

Step 3: Exporting and Importing Websites with Application Pools

Now that Web Deploy is installed and IIS is configured, you can use Web Deploy to export and import websites with application pools.

Export a Website:

  1. Open a Command Prompt:

    • Press Win + X and choose “Command Prompt (Admin)” to open a command prompt with administrative privileges.

  2. Run the Export Command:

    • Use the msdeploy command to export a website. Replace placeholders with actual values:

# Export all sites with application pools
msdeploy -verb:sync -source:webServer,computerName=<ServerName>,userName=<Username>,password=<Password> -dest:package=<PathToPackage.zip> -enableRule:AppPoolExtension

OR

# Export only one site
msdeploy -verb:sync -source:iisapp="Default Web Site" -dest:package="C:\backup\defaultsite.zip"
  • <ServerName>: Replace with the server name or IP address.

  • <Username> and <Password>: Replace with the credentials of an account with sufficient permissions.

  • <PathToPackage.zip>: Specify the path where you want to save the exported package.

Import a Website:

  1. Open a Command Prompt:

    • Open a command prompt with administrative privileges.

  2. Run the Import Command:

    • Use the msdeploy command to import a website. Replace placeholders with actual values:

msdeploy -verb:sync -source:package=<PathToPackage.zip>,includeAcls=“False” -dest:webServer,computerName=<ServerName>,userName=<Username>,password=<Password>

OR

msdeploy -verb:sync -source:package="C:\backup\defaultsite.zip" -dest:auto,computerName="localhost"
  • <PathToPackage.zip>: Specify the path to the package you want to import.

  • <ServerName>: Replace with the server name or IP address.

  • <Username> and <Password>: Replace with the credentials of an account with sufficient permissions.

  1. Execute the Command:

    • Execute the command, and the website with its associated application pool will be imported to the target server.

Useful Commands

Sync full site (directly):

msdeploy -verb:sync -source:iisapp="Default Web Site" -dest:iisapp="Default Web Site",computerName="destination"

List available sites on a server:

msdeploy -verb:dump -source:apphostconfig="Default Web Site"

Sync only the content folder:

msdeploy -verb:sync -source:contentPath="C:\inetpub\wwwroot\MySite" -dest:contentPath="D:\inetpub\wwwroot\MySi

REFERENCES

Microsoft Web Deploy download page
https://techcommunity.microsoft.com/blog/iis-support-blog/how-to-migrate-a-website-using-web-deploy/852244
https://sinaonline.net/2023/09/23/install-web-deploy-on-iis-export-and-import-websites-with-application-pools/
https://www.youtube.com/watch?v=i-qr1mR28sI&ab_channel=SinaOnline
https://www.hostitsmart.com/manage/knowledgebase/286/how-to-migrate-iis-website-to-another-server.html