Konfiguracja IIS: Różnice pomiędzy wersjami

Z wiki.groszek.pl
Przejdź do nawigacji Przejdź do wyszukiwania
Linia 32: Linia 32:
Do działania aplikacji niezbędne jest doinstalowanie bibliotek umożliwiających uruchamianie w systemie Windows aplikacji stworzonych przy pomocy narzędzi programistycznych firmy Microsoft:
Do działania aplikacji niezbędne jest doinstalowanie bibliotek umożliwiających uruchamianie w systemie Windows aplikacji stworzonych przy pomocy narzędzi programistycznych firmy Microsoft:
*'''.NET Framework w wersji 4.6.2''' lub wyższej,
*'''.NET Framework w wersji 4.6.2''' lub wyższej,
*'''Microsoft Visual C++ 2017 Redistributable''' (wersja x86 dla usługi Finn, wersja x64 dla eAdmin).
*'''Microsoft Visual C++ 2017 Redistributable''' ([https://aka.ms/vs/15/release/vc_redist.x86.exe wersja x86] dla usługi sieciowej Finn, [https://aka.ms/vs/15/release/vc_redist.x64.exe wersja x64] dla eAdmin).


==Menedżer internetowych usług informacyjnych (IIS)==
==Menedżer internetowych usług informacyjnych (IIS)==

Wersja z 14:44, 20 lis 2018

Dokument zawiera opis konfiguracji serwera usług internetowych - Internet Information Services (IIS). Z IIS korzystamy m.in. w celu uruchomienia aplikacji eAdmin, eWizja oraz ePodatki.

Uwaga!
  • Zrzuty okien i adresy ścieżki przygotowano na podstawie systemu Windows 10,
  • Filmy prezentujące konfigurowanie IIS znajdziemy na portalu YouTube.

Instalacja IIS

Przechodzimy do okna Programy i funkcje poprzez wciśnięcie kombinacji klawiszy Windows + R, w wyświetlonym oknie wpisujemy appwiz.cpl i zatwierdzamy klikając OK lub wciskając Enter.

Konfiguracja IIS winr.png

W oknie Programy i funkcje wybieramy opcję Włącz lub wyłącz funkcje systemu Windows.

Konfiguracja IIS programy i funkcje.png

Odnajdujemy na liście Internetowe usługi informacyjne i zaznaczamy zgodnie z poniższymi zrzutami ekranu, a następnie zatwierdzamy klikając na przycisk OK.

Po kilku chwilach usługa powinna zostać pomyślnie zainstalowana, co system Windows potwierdzi wyświetlając stosowny komunikat.

Konfiguracja IIS koniec.png

Status usługi

Po zastosowaniu zmian, usługa IIS powinna zostać automatycznie uruchomiona. Status usługi sprawdzimy naciskając kombinację klawiszy Windows + R, w wyświetlonym oknie wpisujemy services.msc i zatwierdzamy klikając OK lub wciskając Enter. Uruchomione zostanie okno Usługi, na liście szukamy pozycji Usługa publikowania w sieci WWW. Powinna działać, wycinek poniżej.

Konfiguracja IIS status.png

Instalacja bibliotek

Do działania aplikacji niezbędne jest doinstalowanie bibliotek umożliwiających uruchamianie w systemie Windows aplikacji stworzonych przy pomocy narzędzi programistycznych firmy Microsoft:

  • .NET Framework w wersji 4.6.2 lub wyższej,
  • Microsoft Visual C++ 2017 Redistributable (wersja x86 dla usługi sieciowej Finn, wersja x64 dla eAdmin).

Menedżer internetowych usług informacyjnych (IIS)

Naciskając kombinację klawiszy Windows + R, w wyświetlonym oknie wpisujemy inetmgr i zatwierdzamy klikając OK lub wciskając Enter. Uruchomiony zostanie Menedżer internetowych usług informacyjnych, czyli okno służące do zarządzania usługą IIS.

Konfiguracja IIS Menedżer.png

Dodawanie nowej witryny

Menedżer internetowych usług informacyjnych > Dodaj witrynę sieci Web

W celu utworzenia nowej witryny w IIS przechodzimy do Menedżera internetowych usług informacyjnych (IIS) > w sekcji Połączenia (lewa strona) klikamy PPM > wybieramy Dodaj witrynę sieci Web.

Wykonujemy kolejno kroki:

  1. Pole Nazwa witryny uzupełniamy dowolną nazwą, np. INFO-SYSTEM.
  2. Pula aplikacja - wybieramy pulę aplikacji, która ma wersję środowiska .Net CLR: 4.0 oraz Tryb potokowy: Zintegrowany. Możemy utworzyć pulę aplikacji o takich parametrach i nazwać ją INFO-SYSTEM.
  3. Ścieżka fizyczna to lokalizacja folderu wspólnego, w którym będą znajdowały się aplikacje INFO-SYSTEM.
  4. Wybieramy typ połączenia HTTP lub HTTPS (jeśli aplikacja ma być dostępna poza siecią lokalną zalecamy wybór protokołu HTTPS, aby dowiedzieć się więcej klikamy tutaj).
  5. Zatwierdzamy klikając na przycisk OK.

HTTPS/SSL

Uwaga! Jeśli chcemy, aby nasza aplikacja była dostępna poza siecią lokalną zalecamy stosowanie protokołu SSL.
Dodawanie certyfikatów serwera

Certyfikaty serwera

W Menedżerze internetowych usług informacyjnych znajdujemy i wchodzimy w opcję Certyfikaty serwera. Z prawej strony okna, w sekcji Akcje dostępne są opcje importowania oraz tworzenia certyfikatów.

Dodawanie witryny

Podczas dodawania nowej witryny typ połączenia ustawiamy jako HTTPS, a następnie wybieramy wcześniej dodany certyfikat SSL i zatwierdzamy klikając na przycisk OK.

Konfiguracja iis dodawanie witryny certyfikat ssl.png

Ustawienia protokołu SSL

W Menedżerze internetowych usług informacyjnych wybieramy wcześniej utworzoną witrynę, wchodzimy w pozycję Ustawienia protokołu SSL, a następnie zaznaczamy opcję Wymagaj protokołu SSL oraz wybieramy Ignoruj. Dzięki takiemu ustawieniu dostęp do naszej aplikacji będzie możliwy tylko i wyłącznie poprzez protokół SSL.

Uwaga! Jeśli nasz certyfikat SSL nie został wystawiony przez zaufanego wystawce niezbędne będzie dodanie w przeglądarce wyjątku aby uruchomić aplikację.
Ustawienia protokołu SSL

Szyfrowanie pliku konfiguracyjnego

Aplikacje przechowują dane konfiguracyjne w pliku Web.config w postaci niezaszyfrowanej. Zalecamy zaszyfrowanie sekcji zawierającej dane wrażliwe. Do szyfrowania używamy narzędzia ASP.NET IIS Registration Tool (Aspnet_regiis.exe).

Narzędzie aspnet_regiis.exe znajduje się w katalogu %windows%\Microsoft.NET\Framework\<wersja_.net_framework>

Aby zaszyfrować wybrane sekcje postępujemy kolejno:

  1. Uruchamiamy jako administrator Wiersz polecenia (cmd.exe).
  2. Przechodzimy do katalogu w którym znajduje się narzędzie ASP.NET IIS Registration Tool służące do szyfrowania.
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319

Szyfrowanie

Schemat:

aspnet_regiis -pe "<nazwa_sekcji>" -app "/<folder_aplikacji>" -prov "RsaProtectedConfigurationProvider"

Przykład:

aspnet_regiis -pe "connectionStrings" -app "/eWizja" -prov "RsaProtectedConfigurationProvider"

Efekt:

<connectionStrings configProtectionProvider="RsaProtectedConfigurationProvider">
<EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element" xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<KeyName>Rsa Key</KeyName>
</KeyInfo>
<CipherData>
<CipherValue>LyUdnmEgyetq9stzQizLkEiFfngcuxRZeNacsU0iHoKHyEvH40CIUiuv4I67DBT/Obf3yX9R6DZv42koMiHKSp7P4d3tE84nUVtAp8sdXgLnCh4ou9cx1Pbrzmbu/TXzHVOq2UsAh74hW0ULCKGjNfYvQiwHRJ1AZ3b5PHXA0uO6nI2vjZWH4t0LF2edd5zjSqtJRNvfmQoBBh7OSd5ZVyjGjJAftONsfah2Ffzepa4pjp1umWWUqLPROXrbujGP4DuLfbLvp1pt5O/y0zAypG3Z5ArCjlcGomLSn74qjLUCB1FcoZW9BQlb8U7jEhBNqg87sagoG1QgcmK4tbFvOg==</CipherValue>
</CipherData>
</EncryptedKey>
</KeyInfo>
<CipherData>
<CipherValue>zuubyHkocmWvRdBiKk5jYhRdnziOmYMIiS55dR/rHa7dRZzdwBOZeKitl59RguJlDlJyuAkuFfHIDZwkEzFHbzZzWRQn+aBogyhsRrfhAskq/cQwLN0zelWeDM8+GLn4Qjpgh8VB6OODBK7L/e/hKYML3stS9xcccAPv3ycMTkx18VFWOWDtUQEWN3iUBnO51l/9EgONlUmKKizlusoCAG9OYuVIlVOHGnOKkaojDGoseCuerF4hEks4z7GeVM6ynbP6AQHn38BUCtA2fYl8irLoWFD+KUwqmzWdmRJuuvhZs5D8Eo8Q9cIuPZO1kxNIq97FdxNErz1jO4m10mioWZdkLWGdNIV2lc39aeCmBt8xVcMTVZQCnBP4h1uhUgEf3arfPqmuliDPsewBpTfo9sGeNKZuiqVJcJwxb8baiSPBomJLZBvQRCMLo4HlqRiY7+Ifd8h0vI6DutN1OsF3V0hBuX+jQQGsYg19K4eschppdjdAaUeXfg==</CipherValue>
</CipherData>
</EncryptedData>
</connectionStrings>

Odszyfrowanie

Schemat:

aspnet_regiis -pd "<nazwa_sekcji<" -app "/<folder_aplikacji>"

Przykład:

aspnet_regiis -pd "connectionStrings" -app "/eWizja"

Efekt:

<connectionStrings>
<add name="FbAuthConnection" connectionString="User=nazwa_uzytkownika;Password=trudne_haslo;Database=D:\Bazy\is_wizja.gdb;DataSource=localhost;Port=3050;Dialect=3;Charset=NONE;Role=;Connection lifetime=15;Pooling=true;MinPoolSize=0;MaxPoolSize=50;Packet Size=8192;ServerType=0;"
providerName="FirebirdSql.Data.FirebirdClient" />
</connectionStrings>

eAdmin

Uwaga! eAdmin do poprawnego działania wymagane są: 64-bitowy system operacyjny, .Net Framework w wersji 4.6.2 lub wyższej oraz MS C++ Redistributable (wersja x64, min. 2017).
  1. Pobieramy ze strony groszek.pl aktualną wersje programu eAdmin.
  2. Wypakowujemy pliki aplikacji do wybranej lokalizacji, zalecamy C:\inetpub\eAdmin (ścieżka domyślna witryn IIS to C:\inetpub\<katalog_aplikacji>).
  3. Do wcześniej utworzonej witryny dodajemy aplikację.
    1. Uruchamiamy Menedżer internetowych usług informacyjnych (IIS) > w sekcji Połączenia (lewa strona) klikamy PPM na utworzonej wcześniej witrynie > wybieramy Dodaj aplikację....
      Menedżer internetowych usług informacyjnych > Dodaj witrynę sieci Web
    2. Pole Alias uzupełniamy dowolną nazwą, np. eAdmin. Ścieżka fizyczna to lokalizacja folderu, do którego wypakowaliśmy pliki aplikacji eAdmin.
      Dodawanie witryny sieci Web
    3. Zatwierdzamy klikając na przycisk OK.
  4. W pliku Admin.xml podajemy ścieżkę oraz dane dostępowe do bazy danych (Wzorcowy plik XML).
  5. Możemy edytować również plik Aktualizacje.xml, jednak można to zrobić później z poziomu aplikacji eAdmin - opis na stronie eAdmin instrukcja#Aktualizacje.
  6. Dodajemy uprawnienia modyfikacji dla grupy Użytkownicy do plików: AdminErrors.txt, Aktualizacje.xml, BackupPaths.xml oraz folderu /Downloads.
    Uprawnienia modyfikacji dla grupy Użytkownicy

Po wykonaniu powyższych czynności aplikacja eAdmin powinna poprawnie działać pod adresem http://localhost/eadmin. Domyślne dane do logowania do aplikacji eAdmin to:

login: admin
pass: admin

Zmienić je możemy poprzez kliknięcie w nazwę konta w prawym górnym rogu aplikacji i wybraniu opcji Zmień swój login i Zmień swoje hasło. W zakładce Zarządzanie użytkownikami możemy dodawać innych administratorów i zarządzać ich uprawnieniami. Uprawnienie Admin to uprawnienie o najwyższym poziomie, pozwala na korzystanie ze wszystkich funkcji jakie daje aplikacja eAdmin.

ePodatki Usługa Internetowa

Dodanie witryny ePodatki w IIS

  1. Pobieramy ze strony groszek.pl aktualną wersję programu ePodatkiUI (Usługa Internetowa).
  2. Wypakowujemy pliki aplikacji do wybranej lokalizacji, zalecamy C:\inetpub\ePodatkiUI (ścieżka domyślna witryn IIS to C:\inetpub\<katalog_aplikacji>).
  3. Dodajemy nową witrynę w IIS.
    1. Uruchamiamy Menedżer internetowych usług informacyjnych (IIS) > w sekcji Połączenia (lewa strona) klikamy PPM > wybieramy Dodaj witrynę sieci Web.
      Menedżer internetowych usług informacyjnych > Dodaj witrynę sieci Web
    2. Pole Nazwa witryny uzupełniamy dowolną nazwą, np. ePodatkiUI. Ścieżka fizyczna to lokalizacja folderu, do którego wypakowaliśmy pliki aplikacji ePodatkiUI.
      Dodawanie witryny sieci Web
    3. Zatwierdzamy klikając na przycisk OK.
Ogranicznie ISAPI i CGI

Klikamy przycisk Dodaj i dodajemy ścieżkę do pliku wykonywalnego dla naszej witryny.

Windows iis ograniczenia uprawnienie cgi dll.png

Uwaga!
ePodatkiUI może być wykonywana przez serwer IIS jako plik exe (obsługuje wolno żądania) lub jako biblioteka ładowana dynamicznie dll (obsługuje więcej żądań i szybciej).
W celu obsługi jako dll, wybieramy plik ServInfoSysISAPI.dll z podkatalogu isapi.
Uprawnienia do katalogu

Katalog z aplikacją ePodatkiUI powinien posiadać dodane odpowiednie uprawnienia. Klikamy PPM na katalogu, następnie zakładka Zabezpieczenia, klikamy Dodaj:

  • Klikamy Typy obiektów, zaznaczamy Konta usług, i OK,
  • Wprowadzamy nazwę IIS_WPG (dla innych wersji systemu Windows, nazwa użytkownika może się różnić. Jeśli korzystamy z innej wersji systemu, zalecamy wpisać IIS i zobaczyć wyniki wyszukiwania. Np. dla Windows 7 nazwa użytkownika będzie: IIS_IUSRS) w pole Wprowadź nazwy obiektów do wybrania i dodajemy, szukamy i dodajemy.

Windows okno uprawnienia katalogu iis.png

  • Dodajemy użytkownika IIS_WPG,
  • W/w użytkownikowi ustawiamy Modyfikacja na Zezwalaj.
filtrowanie żądań
ograniczenia ISAPI i CGI
Ustawienia FastCGI
mapowanie obsługi
dodanie dozwolonych rozszerzeń pliku (.exe, .xml)

ePodatkiUI (Usługa Internetowa) - konfiguracja

Instrukcja wstępnej konfiguracji aplikacji ePodatki jest dostępna na stronie EPodatki konfiguracja usługi sieciowej.

ePodatkiRO (Rejestr Osób) - konfiguracja

Aplikacja RejestrOsb.exe służy do zarządzania użytkownikami aplikacji ePodatki, jej szerszy opis znajdziemy na stronie ePodatki Rejestr Użytkowników.

eWizja

  1. Pobieramy ze strony groszek.pl aktualną wersje programu eWizja.
  2. Wypakowujemy pliki aplikacji do wybranej lokalizacji, zalecamy C:\inetpub\eWizja (ścieżka domyślna witryn IIS to C:\inetpub\<katalog_aplikacji>).
  3. Do wcześniej utworzonej witryny dodajemy aplikację.
    1. Uruchamiamy Menedżer internetowych usług informacyjnych (IIS) > w sekcji Połączenia (lewa strona) klikamy PPM na utworzonej wcześniej witrynie > wybieramy Dodaj aplikację....
      Menedżer internetowych usług informacyjnych > Dodaj witrynę sieci Web
    2. Pole Alias uzupełniamy dowolną nazwą, np. eWizja. Ścieżka fizyczna to lokalizacja folderu, do którego wypakowaliśmy pliki aplikacji eWizja.
      Dodawanie witryny sieci Web
    3. Zatwierdzamy klikając na przycisk OK.
  4. W pliku Web.config podajemy ścieżkę oraz dane dostępowe do bazy danych (Configuration > connectionStrings; zmieniamy database i datasource, ew. Port).

Po wykonaniu powyższych czynności aplikacja eWizja powinna poprawnie działać. Logowanie odbywa się z wykorzystaniem danych logowania z aplikacji Wizja. Administrator powinien poszczególnym operatorom przydzielić dostęp do wybranych komórek organizacyjnych korzystając ze słownika w aplikacji Wizja:

Konfiguracja > Słowniki roczne > Dostęp użytkowników do komórek organizacyjnych

Usługa sieciowa Finn

Usługi WCF

Do poprawnego działania usługi wymagane jest aktywowanie dodatkowej funkcji systemu Windows: .NET Framework 4.x > Usługi WCF > Aktywacja HTTP.

.NET Framework 4.x > Usługi WCF > Aktywacja HTTP

Dodawanie nowej witryny do IIS

  1. Wypakowujemy pliki usługi sieciowej do wybranej lokalizacji, np. C:\inetpub\FinnServiceClient (ścieżka domyślna witryn IIS to C:\inetpub\<katalog_aplikacji>).
  2. Dodajemy nową witrynę w IIS:
    1. Uruchamiamy Menedżer internetowych usług informacyjnych (IIS) > w sekcji Połączenia (lewa strona) klikamy PPM > wybieramy Dodaj witrynę sieci Web.
      Menedżer internetowych usług informacyjnych > Dodaj witrynę sieci Web
    2. Pole Nazwa witryny uzupełniamy dowolną nazwą, np. FinnServiceClient. Ścieżka fizyczna to lokalizacja folderu, do którego wypakowaliśmy pliki usługi sieciowej FinnServiceClient.
      Dodawanie witryny sieci Web
    3. W sekcji Powiązanie typ połączenia zmieniamy na https, Port ustawiamy na 44316, a następnie wybieramy nasz Certyfikat SSL.
    4. Zatwierdzamy klikając na przycisk OK.

Powiązania / Porty

Aby usługa działała musimy prawidłowo ustawić numery portów powiązanych z usługą w IIS.

Porty zdefiniowane w pliku Web.config

We wcześniejszym kroku ustawiliśmy już port 44316 dla https, pozostało nam ustawić port 55852 dla protokołu http. W tym celu w Menedżerze internetowych usług informacyjnych wchodzimy w dodaną witrynę. Z prawej strony okna, w sekcji Akcje klikamy na opcje Powiązania. Dodajemy tam nowe powiązanie, w którym Typ to http, a Port to 55852.

Witryna FinnServiceClient > Powiązania

Web.config - parametry

Edytując plik Web.config ustawiamy parametry usługi sieciowej.

connectionStrings

W sekcji connectionStrings podajemy ścieżkę bazy danych oraz nazwę użytkownika i hasło dostępu. Możemy również aktywować zapisywanie logów.

<connectionStrings>
<add name="FbConnection" connectionString="User=SYSDBA;Password=masterkey;Database=D:\Baza_danych\is_pdk.GDB;DataSource=localhost;Port=3050;Dialect=3;Charset=NONE;Role=;Connection lifetime=15;Pooling=true;MinPoolSize=0;MaxPoolSize=50;Packet Size=8192;ServerType=0;" providerName="FirebirdSql.Data.FirebirdClient" />
<add name="FbSecure" connectionString="true" />
<add name="LogFile" connectionString="C:\inetpub\FinnSoapService\log\Log.txt" />
<add name="Log" connectionString="true" />
</connectionStrings>
Uwaga! Zapisywanie logów w pliku Log.txt wymaga nadanie uprawnień do zapisu dla folderu log dla użytkownika IIS_WPG.

Rozmiar przesyłanych plików

Sekcja bindings określa maksymalny rozmiar pliku, który może zostać przesłany.

<bindings>
<basicHttpBinding>
<binding maxReceivedMessageSize="300485760">
</binding>
</basicHttpBinding>
<basicHttpsBinding>
<binding maxReceivedMessageSize="300485760">
</binding>
</basicHttpsBinding>
</bindings>

Status usługi sieciowej

Status usługi sieciowej możemy sprawdzić wchodząc na stronę https://localhost:44316/BrokerWebService.svc, jeśli wyświetli się strona jak na obrazku poniżej oznacza to, że usługa działa prawidłowo.

Działająca usługa FinnServiceClient

Konfiguracja po stronie Podatków

Pozostaje skonfigurować EOB w aplikacji Podatki, opis znajduje się na stronie ViDOK konfiguracja repozytorium dokumentów#Finn.