Κεφάλαιο 7 · 7.4
WordPress σε Docker
Θέλετε να εκτελείτε το WordPress στο VPS σας αντί για ένα πακέτο hosting; Με το Docker τοποθετείτε το WordPress και μια βάση δεδομένων το ένα δίπλα στο άλλο, και το Caddy φροντίζει για το https.
Συμβουλή: Σε ένα πακέτο hosting, η WebOké αναλαμβάνει για εσάς τον server, τις ενημερώσεις της PHP και τα back-up. Επιλέξτε το VPS εάν χρειάζεστε πραγματικά αυτή την ελευθερία.
Κάθε συνταγή βασίζεται στον φάκελο εργασίας /srv/diensten με το Caddy από το Ο φάκελος εργασίας σας με compose.yaml, .env και Caddy. Προσθέτετε μια υπηρεσία στο compose.yaml, ένα μπλοκ στο Caddyfile και μια εγγραφή A και AAAA για το όνομα (δείτε Εγγραφή A και AAAA στα Τα domains μου).
1. DNS
Κατευθύνετε τα example.com και www.example.com στο VPS σας με μια εγγραφή A και AAAA. Εάν ο ιστότοπός σας εκτελείται ακόμη κάπου αλλού, κάντε το μόνο όταν ο νέος ιστότοπος είναι έτοιμος.
2. Ένας κωδικός πρόσβασης βάσης δεδομένων στο .env
anna@web1:/srv/diensten$ openssl rand -base64 24
Τοποθετήστε το αποτέλεσμα στο .env ως WP_DB_WACHTWOORD=....
3. compose.yaml
wordpress:
image: wordpress
restart: unless-stopped
environment:
WORDPRESS_DB_HOST: wp-db
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: ${WP_DB_WACHTWOORD}
WORDPRESS_DB_NAME: wordpress
volumes:
- wordpress:/var/www/html
depends_on:
- wp-db
wp-db:
image: mariadb:11.8
restart: unless-stopped
environment:
MARIADB_DATABASE: wordpress
MARIADB_USER: wordpress
MARIADB_PASSWORD: ${WP_DB_WACHTWOORD}
MARIADB_RANDOM_ROOT_PASSWORD: "1"
volumes:
- wp-db:/var/lib/mysql
Και κάτω από το volumes::
wordpress:
wp-db:
Η βάση δεδομένων δεν λαμβάνει ports:: το WordPress τη βρίσκει με το όνομα wp-db (δείτε Docker και firewall: ασφαλής δημοσίευση θυρών).
4. Caddyfile
example.com, www.example.com {
reverse_proxy wordpress:80
}
anna@web1:/srv/diensten$ sudo docker compose up -d
anna@web1:/srv/diensten$ sudo docker compose exec -w /etc/caddy caddy caddy reload
Ανοίξτε το https://example.com και ολοκληρώστε αμέσως την εγκατάσταση του WordPress. Το image του WordPress αναγνωρίζει ότι βρίσκεται πίσω από έναν https proxy.
Ενημέρωση
- Το WordPress, τα plugins και τα θέματα τα ενημερώνετε από τον πίνακα ελέγχου του WordPress, όπως πάντα. Βρίσκονται στο volume
wordpress. - Η PHP και ο web server περιέχονται στο image. Αυτά τα ενημερώνετε με
docker compose pullκαιup -d(δείτε Ενημέρωση containers, καθαρισμός και περιορισμός των logs).
Email και back-up
Το WordPress αποστέλλει email (ξεχάσατε τον κωδικό πρόσβασης, φόρμες). Επειδή η θύρα 25 είναι κλειστή, χρησιμοποιείτε ένα plugin SMTP με ένα γραμματοκιβώτιο στη θύρα 587 (δείτε Reverse DNS και αποστολή email από το VPS σας). Για το back-up σας χρειάζεστε δύο πράγματα: ένα dump της βάσης δεδομένων και το volume wordpress με τα αρχεία που έχετε ανεβάσει. Δείτε Σωστή συμπερίληψη βάσεων δεδομένων και Docker volumes στα αντίγραφα ασφαλείας.
Περισσότερα για το ίδιο το WordPress, όπως τα plugins και την ασφάλεια, θα βρείτε στο μάθημα WordPress.
