# Uw site online zetten

## Waar uw bestanden komen

Elk domein van uw account heeft een eigen map, en de site wordt geserveerd vanuit de map `public_html` daarin:

```
/home/GEBRUIKERSNAAM/domains/mijn-bedrijf.nl/public_html
```

`GEBRUIKERSNAAM` is de gebruikersnaam van uw account, die in uw klantenruimte staat. Een bestand `index.php` of `index.html` in `public_html` wordt de startpagina van uw site.

## Uw bestanden plaatsen

Drie wegen leiden naar dezelfde map; kies de weg die bij u past.

### De bestandsbeheerder

In het configuratiescherm, **File Manager**: upload uw bestanden vanuit uw browser, ook een `.zip`-archief, dat u ter plekke uitpakt. Dat is de snelste weg voor een paar bestanden.

### Versleutelde FTP (FTPS)

In een FTP-programma zoals FileZilla:

| Instelling         | Waarde                                                                                |
| ------------------ | ------------------------------------------------------------------------------------- |
| **Protocol**       | FTP, met **expliciete TLS-versleuteling** (FTPS)                                      |
| **Host**           | de naam van uw server, bijvoorbeeld `web1.simafri.cloud`                              |
| **Poort**          | `21`                                                                                  |
| **Gebruikersnaam** | de gebruikersnaam van uw account, of een FTP-account aangemaakt in **FTP Management** |
| **Wachtwoord**     | dat van het configuratiescherm, of dat van het FTP-account                            |

De TLS-versleuteling beschermt uw wachtwoord en uw bestanden tijdens de overdracht; kies in FileZilla **Expliciete FTP over TLS vereisen**. Een FTP-account aangemaakt in **FTP Management** heeft de vorm `naam@mijn-bedrijf.nl` en kan worden beperkt tot één map, bijvoorbeeld voor een externe dienstverlener.

### SSH en SFTP

SSH-toegang werkt met een **sleutel**, die u in het configuratiescherm opslaat:

1. Nog geen sleutel? Voer op uw computer `ssh-keygen -t ed25519` uit en open daarna het bestand dat eindigt op `.pub`: dat is uw **openbare** sleutel.
2. Open in het configuratiescherm **SSH Keys** en plak daar uw openbare sleutel.
3. Maak verbinding:

```
ssh GEBRUIKERSNAAM@web1.simafri.cloud
```

Dezelfde sleutel opent **SFTP** (poort `22`) in FileZilla of WinSCP. Alleen de openbare sleutel slaat u op: uw privésleutel blijft op uw computer.

## De PHP-versie kiezen

Elk domein kiest zijn PHP-versie in **PHP Version Selector**. Vandaag beschikbaar zijn **PHP 8.4**, **8.3** (de standaardversie), **8.1** en **7.4**, met OPcache en de gangbare extensies: intl, mbstring, gd, curl, zip, xml, sodium, bcmath, soap, PDO voor MySQL en SQLite. Vraagt uw applicatie een andere versie? Schrijf naar de ondersteuning: ons team voegt die toe.

## Een database aanmaken

1. Open in het configuratiescherm **MySQL Databases** en maak een database aan: de naam en de gebruiker hebben de vorm `GEBRUIKERSNAAM_naam`.
2. Noteer het wachtwoord van de gebruiker.
3. Vul in uw applicatie in:

| Instelling                    | Waarde                                                        |
| ----------------------------- | ------------------------------------------------------------- |
| **Host**                      | `localhost`                                                   |
| **Poort**                     | `3306`                                                        |
| **Database** en **gebruiker** | die u net hebt aangemaakt, bijvoorbeeld `GEBRUIKERSNAAM_site` |

**phpMyAdmin**, te openen vanuit dezelfde rubriek, importeert een `.sql`-bestand, exporteert uw database en laat u door uw tabellen bladeren.

## Composer, Node.js en de frameworks

Via SSH laat uw hosting het volgende draaien:

* **Composer 2**: `composer install`, `composer update`;
* **Node.js 24** en **npm**: `npm install`, `npm run build` om uw front-end of uw assets te compileren;
* **Git**, **Python 3** en **Perl**.

Voor **Symfony** of **Laravel** is de webroot van het domein de map `public/` van het project. Plaats uw project naast `public_html` en vervang daarna `public_html` door een link naar de map `public/` ervan:

```
cd ~/domains/mijn-bedrijf.nl

mv public_html public_html.origineel

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

De opdrachten van het framework (`php bin/console`, `php artisan`) voert u uit in de map van het project. Voor een front-end in **Angular**, **React** of **Vue** plaatst u het resultaat van `npm run build` in `public_html`, met een `.htaccess`-bestand dat de routes naar `index.html` stuurt.

Een applicatie die continu moet blijven draaien, zoals een Node.js-server of een berichtenwachtrij, hoort thuis op een [VPS Pro](https://docs.simafri.com/nl/vps-pro/).

## Een taak plannen

Vul in **Cron Jobs** de frequentie en de opdracht in, bijvoorbeeld elke dag om 3 uur:

```
0 3 * * * /usr/local/bin/php /home/GEBRUIKERSNAAM/domains/mijn-bedrijf.nl/mijn-project/bin/console app:opschonen
```

## De HTTPS van uw domeinen

Elk domein en subdomein krijgt een eigen **HTTPS-certificaat** van Let's Encrypt, automatisch aangevraagd en verlengd zodra het domein naar uw server wijst. **SSL/TLS Certificates** toont het certificaat van elk domein. Wilt u uw bezoekers altijd naar het adres met `https://` sturen, voeg dan bovenaan het `.htaccess`-bestand van `public_html` toe:

```
RewriteEngine On

RewriteCond %{HTTPS} off

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

## Veelgestelde vragen

### Mijn site toont nog de standaardpagina.

Uw startpagina moet direct in `public_html` staan, met de naam `index.php` of `index.html`, en niet in een submap. Verwijder de standaardpagina als die er nog staat.

### Hoe installeer ik WordPress?

Schrijf naar de ondersteuning en vermeld het domein: ons team installeert WordPress op uw hosting en geeft u de toegang tot het beheer ervan.

### Mijn SSH-verbinding wordt geweigerd.

Controleer of uw **openbare** sleutel in **SSH Keys** staat en of u verbinding maakt met de **Gebruikersnaam** van uw account. De SSH-verbinding werkt met een sleutel: uw programma moet de privésleutel gebruiken die hoort bij de sleutel die u hebt opgeslagen.
