# Nasadenie webu

## Kam patria vaše súbory

Každá doména vášho účtu má svoj priečinok a jej web sa poskytuje z priečinka `public_html`, ktorý obsahuje:

```
/home/USERNAME/domains/your-domain.com/public_html
```

`USERNAME` je prihlasovacie meno vášho účtu, zobrazené vo vašej zákazníckej zóne. Súbor `index.php` alebo `index.html` nahraný do `public_html` sa stane úvodnou stránkou vášho webu.

## Nahranie súborov

Do toho istého priečinka vedú tri cesty; zvoľte tú, ktorá vám vyhovuje.

### Správca súborov

V paneli, **File Manager**: nahrajte súbory z prehliadača, vrátane archívu `.zip`, ktorý rozbalíte priamo na mieste. Pre niekoľko súborov je to najrýchlejšia cesta.

### Šifrované FTP (FTPS)

V programe FTP, ako je FileZilla:

| Nastavenie             | Hodnota                                                                     |
| ---------------------- | --------------------------------------------------------------------------- |
| **Protokol**           | FTP, s **explicitným šifrovaním TLS** (FTPS)                                |
| **Hostiteľ**           | názov vášho servera, napríklad `web1.simafri.cloud`                         |
| **Port**               | `21`                                                                        |
| **Prihlasovacie meno** | prihlasovacie meno vášho účtu alebo účet FTP vytvorený v **FTP Management** |
| **Heslo**              | heslo k panelu alebo heslo účtu FTP                                         |

Šifrovanie TLS chráni vaše heslo aj súbory počas prenosu; vo FileZille zvoľte **Vyžadovať explicitné FTP cez TLS**. Účet FTP vytvorený v **FTP Management** má tvar `name@your-domain.com` a dá sa obmedziť na jeden priečinok, napríklad pre externého dodávateľa.

### SSH a SFTP

Prístup SSH prebieha pomocou **kľúča**, ktorý uložíte v paneli:

1. Ešte nemáte kľúč? Na svojom počítači spustite `ssh-keygen -t ed25519` a otvorte súbor, ktorý končí na `.pub`: to je váš **verejný** kľúč.
2. V paneli otvorte **SSH Keys** a vložte svoj verejný kľúč.
3. Pripojte sa:

```
ssh USERNAME@web1.simafri.cloud
```

Ten istý kľúč otvára **SFTP** (port `22`) vo FileZille alebo WinSCP. Ukladá sa iba verejný kľúč: váš súkromný kľúč zostáva na vašom počítači.

## Voľba verzie PHP

Každá doména si volí svoju verziu PHP v **PHP Version Selector**. K dispozícii sú dnes **PHP 8.4**, **8.3** (predvolená verzia), **8.1** a **7.4**, s OPcache a bežnými rozšíreniami: intl, mbstring, gd, curl, zip, xml, sodium, bcmath, soap, PDO pre MySQL a SQLite. Vaša aplikácia vyžaduje inú verziu? Napíšte podpore: náš tím ju pridá.

## Vytvorenie databázy

1. V paneli otvorte **MySQL Databases** a vytvorte databázu: jej názov a používateľ majú tvar `USERNAME_nazov`.
2. Poznačte si heslo používateľa.
3. Vo svojej aplikácii uveďte:

| Nastavenie                    | Hodnota                                                   |
| ----------------------------- | --------------------------------------------------------- |
| **Hostiteľ**                  | `localhost`                                               |
| **Port**                      | `3306`                                                    |
| **Databáza** a **používateľ** | tie, ktoré ste práve vytvorili, napríklad `USERNAME_site` |

**phpMyAdmin**, otvorený z tej istej sekcie, importuje súbor `.sql`, exportuje vašu databázu a prechádza vaše tabuľky.

## Composer, Node.js a frameworky

Cez SSH na vašom hostingu beží:

* **Composer 2**: `composer install`, `composer update`;
* **Node.js 24** a **npm**: `npm install`, `npm run build` na zostavenie front-endu alebo assetov;
* **Git**, **Python 3** a **Perl**.

Pri **Symfony** alebo **Laraveli** je koreňom webu domény priečinok `public/` projektu. Nahrajte projekt vedľa `public_html` a potom nahraďte `public_html` odkazom na jeho priečinok `public/`:

```
cd ~/domains/your-domain.com

mv public_html public_html.original

ln -s my-project/public public_html
```

Príkazy frameworku (`php bin/console`, `php artisan`) sa spúšťajú v priečinku projektu. Pri front-ende v **Angular**, **React** alebo **Vue** nahrajte výsledok `npm run build` do `public_html`, so súborom `.htaccess`, ktorý smeruje cesty na `index.html`.

Aplikácia, ktorá musí bežať nepretržite, napríklad server Node.js alebo front správ, patrí na [VPS Pro](https://docs.simafri.com/sk/vps-pro/).

## Naplánovanie úlohy

V **Cron Jobs** uveďte frekvenciu a príkaz, napríklad každý deň o 3:00:

```
0 3 * * * /usr/local/bin/php /home/USERNAME/domains/your-domain.com/my-project/bin/console app:cleanup
```

## HTTPS vašich domén

Každá doména a subdoména dostane svoj **certifikát HTTPS** Let's Encrypt, vyžiadaný a obnovovaný automaticky, hneď ako doména smeruje na váš server. **SSL/TLS Certificates** zobrazuje certifikát každej domény. Ak chcete návštevníkov vždy posielať na adresu `https://`, pridajte na začiatok súboru `.htaccess` v priečinku `public_html`:

```
RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
```

## Časté otázky

### Môj web stále zobrazuje predvolenú stránku.

Vaša úvodná stránka musí byť priamo v `public_html`, pod názvom `index.php` alebo `index.html`, a nie v podpriečinku. Ak tam predvolená stránka stále je, odstráňte ju.

### Ako nainštalujem WordPress?

Napíšte podpore a uveďte doménu: náš tím nainštaluje WordPress na váš hosting a odovzdá vám prístup do jeho administrácie.

### Moje pripojenie SSH je odmietnuté.

Overte, že váš **verejný** kľúč je uložený v **SSH Keys** a že sa pripájate **Prihlasovacím menom** svojho účtu. Pripojenie SSH prebieha pomocou kľúča: váš program musí použiť súkromný kľúč, ktorý zodpovedá uloženému kľúču.
