Własny "hosting" - ASP .NET Core, PHP, narzędzia

0

Witam.
Chciałbym postawić własną maszynę do hostingu wewnętrznego. Mam kilka aplikacji napisanych w ASP .NET Core + Angular oraz parę stron na Wordpressie.

Zestaw pytań:

  1. Czy jestem w stanie ogarnąć hosting .NET Core na tej samej maszynie co PHP?
  2. Jak z bazą danych do .NET Core, jakie narzędzia do SQL Server, czy najlepszym wyjściem jest MySQL/MariaDB?
  3. Czy istnieją jakieś narzędzia (panel) do zarządzania stronami, dodawanie, edycja w wyżej wymienionych technologiach?
  4. Czy to ma sens?
1

1 tak, np. Reverse proxy przez nginx, 2 dowolna, 3 sa, np. Plask( to lamerstwo), 4. To nie forum filozoficzne, dzialac bedzie poprawnie.

0
  1. Wydaje mi się, że tak (nginx)
  2. Ja np używam postgresa
  3. Chyba nie, najszybciej to chyba docker
  4. Jak nie spróbujesz to nie będziesz wiedział :P
0

@renderme:
O sens bardziej miałem na myśli, czy nie skorzystać z gotowych rozwiązań i nie bawić się w swoje głupoty. Nie jestem w tym orłem, ale też nie jest tak, że nic nie wiem i to nie będzie mój pierwszy kontakt z jakimkolwiek serwerem.

@szydlak
Chyba tak zrobię, ale jak mi się będzie to podobało to chciałbym sobie na przyszłość życie ułatwić i wiedzieć czego się spodziewać.

2

Jeśli mogę coś poradzić, to postaw sobie na jakimś kompie VMware (oczywiście - wersję darmową), a następnie możesz sobie odpalić na tym kilka wirtualek. Po pierwsze - masz praktycznie nieograniczone możliwości instalowania różnych systemów, do tego nic z niczym nie będzie się kłócić, a ponadto wirtualki są wygodne do przenoszenia. Przykładowo - stawiasz sobie jakiś serwer SQL na fizycznej maszynie, która za pewien czas padnie - jesteś odcięty od usługi. Jeśli natomiast padnie Ci hypervisor (serwer wirtualizacji) to instalujesz ESXi gdziekolwiek, potem przenosisz pliki z obrazami systemów i po chwili masz wszystko dostępne i działające tak, jak przed awarią.

czy nie skorzystać z gotowych rozwiązań i nie bawić się w swoje głupoty. Nie jestem w tym orłem

Jeśli to ma być serwer na własne potrzeby, a w szczególności nie planujesz wystawiać go na świat ani dawać wielu niepewnym osobom do niego dostępu, to na pewno sobie poradzisz. Samo postawienie serwera jest czymś trywialnym, schody zaczynają się wtedy, gdy chcesz go używać profesjonalnie i w związku z czym trzeba go zabezpieczyć przed atakami, zapewnić wysoką wydajność i dostępność. Przy takim zastosowaniu na własne potrzeby to nie powinieneś mieć problemów.

0

Czy jestem w stanie ogarnąć hosting .NET Core na tej samej maszynie co PHP?

Tak, ja tak mam zrobione. Poza tym czy słyszałeś o naszym panu i zbawcy, Dockerze? ;)

Jak z bazą danych do .NET Core, jakie narzędzia do SQL Server, czy najlepszym wyjściem jest MySQL/MariaDB?

Używam głównie MySQL do .NET Core, ale jest również MSSQL na Linuksa (i jest też obraz Dockera MSSQL for Linux). Niestety Pomelo.EntityFrameworkCore.MySql jeszcze nie jest dostępne dla EF Core 3.0.

Czy istnieją jakieś narzędzia (panel) do zarządzania stronami, dodawanie, edycja w wyżej wymienionych technologiach?

To akurat robię ręcznie.

Czy to ma sens?

Oczywiście :)

0

Docker do dla mnie czarna magia, chyba jestem zbyt staroświecki. Widzę, że bardzo dużo ludzi o nim piszę. Nie wiem czy dobrze zrozumiałem, ale docker nie jest tylko do developerki? Można na tym też "pełnoprawnie" hostować gotowe projekty? Jeśli będę miał 5 stron i nie chciałbym łączyć się do nich po dziwnych portach, jak to przekierować?

1

Tak, jak najbardziej również (a może nawet przede wszystkim) do produkcji. Docker jest o tyle fajny, że zapewnia po prostu izolację środowisk, dzięki czemu nie instalujesz niczego "globalnie" i bez problemu możesz mieć dwie różne wersje bibliotek jednocześnie.

Aby zapewnić widoczność strony pod "normalnymi" portami możesz wykorzystać reverse proxy - ja mam tak postawionego nginx, który zapewnia również terminowanie SSL.

Przykład konfiguracji nginx:

server {
    listen 80;
    listen 443 ssl;

    server_name jakastamusluga.pl; # na takim vhoście sobie siedzi

    location / {
        proxy_pass http://localhost:5011; # tutaj przekierowuje do dziwnego portu lokalnego - akurat tutaj jest to Kestrel, z aplikacji ASP.NET Core uruchomionej przez dotnet run
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection keep-alive;
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }

    # a tutaj automatycznie wygenerowana konfiguracja dla Let's Encrypt
    ssl_certificate /etc/letsencrypt/live/jakastamusluga.pl/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/jakastamusluga.pl/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
0

Rozumiem, że zostaje mi tylko dokumentacja dockera, aby ogarnąć wymarzony efekt końcowy? Nie ma żadnych tutoriali pt.: "Jak hostować www za pomocą dockera"?

0

Ale nie musisz iść w stronę Dockera. Równie dobrze możesz zrobić tak, jak pisałem, czyli zainstalować VMware i na nim postawić wirtualki z systemami zapewniającymi usługi typu serwer WWW czy SQL.

0

Ja jestem otwarty na propozycje. Z Fluttera do tej pory nie potrafię się wyleczyć. Pomysłów masa, a czasu mało :D
Chciałbym stworzyć system, który będzie mi służył, między innymi, do obsługi klientów indywidualnych, takich co bym robił prywatnie i do klientów firmy, w której pracuje. Ktoś będzie chciał Wordpressa, cyk i ma, może sobie z tym robić co chce. Ktoś chce poważniejsze oprogramowanie to też jest miejsce, żeby mu je wystawić. Na początek, dla testów i nauki, używany byłby do naszych wewnętrznych projektów i do testów projektów niegotowych. Na pierwszy ogień poszła by strona firmowa (Wordpress) i aplikacje wewnętrzne (ASP .NET Core + Angular).

Jeśli ustalę sobie jeden sposób zarządzania to raczej przy nim będę się trzymał póki coś nie sprawi, że zacznę "rzucać mięsem" ;-)

1
cerrato napisał(a):

Ale nie musisz iść w stronę Dockera. Równie dobrze możesz zrobić tak, jak pisałem, czyli zainstalować VMware i na nim postawić wirtualki z systemami zapewniającymi usługi typu serwer WWW czy SQL.

Tylko nie wiem po co tak marnować zasoby na domowym komputerze. Docker jest prosty do tak podstawowych rzeczy, są gotowe obrazy zawierające już kompletne środowisko asp.net core, sql server już działający itd.

W zasadzie nie trzeba niczego samemu konfigurować:
https://hub.docker.com/_/microsoft-dotnet-core
https://hub.docker.com/_/microsoft-mssql-server

Są nawet graficzne narzędzia do zarządzania obrazami, jak np https://www.portainer.io/

P.S. jeśli komuś chodzi po głowie używanie Dockera na Windows, to odradzam. Przynajmniej do czasu, gdy wejdzie Docker na WSL2, to co jest teraz to jest totalne g**no z wielu powodów, o których nie chce mi się tu rozpisywać

0

Protip:
Jeżeli ma to być sieć lokalna, testowa, bez ssl, to możesz bez dockera odpalać różne serwery na różnych portach bez właściwie żadnej konfiguracji.

1
AdamWox napisał(a):

Ktoś będzie chciał Wordpressa, cyk i ma

Cyk i jest - piękno Dockera. Stawiasz dowolną rzecz w kilka sekund i zawsze działa, nawet pierdyliard wersji jednocześnie.
Poza Nginxem możesz też sprawdzić Traefk, jak już ogarniesz Dockera. Nie wiem jak w przypadku Nginx, ale Traefika też można odpalić w kontenerze :)
https://docs.traefik.io/getting-started/quick-start/

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