# Πώς κάνω deploy την εφαρμογή MERN μου;

https://www.seturack.com/el/gnosiaki-vasi/arthro/how-do-i-deploy-my-mern-app

1. Στο πάνελ ανοίξτε το **Οι servers μου** και πατήστε στον server σας.
2. Στην καρτέλα **Επισκόπηση**, περιμένετε να γράψει η γραμμή **Εφαρμογή** «Το MERN είναι έτοιμο». Η σελίδα ανανεώνεται μόνη της.
3. Ανοίξτε τον σύνδεσμο της γραμμής **Διεύθυνση ιστοτόπου**. Αν η δοκιμαστική σελίδα γράφει `MongoDB: OK`, η εφαρμογή φτάνει στη βάση δεδομένων.

## Φάκελοι

- `/home/app/uygulama/sunucu`: η εφαρμογή Express (`server.js`). Το connection string βρίσκεται στο αρχείο `.env` δίπλα της.
- `/home/app/uygulama/istemci`: ο πηγαίος κώδικας του React. Το build γράφει στον φάκελο `sunucu/public`.

## Αλλαγή του κώδικα

[Συνδεθείτε μέσω SSH](https://www.seturack.com/el/gnosiaki-vasi/arthro/how-to-connect-with-ssh) και εκτελέστε:

`su - app`

`cd ~/uygulama`

Αφού αντιγράψετε τον κώδικά σας, κάντε επανεκκίνηση της εφαρμογής:

`pm2 restart uygulama`

Η εφαρμογή πρέπει να ακούει στη θύρα **3000**.

## MongoDB

Το MongoDB είναι προσβάσιμο μόνο από το εσωτερικό του server. Οι γραμμές **Όνομα σύνδεσης** και **Κωδικός** στο πάνελ αφορούν τον λογαριασμό διαχειριστή. Για να συνδεθείτε από τον υπολογιστή σας, χρησιμοποιήστε SSH tunnel.

## Δικό σας domain

1. Δείξτε την εγγραφή A του domain σας στη διεύθυνση IP του server σας.
2. Ως root, αντικαταστήστε το παλιό όνομα παντού: `sed -i 's/OLD_NAME/yourdomain.com/g' /etc/caddy/Caddyfile`. Το `OLD_NAME` είναι το τμήμα μετά το `https://` στη διεύθυνση που φαίνεται στο πάνελ.
3. Εκτελέστε `systemctl reload caddy`.

Το Caddy παίρνει και ανανεώνει μόνο του το πιστοποιητικό.

Προς τα έξω είναι ανοιχτές μόνο οι **80**, **443** και η **22** για SSH.

**Δεν έχετε ακόμη server;** [Παραγγείλτε server με εγκατεστημένο το MERN](https://www.seturack.com/el/mern-vps): επιλέγετε το μέγεθος και πληρώνετε μόνο γι' αυτό που επιλέγετε.
