# IT:AD:Documentation:Implementation # * [[../|(UP)]] {{indexmenu>.#2|nsort tsort}} Developing software and chucking it over the fence is not enough. Have to write a document that will allow IT of client to install your software on hardware they will *not* allow you to access. ## Checklist ## * Document Flow: * Traditional stuff * Staget Sign Off: * Hardware configuration * AD Identities * Certificate creation and installation * WebServer configuration * Db Server configuration * WebSite installation * Database installation * List Prerequisites: * Operating System * eg: Windows Server 2008 * Network * IP addresses of NIC cards * Inbound/outbound tcp Ports opened, for Domain, on xxx. * Identities * Services: * IIS AppPool identity * Use LUsrMgr.msc to mark as service. * AD Group membership. * other. * Server Roles * eg: IIS Version: 7.5 * eg: IIS 7 Management (sp?) * eg: IIS 6 Management Compatibilty * eg: WebDeploy * eg: SqlServer version: 2008 R2 * Certificates * eg: SSL * Creation requirements * Installation process * eg: Service client signage * Common scenarios are: * In UAT install the test self-signed CA (in Trusted Root Key Store). * Install a remote server's public key, maybe for signing parts of the mssage (in Trusted Poeple) * If self signed (eg: UAT) put it also in Trusted Root key store) * Install a cert to authenticated one self with a well known CA (in Personal Store) * Install its CA in Trusted Root. * Creation requirements * Installation process * Ensure IIS AP Identity can use it * Start/Run/MMC/Add/Certificates, LocalMachine, OK. * Select Store, rightclick, all tasks, import, change type to see *.pfx, import, enter password. * Find cert, Right-click, select All Tasks, Select Manage Private Key, and add idendity to it, giving it FUll COntrol and Read. * Verify Chain of Authority. * Service Account Role Membership * IIS Application Pool Identity Role Membership * IIS Application Pool configuration * Name, Framework, Managed Pipeline, Start mode, Ping * Identity used. * List constraints. Examples could be something like: * Sharepoint cannot be installed on an AD DC. * K2 Installation must be on different server than * Preparation of WebServer * INETMgr.msc * Create AppPool * Set Identity * Create WebSite * Name, AP, Physical Path, IP address. * Set Mapping. * Initial install, test with index.html page. * Preparation of Database Server * Login to Db * Create a Db * any specific settings (Collation, etc) * Create a DBMS User (mapped to IIS AD Identity) * AD User will vary depending on ST, UAT, PROD. * Create a DB Login * Create Database * Alt: Update database procedure * Installation of WebSites * eg: Run WebInstaller MSI * Select WebSite * Select Virtual Directory (EES.vX.X) * Select AP * Unpack * List configuration settings * for the different environments: * Dev (Optional) * ST * UAT * PROD * Use a table: [FilePath, XPath, Default Value, Options] * Example: `/web.config`, `configuration/appSettings[@configSource]`, `configuration\{{ENV}}\appSettings.config`, {{ENV}}=ST|UAT|PROD * move things around * Remap