# iis-migration-to-ruvds ## Goal Migrate 11 IIS sites from [[../entities/windows-recovery-host]] (DESKTOP-NSEF0UK) to RUVDS Windows Server 2025 Core. Убрать SPOF домашней машины. **Pre-requisites done:** - MSSQL+MinIO уже на [[../entities/vds-kzntsv]] (см [[mssql-minio-migration-to-vds]]) - RUVDS purchased: Windows Server 2025 Core, 2GB RAM, 30GB HDD, 1IP, DC Королёв - RDP ready (credentials в secure storage) ## Target sites (11) From [[../.wiki/concepts/recovery-architecture-snapshot]]: - snolla.com - pilorama98.ru - labtools.ru / labtools.pro - tandemmebel.ru - emspb.ru - kupimknigi.spb.ru (low-traffic — pilot candidate) - on.snolla.com - maljarka.tandemmebel.ru - + 3 others (see source) ## Migration approach 1. **RDP-first setup** (RUVDS): - Verify .NET Framework 4.8 installed (`Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\'`) - Verify IIS 10 installed (`Get-WindowsFeature Web-Server`) - Install URL Rewrite 2.1 (download + Server Manager cmd) - Configure firewall: allow 80/443 inbound - Test external MSSQL connection to VDS (89.253.255.94:1433) - Test external MinIO connection to VDS (minio.kzntsv.site:443) 2. **Backup source** (windows-recovery-host): - Export IIS configuration: `%systemroot%\system32\inetsrv\appcmd.exe list site -config > sites-backup.txt` - Export applicationHost.config: `C:\Windows\System32\inetsrv\config\applicationHost.config` - Backup inetpub\wwwroot\ (11 sites, ~100MB-1GB each) - Document Web.config connection strings (MSSQL/MinIO endpoints) 3. **Deploy to target** (RUVDS): - Create IIS sites matching source structure - Copy site contents (RDP drive mount or WinRM copy) - Update Web.config connection strings → point to VDS MSSQL/MinIO - Import SSL certificates (traefik LE certs) or setup new LE on IIS 4. **Pilot on kupimknigi.spb.ru**: - DNS pointing test (local hosts file or temporary DNS) - Smoke test: homepage + admin + database connectivity - 24h soak — monitor stability - If OK → proceed with remaining 10 sites 5. **DNS swap cutover**: - Update DNS A records → RUVDS IP - Monitor traefik logs on windows-recovery-host (should see 0 traffic) - Keep windows-recovery-host warm for 1 week rollback window ## Acceptance criteria - [ ] RUVDS IIS serving all 11 sites - [ ] All sites functional (no 500 errors, DB connectivity OK) - [ ] DNS pointed to RUVDS - [ ] 24h stability soak passed - [ ] Rollback plan documented (revert DNS to home IP) - [ ] windows-recovery-host VM shutdown / saved-state ## Open questions - [ ] **RUVDS public IP** — assigned yet? Need for DNS A records. - [ ] **SSL strategy** — use existing traefik LE certs (export?) or setup new LE on IIS? - [ ] **Traefik на RUVDS?** — IIS-only (port 80/443 direct) или traefik reverse proxy again? - [ ] **Backup strategy for RUVDS IIS** — VDS snapshot? IIS native backup? ## Notes - **Windows Server 2025 Core** = GUI-less, PowerShell-only management. No Server Manager desktop. - **2GB RAM constraint** — IIS + 11 sites = tight. Monitor memory after pilot. - **Migration is transitional** — long-term snolla-on-node makes IIS obsolete. Don't over-engineer.