PowerShell script for IIS installation
No edit summary
No edit summary
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
PowerShells script for automated installation on Windows and IIS. The script can create and update a .Net Core installation of TurnKey or MDrivenServer on Windows.
This is a PowerShells script for automated installation on Windows and IIS. The script can create and update a .Net Core installation of TurnKey or MDrivenServer on Windows.


(please see this page for basic installation for .net core on Windows [[MDrivenServerCore in IIS]])
(Please see this page for basic installation for .net core on Windows: [[MDrivenServerCore in IIS]])


Please consider this for web sites on IIS.
Consider this for websites on IIS:


* "Site" is the name of the website, which also points to the physical path on the server
* "Site" is the name of the website, which also points to the physical path on the server.
** The site holds information on "bindings", which is to say, which protocols and certificates that should be used.
** The site holds information on "bindings", which is to say, which protocols and certificates should be used.


* A subfolder of a site usually looks like a "subsite" of a site, for example of the "Default Web Site"
* A subfolder of a site usually looks like a "subsite" of a site, for example of the "Default Web Site".
** "Subsite" doesn't really exist, but can have application information assigned to it.
** "Subsite" doesn't really exist, but can have application information assigned to it.
* "Application" is information stored in the site that points to an AppPool
* "Application" is information stored in the site that points to an AppPool.


* "AppPool" is the settings for the process that will process requests of the an Application
* "AppPool" is the settings for the process that will process requests of the an Application.
* An application can be hosted in the site root, or in subfolders, i.e. subsites.  
* An application can be hosted in the site root, or in subfolders, i.e. subsites.  






'''NOTE!''' The certificate MUST be valid for the MDrivenServer to start. A MDrivenServer talks to itself and needs to be able to accept it's own certificate.
'''NOTE!''' The certificate MUST be valid for the MDrivenServer to start. An MDrivenServer talks to itself and needs to be able to accept it's own certificate.


Having the above in mind, this is the parameters to the script;
Having the above in mind, these are the parameters to the script:


This script has the following parameters;
This script has the following parameters:


* appName The name of the application, but also the siteName if you set appInOwnSite to $true
* '''appName''' The name of the application, but also the siteName, if you set appInOwnSite to $true
* siteName  Default to the default site of a standard installed IIS, "Default Web Site"
* '''siteName'''  Default to the default site of a standard installed IIS, "Default Web Site".


* appURL  The public URL that clients access this site, must be provided. For example ''app.company.com''
* '''appURL''' The public URL that clients access this site, must be provided. For example: ''app.company.com''


* certFriendlyName The friendly name of a certificate that the script will try to attach to the site binding.
* '''certFriendlyName''' The friendly name of a certificate that the script will try to attach to the site binding.


* appInOwnSite Default is $false $false puts the app as subsite to the app with $siteName. $true uses a siteName the same as the app name for each app
* '''appInOwnSite''' Default is $false - $false puts the app as subsite to the app with $siteName. $true uses a siteName the same as the app name for each app.


* appInSiteRoot Defaults to $false, which means that a subfolder will be created in the Site folder
* '''appInSiteRoot''' Defaults to $false, which means that a subfolder will be created in the Site folder.


* inetpubPath Default to "%SystemDrive%\inetpub", and you usually don't need to provide this
* '''inetpubPath''' Default to "%SystemDrive%\inetpub", and you usually don't need to provide this.


* cleanSite Default to $false, which will leave existing files in the site folder. $true will delete all files except settings and database files.
* '''cleanSite''' Default to $false, which will leave existing files in the site folder. $true will delete all files except settings and database files.
* $updateFile If provided, updates the site from this zip-file. If only file name (without path), the current users Download folder will be used to find the file.
* '''$updateFile''' If provided, updates the site from this zip-file. If only file name (without path), the current user's Download folder will be used to find the file.


[[File:CreateOrUpdateCoreSite.zip|alt=CreateOrUpdateCoreSite.ps1]]
[[File:CreateOrUpdateCoreSite.zip|alt=CreateOrUpdateCoreSite.ps1]]
[[File:CreateOrUpdateCoreSite.zip|alt=CreateOrUpdateCoreSite.ps1]]

Latest revision as of 06:26, 29 April 2024

This is a PowerShells script for automated installation on Windows and IIS. The script can create and update a .Net Core installation of TurnKey or MDrivenServer on Windows.

(Please see this page for basic installation for .net core on Windows: MDrivenServerCore in IIS)

Consider this for websites on IIS:

  • "Site" is the name of the website, which also points to the physical path on the server.
    • The site holds information on "bindings", which is to say, which protocols and certificates should be used.
  • A subfolder of a site usually looks like a "subsite" of a site, for example of the "Default Web Site".
    • "Subsite" doesn't really exist, but can have application information assigned to it.
  • "Application" is information stored in the site that points to an AppPool.
  • "AppPool" is the settings for the process that will process requests of the an Application.
  • An application can be hosted in the site root, or in subfolders, i.e. subsites.


NOTE! The certificate MUST be valid for the MDrivenServer to start. An MDrivenServer talks to itself and needs to be able to accept it's own certificate.

Having the above in mind, these are the parameters to the script:

This script has the following parameters:

  • appName The name of the application, but also the siteName, if you set appInOwnSite to $true
  • siteName  Default to the default site of a standard installed IIS, "Default Web Site".
  • appURL The public URL that clients access this site, must be provided. For example: app.company.com
  • certFriendlyName The friendly name of a certificate that the script will try to attach to the site binding.
  • appInOwnSite Default is $false - $false puts the app as subsite to the app with $siteName. $true uses a siteName the same as the app name for each app.
  • appInSiteRoot Defaults to $false, which means that a subfolder will be created in the Site folder.
  • inetpubPath Default to "%SystemDrive%\inetpub", and you usually don't need to provide this.
  • cleanSite Default to $false, which will leave existing files in the site folder. $true will delete all files except settings and database files.
  • $updateFile If provided, updates the site from this zip-file. If only file name (without path), the current user's Download folder will be used to find the file.

File:CreateOrUpdateCoreSite.zip

This page was edited 3 days ago on 04/29/2024. What links here