# Saidi avaldamine

## Kuhu teie failid lähevad

Igal teie konto domeenil on oma kaust ja selle saiti serveeritakse selles asuvast kaustast `public_html`:

```
/home/KASUTAJANIMI/domains/minu-firma.ee/public_html
```

`KASUTAJANIMI` on teie konto kasutajanimi, mis on kuvatud teie kliendialas. Kausta `public_html` lisatud fail `index.php` või `index.html` muutub teie saidi avaleheks.

## Failide üleslaadimine

Samasse kausta viib kolm teed; valige see, mis teile sobib.

### Failihaldur

Juhtpaneelis **File Manager**: laadige oma failid üles brauserist, ka `.zip`-arhiiv, mille pakite kohapeal lahti. See on kiireim tee mõne faili jaoks.

### Krüpteeritud FTP (FTPS)

FTP-programmis, näiteks FileZillas:

| Seade            | Väärtus                                                                  |
| ---------------- | ------------------------------------------------------------------------ |
| **Protokoll**    | FTP, **otsese TLS-krüpteerimisega** (FTPS)                               |
| **Host**         | teie serveri nimi, näiteks `web1.simafri.cloud`                          |
| **Port**         | `21`                                                                     |
| **Kasutajanimi** | teie konto kasutajanimi või jaotises **FTP Management** loodud FTP-konto |
| **Parool**       | juhtpaneeli parool või FTP-konto parool                                  |

TLS-krüpteerimine kaitseb ülekande ajal teie parooli ja faile; valige FileZillas **Require explicit FTP over TLS**. Jaotises **FTP Management** loodud FTP-konto on kujul `nimi@minu-firma.ee` ja selle saab piirata ühe kaustaga, näiteks teenusepakkuja jaoks.

### SSH ja SFTP

SSH-juurdepääs käib **võtmega**, mille lisate juhtpaneelil:

1. Võtit veel pole? Käivitage oma arvutis `ssh-keygen -t ed25519` ja avage seejärel fail, mis lõpeb laiendiga `.pub`: see on teie **avalik** võti.
2. Avage juhtpaneelil **SSH Keys** ja kleepige oma avalik võti.
3. Looge ühendus:

```
ssh KASUTAJANIMI@web1.simafri.cloud
```

Sama võti avab **SFTP** (port `22`) FileZillas või WinSCP-s. Lisatakse ainult avalik võti: teie privaatvõti jääb teie arvutisse.

## PHP versiooni valimine

Iga domeen valib oma PHP versiooni jaotises **PHP Version Selector**. Täna on pakutavad **PHP 8.4**, **8.3** (vaikeversioon), **8.1** ja **7.4**, koos OPcache'i ja levinud laiendustega: intl, mbstring, gd, curl, zip, xml, sodium, bcmath, soap, PDO MySQL-i ja SQLite'i jaoks. Teie rakendus vajab muud versiooni? Kirjutage klienditoele: meie meeskond lisab selle.

## Andmebaasi loomine

1. Avage juhtpaneelil **MySQL Databases** ja looge andmebaas: selle nimi ja kasutaja on kujul `KASUTAJANIMI_nimi`.
2. Pange kirja kasutaja parool.
3. Sisestage oma rakenduses:

| Seade                         | Väärtus                                             |
| ----------------------------- | --------------------------------------------------- |
| **Host**                      | `localhost`                                         |
| **Port**                      | `3306`                                              |
| **Andmebaas** ja **kasutaja** | need, mille just lõite, näiteks `KASUTAJANIMI_sait` |

Samast jaotisest avatav **phpMyAdmin** impordib `.sql`-faili, ekspordib teie andmebaasi ja sirvib teie tabeleid.

## Composer, Node.js ja raamistikud

SSH kaudu käitab teie majutus:

* **Composer 2**: `composer install`, `composer update`;
* **Node.js 24** ja **npm**: `npm install`, `npm run build` teie kasutajaliidese või ressursside kompileerimiseks;
* **Git**, **Python 3** ja **Perl**.

**Symfony** või **Laravel** puhul on domeeni veebijuur projekti kaust `public/`. Paigutage oma projekt kausta `public_html` kõrvale ja asendage seejärel `public_html` lingiga projekti kaustale `public/`:

```
cd ~/domains/minu-firma.ee

mv public_html public_html.algne

ln -s minu-projekt/public public_html
```

Raamistiku käsud (`php bin/console`, `php artisan`) käivitatakse projekti kaustas. **Angular**-, **React**- või **Vue**-kasutajaliidese puhul paigutage käsu `npm run build` tulemus kausta `public_html` koos failiga `.htaccess`, mis suunab marsruudid faili `index.html`.

Pidevalt töötavale rakendusele, näiteks Node.js serverile või sõnumijärjekorrale, on õige koht [VPS Pro](https://docs.simafri.com/ee/vps-pro/).

## Toimingu ajastamine

Märkige jaotises **Cron Jobs** sagedus ja käsk, näiteks iga päev kell 3:

```
0 3 * * * /usr/local/bin/php /home/KASUTAJANIMI/domains/minu-firma.ee/minu-projekt/bin/console app:puhastus
```

## Teie domeenide HTTPS

Iga domeen ja alamdomeen saab oma Let's Encrypti **HTTPS-sertifikaadi**, mida taotletakse ja uuendatakse automaatselt niipea, kui domeen osutab teie serverile. **SSL/TLS Certificates** näitab iga domeeni sertifikaati. Et suunata külastajad alati aadressile `https://`, lisage kausta `public_html` faili `.htaccess` algusesse:

```
RewriteEngine On

RewriteCond %{HTTPS} off

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

## Korduma kippuvad küsimused

### Minu sait näitab endiselt vaikelehte.

Teie avaleht peab asuma otse kaustas `public_html`, nimega `index.php` või `index.html`, mitte alamkaustas. Kustutage vaikeleht, kui see on veel seal.

### Kuidas WordPressi paigaldada?

Kirjutage klienditoele ja märkige domeen: meie meeskond paigaldab WordPressi teie majutusse ja annab teile juurdepääsu selle haldusele.

### Minu SSH-ühendus lükatakse tagasi.

Kontrollige, et teie **avalik** võti on jaotises **SSH Keys** ja et ühendute oma konto **Kasutajanimega**. SSH-ühendus käib võtmega: teie programm peab kasutama privaatvõtit, mis vastab lisatud võtmele.
