Deployment apki na IIS

0

Cześć,

stworzyłem swoj pierwszy projekt asp.net i chciałbym go opublikowac na firmowym serwerze (2008 R2). Ponizej pliki konfiguracyjne:

 <authentication mode="Forms">
      <forms loginUrl="~/Login/Logowanie" timeout="2280"></forms>
    </authentication>
<add name="ccarEntities" connectionString="metadata=res://*/ccarDaneEF.csdl|res://*/ccarDaneEF.ssdl|res://*/ccarDaneEF.msl;provider=System.Data.SqlClient;provider connection string="Data Source=SLSVMDB01;Initial Catalog=ccar;User Id=MoldTracker;Password=******;integrated security=False;multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient" />
<add name="ccarMeetingMinutesEntities" connectionString="metadata=res://*/ccarMMdaneEF.csdl|res://*/ccarMMdaneEF.ssdl|res://*/ccarMMdaneEF.msl;provider=System.Data.SqlClient;provider connection string="data source=SLSVMDB01;initial catalog=ccarMeetingMinutes;persist security info=True;user id=MoldTracker;password=*******;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />

To co robie:

  1. Publikuje apilkacje w VS do folderu.
  2. Folder kopiuje na server, np. na dysk c:
  3. Dodaje website do sites
  4. Tutaj mam wrazenie pojawia sie pierwszy problem:

screenshot-20190930132926.png

  1. Stronka oczywiscie sie nie odpala.

Jeszcze zrzut z pool:

screenshot-20190930133016.png

Czy ktos moze mnie naprowadzić, co jest nie tak. Nigdy nie uzywałem IIS.

1

Z tego co kiedyś robiłem to do folderu gdzie jest aplikacja trzeba było dać odpowiednie uprawnienia
https://stackoverflow.com/questions/14934006/iis-iusrs-and-iusr-permissions-in-iis8

1

Obok Test Settings masz guzik Connect as..., wybierz opcję Określony użytkownik, w nowym oknie wpisz nazwę oraz hasło konta administracyjnego.

0

Robiłem deployment w pracy. Szedłem według tego opisu. Deployment się udał: https://docs.microsoft.com/pl-pl/aspnet/core/host-and-deploy/iis/?view=aspnetcore-3.0

0

Wiem, ja też robiłem według wielu opisów i żaden mi nie pomógł z tym problemem, aż sam nie zrobiłem tego co tutaj opisałem.

0

Hej.
Mi się wydaje, że problem jest brak uprawnień.
Ja standardowo wrzucam pliki do katalogu C:\inetpub\moja_apka.
Na Twoich screenach widać, że wskazujesz ścieżkę ze swojego pulpitu.
Pula aplikacji dla Twojej apki ma domyślnie ustawiony ApplicationPoolIdentity - w uproszczeniu to taki specjalny użytkownik IIS i moim zdaniem nie będzie on miał uprawnień do plików na twoim pulpicie.
Proponuję wrzucić pliki aplikacji do pliku C:\inetpub.
Jak to nie pomoże to spróbuj zmienić użytkownika na którym pracuje pula aplikacji ccar.

Pozdrawiam

0

@GigaKatowice:
Robiłem to też jak miałem ten sam problem. Nie jest to tylko kwestia dostępu do folderu, ponieważ ja ustawiłem u siebie pełną kontrole na wszystko możliwe i dalej miałem ten błąd. Jedynie dopisanie użytkownika i hasła w opcji Connect as... pomogła. Usunąłem wcześniejsze uprawnienia dla wszystkich do folderów i dalej działa. Nie drążyłem tematu dlaczego.

Proponuję wrzucić pliki aplikacji do pliku C:\inetpub.

Co jeśli chcesz hostować kilka aplikacji? Rozwiązaniem będzie wrzucać wszystko do jednego worka?

0

Co do uprawnień nie będę się spierał - z zasady (best practice) pula aplikacji powinna chodzić na koncie z jak najniższymi uprawnieniami.

Co do ścieżki C:\inetpub może wyraziłem się niezbyt jasno.
Każdą aplikacje wrzucam do osobnego katalogu w c:\inetpub.
U mnie wygląda to tak:
screenshot-20191003110720.png

0

Każdą aplikacje wrzucam do osobnego katalogu w c:\inetpub.

Nie tak to zabrzmiało, stąd mój komentarz.

pula aplikacji powinna chodzić na koncie z jak najniższymi uprawnieniami.

I do pewnego momentu tak to działało.

Napisałem apkę w ASP .NET Core 1.1, wrzuciłem według tutoriala do IIS i działa do teraz. Pół roku później napisałem apkę w ASP .NET Core 2.1, wrzuciłem do IIS w ten sam sposób i nie działało. Albo coś jest nie tak w .NET Core, albo coś jest nie tak z IIS + .NET Core, ponieważ naglę się obudzili, że w którymś z tych produktów potrzebne jest lepsze bezpieczeństwo, jednocześnie uprzykrzając nam życie podczas wdrażania. Boje się co będzie jak będę musiał wdrożyć ASP .NET Core 3.0, a zbliża się to na horyzoncie... ;-)

0

To może pytanie do autora pytania.
W jakiej technologi uruchamia applikację?
I czy nasze odpowiedzi coś pomogły.

0
GigaKatowice napisał(a):

To może pytanie do autora pytania.
W jakiej technologi uruchamia applikację?
I czy nasze odpowiedzi coś pomogły.

Czesc , dzieki za odpowiedzi. Uruchamiam projekt asp.net mvc , .net framework 4.5.2

Miałem cos takiego:
screenshot-20191003162239.png

Wyglada tak jakby lokalizacja folderu nie posiadała jednego z domyslnych dokumentów typu:
screenshot-20191003162430.png

W plikach aplikacji mam Global.asax. WIec dodaje recznie w Default Document Global.asax,

I dostaje cos takiego:
screenshot-20191003162714.png

Wiec w MIME Types dodaje rozszrezenie .asax MIME type: application/xml
Odpalam website i dostaje putsą strone.
screenshot-20191003162925.png

Moze po prostu asp.net nie jest wlaczony i musze zrobic aspnet_regiis -i (nie mam uprawnien na serwerze do tego) ? Albo obsluga tresci w website nie jest wlaczona :(
Kurcze nie sadze, zeby to bylo takie trudne, a jednoczensie koncza mi sie opcje...

0

Ok. Faktycznie: C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir w cmd pomogło(z poziomu admina). asp.net 4.0 nie był zarejstrowany w IIS.
Dzięki za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1