# Installation API PlaceSimpleOrder

## På servern

{% hint style="success" %}

## Förkrav

* En serverdator med uppfyllda [systemkrav](https://docs.simutek.se/it/systemkrav).
* Inloggad med en användare med administrativa rättigheter.
* .NET Framework 3.5 (includes .NET 2.0 and 3.0)
* Web Server (IIS) with Role services:
  * *Application Development* > \
    :ballot\_box\_with\_check:ASP.NET 3.5
  * *Management Tools > IIS 6 Management Compatibility >*\
    :ballot\_box\_with\_check: IIS 6 Metabase Compatibility.
* Uppgifter för att ansluta till SQL Servern.
  {% endhint %}

### Förbered servern

Öppna en kommandoprompt med administrativa rättigheter. Kör följande kommando för att installera ASP.NET.

```
C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
```

När installationen är klar visas: *Finished installing ASP.NET (2.0.50727).*

{% hint style="info" %}
Att installera ASP.NET behöver inte göras om detta redan gjorts vid något tidigare tillfälle.
{% endhint %}

### Kör installationsprogrammet

Kör `GKS.External.PlaceSimpleOrder.exe` alternativt via en kommandoprompt:

```
msiexec /i "GKS.External.PlaceSimpleOrder.msi"
```

* Tryck *Next* vid välkomstdialogen.
* Välj Application Pool: **.NET v2.0 Classic** eller **GKS** .\
  Lämna övriga fält oförändrade.\
  Tryck *Next* för att acceptera förvald installationskatalog.
* Ange namnet på databasservern, namnet på databasen, databasanvändarens namn och databasanvändarens lösenord:

| Rubrik          | Beskrivning                                       | Exempel       |
| --------------- | ------------------------------------------------- | ------------- |
| Database server | Namn eller IP-adress på dator med SQL Server      | gks-db-server |
| Databas         | GKS3-databasens namn.                             | GKS           |
| Username        | Användarnamn för SQL Server. (SQL Authentication) | sa            |
| Password        | Lösenord för SQL Server. (SQL Authentication)     | hemligt       |

* Tryck *OK*. Programmet kontrollerar att angivna inställningar är korrekt. Om kontakt med databas misslyckas visas ett felmeddelande och inställningarna får fyllas i på nytt.
* Tryck *Close* för att avsluta installationen.

### Kontrollera installationen

Öppna en webbläsare och ange adress:

{% embed url="<http://localhost/GKS.External.PlaceSimpleOrder/PlaceSimpleOrder.asmx>" %}

<div align="left"><img src="https://2294969563-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M3QX94FdV_9Xy4tUPHP%2F-M7Mjt0NuAzekbV8WKOE%2F-M7N7BppgYirXje2QJ20%2Fimage.png?alt=media&#x26;token=7ffebde3-7529-4f75-970b-8dec53f55710" alt="Vid lyckad installation visas följande välkomstsida när webbtjänsten öppnas i en webbläsare."></div>

### Gör API:et tillgängligt för extern part

För att ni ska kunna börja ta emot beställningar via API:et behöver det göras tillgängligt för extern part, t.ex. en webbshop.

Finns det externa systemet installerat internt inom ert lokala nätverk räcker det med att byta ut URL:en ovan med ert servernamn. Detta blir den URL som webbshoppen ska koppla sig till. T.ex:

```
http://gks-server/GKS.External.PlaceSimpleOrder/PlaceSimpleOrder.asmx
```

Vanligare är att det externa systemet finns utanför ert lokala nätverk, t.ex. på Internet. I detta fall behöver ni öppna en port i er brandvägg och vidarebefordra denna till det interna API:et. Då blir URL:en som det externa systemet ska koppla sig till istället:

```
http://vårttryckeri.se:8099/GKS.External.PlaceSimpleOrder/PlaceSimpleOrder.asmx
```

Exempelvis läggs en NAT-regel in i brandväggen:

| Egenskap   | Från  | Till       |
| ---------- | ----- | ---------- |
| Interface  | wan   | lan        |
| IP         | (any) | gks-server |
| Port (TCP) | 8099  | 80         |

För ökad säkerhet bör följande övervägas:

* Istället för att tillåta alla inkommande ip-adresser (any) bör detta bytas till en fast ip-adress för det externa systemet.
* Byt portnummer 8099 till något unikt och högt portnummer.
* Se på att sätta upp certifikat (SSL) i webbservern.
