Contents:
This section provides general information you should review before installing the Ed-Fi ODS / API Admin API for v1.3.3.
This version of the Admin API has been tested and can be installed for use with the Ed-Fi ODS / API v3.4-6.1. See the Ed-Fi Technology Version Index for more details.
A running instance of the ODS / API v3.4 - 6.1 platform must be configured and running before installing Admin API.
Admin API only supports running one instance of the application at a time in an ODS / API ecosystem. Future versions may allow for scaling and load balancing.
Admin API does not support in-place upgrades from prior versions. Please install a fresh copy of Admin API to upgrade from prior versions.
The following are required to install the Admin API with IIS:
Installation Steps
Create a directory to hold all of the Admin API source files. In this example, we'll use a directory on the following path: "C:\Ed-Fi\AdminAPI".
Download and rename the linked Nuget Package (.npkg) to .zip
Unzip the contents into the folder created in Step 1.
There will be two folders. AdminApi folder will have binaries. Installer folder contains PowerShell scripts required for installation.
In SQL Server Management Studio, make sure that you have a login for the database server. Guidance on how to set this up is explained in this blog post. A few basics:
Once you have confirmed a proper SQL Server login exists, continue to the next step.
You will need to manually edit connection strings, authorization settings, and keys in "AdminApi\appsettings.json". Some values to note:
Authentication:SigningKey
must be a Base64-encoded stringAuthentication:Authority
and Authentication:IssuerUrl
should be the same URL as your applicationAuthentication:AllowRegistration
to true
allows unrestricted registration of new Admin API clientsEnableSwagger
to true
to enable generation of the Swagger UI documentationHere is a snippet from a properly configured application settings file:
"AppSettings": { "DatabaseEngine": "SqlServer", "DefaultOdsInstance": "EdFi ODS", "ProductionApiUrl": "https://YOUR_SERVER_NAME_HERE/WebApi/", "SecurityMetadataCacheTimeoutMinutes": "10", "ApiStartupType": "YOUR-MODE-HERE", "LocalEducationAgencyTypeValue": "Local Education Agency", "PostSecondaryInstitutionTypeValue": "Post Secondary Institution", "SchoolTypeValue": "School", "PathBase": "", "GoogleAnalyticsMeasurementId": "", "ProductRegistrationUrl": "https://edfi-tools-analytics.azurewebsites.net/data/v1/" }, "Authentication": { "Authority": "https://YOUR_SERVER_NAME_HERE/AdminApi", "IssuerUrl": "https://YOUR_SERVER_NAME_HERE/AdminApi", "SigningKey": "YS1sb25nLXNhbXBsZQ==", "AllowRegistration": false }, "EnableSwagger": false, "EnableDockerEnvironment": false, "ConnectionStrings": { "Admin": "Data Source=(local);Initial Catalog=EdFi_Admin;Trusted_Connection=True", "Security": "Data Source=(local);Initial Catalog=EdFi_Security;Trusted_Connection=True", "ProductionOds": "Data Source=(local);Initial Catalog=EdFi_Ods_Production;Trusted_Connection=True" }, "Log4NetCore": { "Log4NetConfigFileName": "log4net\\log4net.config" }, "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information" } }, "AllowedHosts": "*" |
This step is only necessary if you do not have a certificate from an existing ODS / API and Admin App installation in IIS. |
Open IIS Manager, and double-click on "Server Certificates". Note that we must select a server/machine in the left sidebar to see this option.
On the Server Certificate page, click on "Create Self-Signed Certificate..." on the Actions bar to the right.
For the certificate, use "Ed-Fi-ODS" as the friendly name and make sure the certificate store is set to "Personal". Click OK. We will use this certificate in an upcoming step.
Back in the IIS Manager main page, expand the server/machine on the left sidebar and click on Application Pools.
Click on "Add Application Pool..." on the Actions bar to the right, enter "Ed-Fi" as the name. Click OK.
Once that is created, click on the "Ed-Fi" application pool and select "Advanced Settings..." on the Actions bar to the right. Change the Start Mode to "AlwaysRunning".
This next bit is optional if you want to use an app pool identity. If you would like to use the default "ApplicationPoolIdentity", then you can skip this section.
In the same Advanced Settings window, click on the browse icon under Process Model > Identity. Choose the custom account option and click "Set...". When setting the credentials, you can simply use the username and password that you use to log in to Windows. If you need to include the app pool domain in the username, then the username can look something like this: "localhost\username", where "localhost" is the app pool domain. Once you've entered the correct credentials, click OK on all screens until you're back to the main Application Pools page.
After that's done, we'll repeat the exact same steps in this section, but enter "Admin API" as the Application Pool name. We should now have 2 app pools.
On the left sidebar, we'll right-click on the newly created "Ed-Fi" website, select "Add Application...", and perform the following:
Additional tables are required for storing client authentication for Admin API, which need to be initialized manually, as shown below.
Please execute the below script against the EdFi_Admin database, using SQL Server Management Studio, Azure Data Studio, PowerShell SQL Tools, psql.exe, or PgAdmin as per your database (SQL Server or Postgres) and database tool preference.
|
Continue on to First-Time Configuration for Admin 1.x.
The following is a Nuget package containing the Admin API v1.3.3 source files for manual deployment to IIS. |