Ako dostať web z notebooku na vlastnú doménu

Web, ktorý ti beží na počítači, ešte nie je na internete. Medzi tým je päť krokov, ktoré majú vlastné názvy a prvýkrát znejú horšie, než sú.

Autor: Ing. Martin Bugár3 min čítania

Toto je moment, na ktorom uviazne väčšina ľudí, čo si postavili prvý web. Na notebooku funguje, vyzerá dobre, otvára sa na adrese localhost:8000 — a nikto iný ho nevidí. localhost znamená „tento počítač" a viac to neznamená.

Cesta odtiaľ na tvojafirma.sk má päť krokov. Tu sú v poradí, v akom sa robia, aj s tým, čo sa v ktorom dá pokaziť.

1. Doména

Kúpiš ju u registrátora. Pre .sk napríklad Websupport alebo Forpsi, pre .com Namecheap alebo Cloudflare. Platíš na rok dopredu.

Čo si overiť: cenu obnovy, nie cenu prvého roka. A že registrátor ponúka správu DNS záznamov, čo dnes ponúka každý.

Doména sama o sebe nerobí nič. Je to len meno, ktoré zatiaľ neukazuje nikam.

2. Server

Miesto, kde bude web naozaj bežať. Ak je web statický — text, obrázky, žiadny formulár, ktorý by dáta ukladal — preskoč tento krok, Netlify alebo Cloudflare Pages to zvládnu zadarmo.

Ak web potrebuje backend, potrebuješ server. Buď si vezmeš virtuálny server (Hetzner, DigitalOcean, 5–10 € / $ mesačne) a nastavíš ho, alebo použiješ nástroj, ktorý to spraví za teba — Laravel Forge server nainštaluje, nakonfiguruje a napojí na tvoj repozitár.

Prvá cesta je lacnejšia a naučíš sa pri nej viac. Druhá ti ušetrí popoludnie neistoty — a to popoludnie by si aj tak zaplatil, len inak.

3. DNS

Tu sa doména spojí so serverom. V správe domény uprav záznam A pre @ tak, aby ukazoval na IP adresu servera (ak už existuje, nepridávaj druhý), a rovnako pre www. Záznamy AAAA pre tieto mená zmaž, inak časť návštev pôjde na starú adresu.

Dve veci, ktoré prekvapia každého prvýkrát:

  • Trvá to. Zmena sa šíri internetom desiatky minút, niekedy hodiny. Ak to hneď nefunguje, nie je to nutne chyba.
  • Tvoj prehliadač klame. Keď raz nájde starú adresu, pamätá si ju. Otestuj v anonymnom okne alebo na mobilných dátach.

4. Nasadenie

Dostať kód z notebooku na server. Neprenášaj súbory ručne cez FTP — nie preto, že by to nešlo, ale preto, že o mesiac nebudeš vedieť, ktorá verzia je kde.

Správna cesta: kód je v gite, na GitHube, a server si ho stiahne. S Forge to znamená jedno kliknutie a odvtedy sa web aktualizuje sám vždy, keď pošleš zmenu. Bez neho je to jeden skript, ktorý spustíš.

Toto je krok, pri ktorom sa najčastejšie zabudne na jednu vec: súbor .env sa nenahráva. Heslá a kľúče patria na server ručne, nie do repozitára. Ak si už niečo také omylom nahral, zmeň to — raz zverejnený kľúč je zverejnený navždy.

5. HTTPS

Zámok v adresnom riadku. Bez neho prehliadač návštevníkovi napíše „nezabezpečené" a Google to berie ako signál pri hodnotení.

Je zadarmo. Let's Encrypt vydáva certifikáty automaticky a každý rozumný hosting aj Forge to majú na jedno tlačidlo. Certifikát platí tri mesiace a obnovuje sa sám — ak si ho nastavil ručne a obnovu nie, o tri mesiace ti web prestane fungovať a nebudeš vedieť prečo.

Keď to nefunguje

Poradie, v akom hľadať:

  1. Ukazuje doména na správnu IP? Skús dig tvojadomena.sk alebo online DNS checker.
  2. Beží na tej IP vôbec niečo? Otvor IP adresu priamo v prehliadači.
  3. Beží tam tvoj web, alebo uvítacia stránka servera? To sú dva veľmi odlišné problémy.
  4. Čo je v logu? Server aj aplikácia si píšu, čo sa im nepáčilo. Prvá vec, ktorú treba pozrieť, a posledná, ktorú si niekto spomenie.

Koľko to trvá

Prvýkrát počítaj s hodinou až dvomi, z toho polovica je čakanie na DNS. Druhýkrát desať minút. Je to jedna z tých vecí, ktoré vyzerajú ako priepasť, kým cez ne raz neprejdeš — a potom sú to štyri políčka vo formulári a jedno tlačidlo.

Časté otázky

Prečo môj web vidí len môj počítač?

Lebo beží na adrese `localhost`, a `localhost` znamená „tento počítač" a viac to neznamená. Aby ho videl niekto iný, musí bežať na serveri, na ktorý ukazuje doména.

Ako nasmerujem doménu na server?

V správe domény uprav záznam `A` pre `@` tak, aby ukazoval na IP adresu servera (ak už existuje, nepridávaj druhý), a rovnako pre `www`. Záznamy `AAAA` pre tieto mená zmaž, inak časť návštev pôjde na starú adresu. Zmena sa šíri internetom desiatky minút až hodiny, takže keď to hneď nefunguje, nemusí to byť chyba.

Prečo mi web po zmene DNS stále nejde?

Najčastejšie preto, že tvoj prehliadač si pamätá starú adresu. Otestuj v anonymnom okne alebo na mobilných dátach, než začneš hľadať chybu inde.

Mám nahrávať súbory cez FTP?

Nie. Nie preto, že by to nešlo, ale preto, že o mesiac nebudeš vedieť, ktorá verzia je kde. Kód patrí do gitu a server si ho stiahne — s Laravel Forge je to jedno kliknutie a odvtedy sa web aktualizuje sám.

Čo sa pri nasadení najčastejšie pokazí?

Že sa do repozitára omylom dostane súbor `.env`. Heslá a kľúče patria na server ručne. Ak sa to už stalo, kľúče treba zmeniť — raz zverejnený kľúč je zverejnený navždy.