# Δημοσίευση ιστότοπου ή εφαρμογής

Το VPS Ultra σας έχει τη δική του διεύθυνση IPv4 και τη διεύθυνση IPv6 του: τα ονόματα τομέα σας δείχνουν απευθείας σε αυτές, και ο διακομιστής σας λαμβάνει την κίνηση σε όλες τις θύρες που ανοίγετε. Εξυπηρετείτε όσους ιστότοπους και όσα ονόματα τομέα θέλετε.

## 1. Στρέψτε το όνομα τομέα σας στον διακομιστή σας

Εκεί όπου διαχειρίζεστε τη ζώνη DNS του ονόματος τομέα σας, δημιουργήστε δύο εγγραφές με τις διευθύνσεις που εμφανίζονται στην κάρτα του διακομιστή σας, ενότητα **VPS** του πελατειακού σας χώρου:

| Τύπος  | Όνομα                               | Τιμή                                 |
| ------ | ----------------------------------- | ------------------------------------ |
| `A`    | `@`, `www` ή ο υποτομέας που θέλετε | τη **Διεύθυνση IPv4** της κάρτας σας |
| `AAAA` | το ίδιο όνομα                       | τη **Διεύθυνση IPv6** της κάρτας σας |

Όταν τη ζώνη DNS του ονόματος τομέα σας τη διαχειρίζεται η Simafri, η ομάδα μας δημιουργεί αυτές τις εγγραφές για εσάς: γράψτε μας. Πριν από τη μετάβαση ενός ιστότοπου που είναι ήδη σε λειτουργία, ζητήστε μας επίσης να μειώσουμε τη διάρκεια ζωής (TTL) της εγγραφής.

Για να το ελέγξετε από τον υπολογιστή σας:

```
dig +short A app.etaireia-mou.gr

dig +short AAAA app.etaireia-mou.gr
```

## 2. Εγκατάσταση του διακομιστή ιστού και του πιστοποιητικού σας

Δύο συνηθισμένες επιλογές σε Linux:

* **Caddy**, που αποκτά και ανανεώνει μόνο του τα πιστοποιητικά HTTPS σας:

  ```
  apt install caddy
  ```

  και έπειτα, στο `/etc/caddy/Caddyfile`:

  ```
  app.etaireia-mou.gr {

      reverse_proxy 127.0.0.1:3000

  }
  ```

  και `systemctl reload caddy`·

* **Nginx** ή **Apache**, με **Certbot** για το πιστοποιητικό Let's Encrypt:

  ```
  apt install nginx certbot python3-certbot-nginx

  certbot --nginx -d app.etaireia-mou.gr -d www.app.etaireia-mou.gr
  ```

  Το Certbot εγκαθιστά το πιστοποιητικό, προσθέτει την ακρόαση στη θύρα 443 και προγραμματίζει την αυτόματη ανανέωσή του.

Σε Windows Server, το **IIS** εξυπηρετεί τους ιστότοπούς σας, και ένα πρόγραμμα-πελάτης ACME όπως το win-acme εγκαθιστά εκεί και ανανεώνει τα πιστοποιητικά Let's Encrypt σας.

## 3. Διατήρηση της εφαρμογής σας σε λειτουργία

Μια εφαρμογή Node.js, Python, Go ή Java που τρέχει συνεχώς ανατίθεται στο **systemd**: ξεκινά μαζί με τον διακομιστή και επανεκκινείται μόνη της αν σταματήσει. Παράδειγμα, στο `/etc/systemd/system/app.service`:

```
[Unit]

Description=Η εφαρμογή μου

After=network.target



[Service]

WorkingDirectory=/srv/app

ExecStart=/usr/bin/node server.js

Restart=always

Environment=NODE_ENV=production

User=www-data



[Install]

WantedBy=multi-user.target
```

```
systemctl daemon-reload

systemctl enable --now app

journalctl -u app -f    # παρακολούθηση των αρχείων καταγραφής της
```

Το Docker και το Docker Compose εγκαθίστανται επίσης όπως σε κάθε διακομιστή Linux.

## 4. Η βάση δεδομένων σας

Οι PostgreSQL, MySQL, MariaDB, Redis ή MongoDB εγκαθίστανται με τον διαχειριστή πακέτων, ή από το επίσημο αποθετήριο του εκδότη. Η εγγυημένη μνήμη του VPS Ultra σας ταιριάζει πολύ σε μια απαιτητική βάση: ρυθμίστε τη μνήμη εργασίας της (`shared_buffers` για την PostgreSQL, `innodb_buffer_pool_size` για τη MySQL) ανάλογα με τη μνήμη του μεγέθους σας.

Κρατήστε τη βάση σας να ακούει στο `localhost`, και διαχειριστείτε την από τον υπολογιστή σας μέσω τούνελ SSH:

```
ssh -L 5432:localhost:5432 root@app.etaireia-mou.gr
```

Το εργαλείο σας (DBeaver, pgAdmin, TablePlus) συνδέεται τότε στο `localhost:5432`.

## Συχνές ερωτήσεις

### Ο ιστότοπός μου εμφανίζει σφάλμα πιστοποιητικού.

Ελέγξτε με τη σειρά: οι εγγραφές σας `A` και `AAAA` δείχνουν στις διευθύνσεις της κάρτας σας (`dig`), ο διακομιστής ιστού σας ακούει στις θύρες 80 και 443 (`ss -tlnp`), το τείχος προστασίας σας τις αφήνει να περνούν (`ufw status`), και το πιστοποιητικό καλύπτει πράγματι αυτό το όνομα (`certbot certificates`).

### Μπορώ να φιλοξενήσω πολλούς ιστότοπους στο VPS Ultra μου;

Ναι, όσους θέλετε: στρέψτε κάθε όνομα τομέα στις διευθύνσεις σας και προσθέστε το τμήμα του στον διακομιστή ιστού σας.
