Legacy MVC — IIS Installation (deprecated)
Warning
This is the legacy installation path for FrontEnd Server deployments running on Windows Server / IIS / .NET Framework. New deployments must use the modern Docker / .NET 8 path documented in Installation. This page is preserved only for customers maintaining existing IIS-based installs.
The IIS installation path predates the React shell and the migration
to .NET 8. It targets the legacy MVC pipeline where the FrontEnd Server
returns server-rendered Razor HTML at ~/Display/<pageKey> URLs rather
than the modern ~/app/<pageKey> JSON+SPA path.
If you are starting a new install or a new environment for an existing customer, skip this page and follow Installation. If a customer is still in the middle of migrating from this stack to the modern one, this page documents the legacy half they're leaving behind.
Prerequisites
- IIS installed with MVC .NET support
- Knowledge about MibConfigs
- MibPackages and MibDlls downloaded
- Database available to bootstrap
- Running instance of MibAuthorizationServer
- Running instance of MibServerApi
Migration: Generating Database
Every migration runs through mibmigrator from the MibDlls package.
Three required config files:
MibLogConfigMibDatabaseConfigMibConfigurableObjectConfig(can be a dummy)
Bootstrap the MibClient2 migration first, then the FrontEnd Server migration:
C:\MibDlls\MibMigrator\Migrator\mibmigrator.exe ^
-assembly="C:\MibDlls\MibMigrator\MibClient2Migrations\MibClient2.MibDatabaseMigrations.dll" ^
-configPath="C:\TestData\auth_migration\config"
C:\MibDlls\MibMigrator\Migrator\mibmigrator.exe ^
-assembly="C:\MibDlls\MibMigrator\MibServerMigrations\MibServer3.MibDatabaseMigrations.dll" ^
-configPath="C:\TestData\mib3_migration\config"
The migration assemblies and the runtime DLLs are interchangeable between the legacy and modern installs — the FrontEnd DB schema is the same regardless of which runtime serves it.
Installing and enabling MibServer3 (IIS)
- Extract
MibServer3i.zipintoC:\inetpub\wwwroot\<NAME>. - In IIS Manager, right-click the folder → "Convert to app".
- Create a
configfolder inside the app root with the configuration files below.
Minimally required configuration files:
MibLogConfigMibAuthorizationClientConfigMibApiClientConfig.mibconfigMibDatabaseConfigMibServer3BaseConfig.mibconfig— renamedMibCmsFrontEndServerBaseConfig.mibconfigin newer versions; either name works at runtime for back-compatMibTranslationConfig.mibconfigMibCacheConfig.mibconfigMibObjectCacheConfig.mibconfig
Register the FrontEnd Server as an OAuth client by inserting into
API_CLIENTS exactly as documented in
Installation — OAuth client registration
— the SQL is identical across runtimes.
Sample legacy config files
The legacy XML config files follow the same key structure as the modern env-var configuration. Every key listed in the CMS · MibConfig reference docs is valid in these legacy XML files; the only difference is the serialisation format.
<!-- MibAuthorizationClientConfig.mibconfig -->
<?xml version="1.0" encoding="utf-8" ?>
<mibConfig>
<default>
<serverUrl>http://mibauthorizationserver/url/</serverUrl>
<clientId>newMib3Client</clientId>
<clientSecret>mY53Cr37aCc3s5K3y</clientSecret>
</default>
</mibConfig>
<!-- MibApiClientConfig.mibconfig -->
<?xml version="1.0" encoding="utf-8" ?>
<mibConfig>
<default>
<url>http://mib/api/server/url/</url>
</default>
</mibConfig>
<!-- MibDatabaseConfig.mibconfig -->
<?xml version="1.0" encoding="utf-8" ?>
<mibConfig>
<default>
<type>serverType</type>
<server>serverAddress</server>
<database>databaseName</database>
<username>databaseUsername</username>
<password>databasePassword</password>
</default>
</mibConfig>
<!-- MibCacheConfig.mibconfig -->
<?xml version="1.0" encoding="utf-8" ?>
<mibConfig>
<default>
<iis>true</iis>
<memcached>true</memcached>
<memcachedServers>192.168.1.84:11211</memcachedServers>
<disk>true</disk>
<diskPath>C:\diskcache</diskPath>
<diskDisableTime>60</diskDisableTime>
</default>
</mibConfig>
For the canonical, exhaustive list of every option in every config, see the CMS · MibConfig reference section in the sidebar.
Migration to the modern stack
When you're ready to migrate a customer off this path:
- Stand up the new Docker-based FrontEnd Server next to the IIS one, pointed at the same FrontEnd DB. See Installation.
- Migrate operator-facing pages to the React shell by converting menu
entries from
~/Display/<pageKey>to~/app/<pageKey>. See Menus. - Migrate custom MVC components to the React-era
IRenderableComponentV2contract. See Component Authoring. - Replace any custom JS that used the global
MIB.Template.ManagerAPI with the equivalent React hook from@agilecontent/mib-modules. See Legacy JavaScript API for the migration map. - Decommission the IIS install once the React shell carries all the pages the customer uses.
The two stacks can run side-by-side against the same DB indefinitely — migration can be incremental and per-page.
See also
- Installation — the modern Docker / .NET 8 path
- Legacy Component Model — the
IRenderableComponentinterfaces this stack used - Legacy JavaScript API — the
MIB.Template.Managerglobal the legacy MVC pages exposed - System Overview — backend overlay system — the modern image-layering model that replaces IIS-style deploys