# Microsoft IIS

## Requirements

1. **IIS 7 or above** with .**NET 10 hosting bundle** installed

{% hint style="danger" %}
We strongly recommend SSL for non-local domain based websites
{% endhint %}

{% hint style="warning" %}
If you are running IIS as a cluster node make sure to read the [cluster / scale out setup section](https://docs.ngsurvey.com/installation-setup/installation/cluster-scale-out-configuration).
{% endhint %}

## Required downloads

To setup ngSurvey on IIS you will need to first download and install the latest [**Microsoft .NET 10 IIS Hosting Bundle**](https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-aspnetcore-10.0.5-windows-hosting-bundle-installer) package.\
[ ](https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-aspnetcore-8.0.0-windows-hosting-bundle-installer) \
Once installed you may download the ngSurvey archive from following location.\
&#x20;[ngSurvey installation zip package](https://dl.ngsurvey.com/release/ngsurveyee.zip)

## Installation steps

1. Create a ngSurvey folder on the machine hosting the IIS Server
2. unzip the ngSurvey package zip content that folder
3. In Windows open the IIS Manager
4. In the Sites tree of the IIS Manager, right click Sites and Add website
5. Set the Physical path folder to the folder where you unzipped the content of the ngSurvey zip install package
6. Once you have created the site, go to the Application Pools in the IIS Manager and open the properties of the website application pool, the default name is the name of the website you just created
7. Set the .NET CLR Version to V4
8. In the Advanced settings of the application pool set the Start Mode option to "AlwaysRunning" and the "Idle Time-out (minutes)" option to 0 &#x20;
9. Open the web.config file using an text editor.
10. Uncomment the environment variable line and set the [connection string](https://www.connectionstrings.com/sql-server/) to the server hosting the ngSurvey database. If you're using MySQL as your database back please follow the [MySQL configuration tutorial](https://docs.ngsurvey.com/installation-setup/installation/database-backend/oracle-mysql).
    * ConnectionStrings:NGSurveyDB Connectionstring to the server hosting the ngSurvey database
11. Open your browser and navigate to your site root
12. Use following default credentials for ngSurvey\
    \
    Email : ngsadmin\
    password : admin<br>
13. Once logged make sure to change the default admin password with a password of your choice from the [user management ](https://docs.ngsurvey.com/multi-user-management/users)screen.&#x20;
14. You may also setup additional settings like mail servers, captcha and translation services from the [system settings](https://docs.ngsurvey.com/installation-setup/system-settings) page.
15. Enjoy a great survey tool!

{% hint style="info" %}
You may for the health / working status your ngSurvey installation at <https://yourrootsite/api/system/status>
{% endhint %}

## Database setup

Out of the box ngSurvey will automatically configure / create / update the database that is specified in your connectionstring.&#x20;

You may also use the [http://yourngsurveysite/ngs/setup](http://localhost:8081/ngs/setup) link to setup your database using the provided user interface.&#x20;

Note that If you run your container under AWS ngSurvey will automatically pick up all RDS connection properties.\
\
Database requires SQL Server 2016 or above or MySQL 8 or above
