Ροή

Οδηγός: Πώς να εγκαταστήσετε το WordPress με το Docker Compose

RC_Andreas

Administrator
Joined
3 June 2010
Μηνύματα
4,599
Βαθμολογία
10
Points
38
Location
Ελλάδα
Website
www.eltube.gr
Το WordPress είναι η πιο δημοφιλής πλατφόρμα blogging στον κόσμο. Υπάρχουν πολλοί τρόποι εγκατάστασης του WordPress, συμπεριλαμβανομένων εντολών Shell, μη αυτόματης εγκατάστασης χρησιμοποιώντας τα σενάρια ή χρησιμοποιώντας ένα πρόγραμμα εγκατάστασης Ιστού που παρέχουν οι δημοφιλείς οικοδεσπότες Ιστού. Η εκτέλεση του WordPress περιλαμβάνει την εγκατάσταση μιας στοίβας LAMP (Linux, Apache, MySQL και PHP) ή LEMP (Linux, Nginx, MySQL και PHP).

Αυτό το σεμινάριο θα σας διδάξει πώς να εγκαταστήσετε το WordPress χρησιμοποιώντας το Docker/Docker Compose. Χρησιμοποιώντας το Docker, η διαδικασία εγκατάστασης της προτιμώμενης στοίβας γίνεται πολύ πιο εύκολη. Μπορείτε να χρησιμοποιήσετε την ίδια διαμόρφωση για να εγκαταστήσετε γρήγορα το WordPress σε πολλούς διακομιστές. Θα εγκαταστήσουμε επίσης το εργαλείο phpMyAdmin για τη διαχείριση βάσεων δεδομένων μαζί με τον διακομιστή μεσολάβησης Nginx για την εξυπηρέτηση του ιστότοπου μέσω SSL.

Προαπαιτούμενα

  • Ένας διακομιστής Linux με έναν χρήστη που δεν είναι root και έχει δικαιώματα sudo. Χρησιμοποιούμε έναν διακομιστή που εκτελεί το Ubuntu 22.04 για το σεμινάριο μας.
  • Ένα πιστοποιημένο όνομα τομέα (FQDN) που οδηγεί στον διακομιστή σας. Για τους σκοπούς μας, θα χρησιμοποιήσουμε example.com ως όνομα τομέα για τον ιστότοπο WordPress και phpmyadmin.example.com για τον ιστότοπο phpMyAdmin.
  • Βεβαιωθείτε ότι όλα είναι ενημερωμένα.

$ sudo apt update

Εγκαταστήστε βασικά πακέτα βοηθητικών προγραμμάτων. Ορισμένα από αυτά ενδέχεται να έχουν ήδη εγκατασταθεί.

$ sudo apt install wget curl nano software-properties-common dirmngr apt-transport-https gnupg gnupg2 ca-certificates lsb-release ubuntu-keyring unzip -y

Βήμα 1 - Διαμόρφωση τείχους προστασίας

Το πρώτο βήμα είναι να διαμορφώσετε το τείχος προστασίας. Το Ubuntu έρχεται με ufw (Uncomplicated Firewall) από προεπιλογή.

Ελέγξτε εάν το τείχος προστασίας λειτουργεί.

$ sudo ufw status

Θα πρέπει να λάβετε την ακόλουθη έξοδο.

Status: inactive

Επιτρέψτε τη θύρα SSH, ώστε το τείχος προστασίας να μην διακόψει την τρέχουσα σύνδεση κατά την ενεργοποίησή της.

$ sudo ufw allow OpenSSH

Επιτρέψτε επίσης τις θύρες HTTP και HTTPS.

$ sudo ufw allow http $ sudo ufw allow https

Ενεργοποιήστε το Τείχος προστασίας

$ sudo ufw enable

Ελέγξτε ξανά την κατάσταση του τείχους προστασίας.

$ sudo ufw status

Θα πρέπει να δείτε μια παρόμοια έξοδο.

Status: active

To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
80/tcp ALLOW Anywhere
443 ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)

Βήμα 2 - Εγκαταστήστε το Docker και το Docker Compose

Το Ubuntu 22.04 κυκλοφορεί με μια παλαιότερη έκδοση του Docker. Για να εγκαταστήσετε την πιο πρόσφατη έκδοση, πρώτα εισάγετε το κλειδί Docker GPG.

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Δημιουργήστε ένα αρχείο αποθήκης Docker.

$ echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Ενημερώστε τη λίστα αποθετηρίων συστήματος.

$ sudo apt update

Εγκαταστήστε την πιο πρόσφατη έκδοση του Docker.

$ sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

Βεβαιωθείτε ότι εκτελείται.

$ [B]sudo systemctl status docker[/B] ? docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2023-01-09 13:19:16 UTC; 9s ago TriggeredBy: ? docker.socket Docs: https://docs.docker.com Main PID: 1863 (dockerd) Tasks: 7 Memory: 20.5M CPU: 278ms CGroup: /system.slice/docker.service ??1863 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Από προεπιλογή, το Docker απαιτεί δικαιώματα root. Εάν θέλετε να αποφύγετε τη χρήση sudoκάθε φορά που εκτελείτε την dockerεντολή, προσθέστε το όνομα χρήστη σας στην dockerομάδα.

$ sudo usermod -aG docker $(whoami)

Θα χρειαστεί να αποσυνδεθείτε από τον διακομιστή και να συνδεθείτε ξανά ως ο ίδιος χρήστης για να ενεργοποιήσετε αυτήν την αλλαγή ή να χρησιμοποιήσετε την ακόλουθη εντολή.

$ su - ${USER}

Επιβεβαιώστε ότι ο χρήστης σας έχει προστεθεί στην ομάδα Docker.

$ [B]groups[/B] navjot wheel docker

Βήμα 3 - Δημιουργήστε αρχείο Docker Compose για WordPress

Δημιουργήστε έναν κατάλογο για τη διαμόρφωση του WordPress.

$ mkdir wordpress

Μετάβαση στον κατάλογο.

$ cd wordpress

Δημιουργήστε και ανοίξτε το αρχείο σύνθεσης Docker για επεξεργασία.

$ nano docker-compose.yml

Επικολλήστε τον παρακάτω κώδικα σε αυτό.

Code:
version: '3.9'

services:
  wp:
    image: wordpress:latest
    container_name: wordpress-app
    restart: unless-stopped
    expose:
      - 8080
    volumes:
      - ./config/php.conf.ini:/usr/local/etc/php/conf.d/conf.ini
      - ./wp-app:/var/www/html
      #- ./plugin-name/trunk/:/var/www/html/wp-content/plugins/plugin-name # Plugin development
      #- ./theme-name/trunk/:/var/www/html/wp-content/themes/theme-name # Theme development
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_NAME: "${DB_NAME}"
      WORDPRESS_DB_USER: "${DB_USER_NAME}"
      WORDPRESS_DB_PASSWORD: "${DB_USER_PASSWORD}"
      VIRTUAL_HOST: example.com
      LETSENCRYPT_HOST: example.com
    depends_on:
      - db
    links:
      - db

  wpcli:
    image: wordpress:cli
    container_name: wpcli_app
    volumes:
      - ./config/php.conf.ini:/usr/local/etc/php/conf.d/conf.ini
      - ./wp-app:/var/www/html
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_NAME: "${DB_NAME}"
      WORDPRESS_DB_USER: "${DB_USER_NAME}"
      WORDPRESS_DB_PASSWORD: "${DB_USER_PASSWORD}"
    depends_on:
      - db
      - wp

  pma:
    image: phpmyadmin/phpmyadmin
    container_name: pma
    restart: unless-stopped
    environment:
      # https://docs.phpmyadmin.net/en/latest/setup.html#docker-environment-variables
      PMA_HOST: db
      PMA_PORT: 3306
      MYSQL_ROOT_PASSWORD: "${DB_ROOT_PASSWORD}"
      UPLOAD_LIMIT: 50M
      VIRTUAL_HOST: phpmyadmin.example.com
      LETSENCRYPT_HOST: phpmyadmin.example.com
    expose:
      - 8081
    links:
      - db:db

  db:
    image: mysql:latest
    container_name: wordpressdb
    restart: unless-stopped
    command: [
        '--default_authentication_plugin=mysql_native_password',
        '--character-set-server=utf8mb4',
        '--collation-server=utf8mb4_unicode_ci'
    ]
    volumes:
      - ./wp-data:/docker-entrypoint-initdb.d
      - db_data:/var/lib/mysql
    environment:
      MYSQL_DATABASE: "${DB_NAME}"
      MYSQL_ROOT_PASSWORD: "${DB_ROOT_PASSWORD}"
      MYSQL_USER: "${DB_USER_NAME}"
      MYSQL_PASSWORD: "${DB_USER_PASSWORD}"

volumes:
  db_data:

Αποθηκεύστε το αρχείο πατώντας Ctrl + X και πληκτρολογώντας Y όταν σας ζητηθεί.

Υπάρχουν δύο εικόνες WordPress που τραβάμε. Το ένα είναι για τον ιστότοπο και το άλλο για το εργαλείο WP-CLI. Και οι δύο εικόνες εξαρτώνται από την εικόνα Docker της MySQL 8.0. Εδώ ορίζουμε τις μεταβλητές περιβάλλοντος για τα διαπιστευτήρια της βάσης δεδομένων. Έχουμε δημιουργήσει δύο τόμους και για τα δύο κοντέινερ, ο ένας από τους οποίους οδηγεί στα δημόσια αρχεία για τον ιστότοπο WordPress και ο δεύτερος στην προσαρμοσμένη τοποθεσία PHP.ini. Έχουμε επίσης ορίσει τις μεταβλητές περιβάλλοντος για τον εικονικό τομέα κεντρικού υπολογιστή Nginx και τον τομέα Let's encrypt SSL για τον ιστότοπο WordPress.

Μπορείτε να προσθέσετε περισσότερες μεταβλητές περιβάλλοντος και να προσθέσετε προσαρμοσμένα wp-config.php δεδομένα στο αρχείο Docker. Μπορείτε να μάθετε για τις πρόσθετες μεταβλητές περιβάλλοντος από τη σελίδα WordPress DockerHub .

Η επόμενη εικόνα είναι για το phpMyAdmin που εξαρτάται από την ίδια εικόνα MySQL και τη συνδέει χρησιμοποιώντας τον κωδικό πρόσβασης root. Έχει όριο μεταφόρτωσης 50MB. Μπορείτε να το αλλάξετε ανάλογα με τις απαιτήσεις σας και το μέγεθος της βάσης δεδομένων σας. Όπως και με τον ιστότοπο WordPress, έχουμε ορίσει τον εικονικό τομέα κεντρικού υπολογιστή Nginx και ας κρυπτογραφήσουμε το όνομα τομέα SSL για τον ιστότοπο phpMyAdmin.

Η τελευταία εικόνα είναι για τη βάση δεδομένων MySQL. Έχουμε περάσει μερικές εντολές για να ορίσουμε την προεπιλεγμένη μέθοδο ελέγχου ταυτότητας και το σύνολο χαρακτήρων. Έχουμε επίσης δημιουργήσει μερικούς τόμους για την αποθήκευση των δεδομένων. Έχουμε επίσης ρυθμίσει μεταβλητές περιβάλλοντος για διαπιστευτήρια βάσης δεδομένων.

Το επόμενο βήμα είναι να δημιουργήσετε το αρχείο περιβάλλοντος για τις μεταβλητές που χρησιμοποιούνται στο αρχείο σύνθεσης. Δημιουργήστε και ανοίξτε το αρχείο περιβάλλοντος για επεξεργασία.

$ sudo nano .env

Επικολλήστε τον παρακάτω κώδικα σε αυτό.

DB_NAME=wordpress DB_USER_NAME=username DB_USER_PASSWORD=userpassword DB_ROOT_PASSWORD=password

Αποθηκεύστε το αρχείο πατώντας Ctrl + X και πληκτρολογώντας Y όταν σας ζητηθεί. Αντικαταστήστε τις μεταβλητές με το όνομα χρήστη και τον κωδικό πρόσβασης της επιλογής σας.

Μπορείτε να προσαρμόσετε τη διαμόρφωση της PHP χρησιμοποιώντας ένα προσαρμοσμένο αρχείο php.ini.

Δημιουργήστε έναν φάκελο για τη διαμόρφωση της PHP.

$ mkdir config

Δημιουργήστε και ανοίξτε το php.conf.ini αρχείο για επεξεργασία.

$ nano config/php.conf.ini

Επικολλήστε τον παρακάτω κώδικα σε αυτό. Προσαρμόστε τις τιμές σύμφωνα με τις απαιτήσεις σας. Το όριο μεταφόρτωσης για το κοντέινερ PhpMyadmin είναι ανεξάρτητο από τις τιμές που χρησιμοποιείτε σε αυτό το αρχείο.

file_uploads = On memory_limit = 500M upload_max_filesize = 30M post_max_size = 30M max_execution_time = 600

Αποθηκεύστε το αρχείο πατώντας Ctrl + X και πληκτρολογώντας Y όταν σας ζητηθεί.

Βήμα 4 - Ενημερώστε το Docker Compose για Nginx

Δημιουργήστε τον κατάλογο για τη διαμόρφωση Nginx.

$ mkdir nginx

Δημιουργήστε έναν κατάλογο για εικονικούς κεντρικούς υπολογιστές μέσα σε αυτόν τον κατάλογο.

$ mkdir nginx/vhost

Δημιουργήστε και ανοίξτε το nginx/vhost/wordpress.example.comγια επεξεργασία.

$ nano nginx/vhost/wordpress.example.com

Επικολλήστε τον παρακάτω κώδικα σε αυτό.

server_tokens off? client_max_body_size 30m;

Αποθηκεύστε το αρχείο πατώντας Ctrl + X και πληκτρολογώντας Y όταν σας ζητηθεί.

Κάντε το ίδιο για nginx/vhost/phpmyadmin.example.com το αρχείο.

$ nano nginx/vhost/phpmyadmin.example.com

Επικολλήστε τον παρακάτω κώδικα σε αυτό.

server_tokens off? client_max_body_size 50m;

Αποθηκεύστε το αρχείο πατώντας Ctrl + X και πληκτρολογώντας Y όταν σας ζητηθεί.

Ανοίξτε ξανά το αρχείο σύνθεσης docker.

$ nano docker-compose.yml

Επικολλήστε τον παρακάτω κώδικα πριν από τη volumes: db_data: γραμμή.

nginx: container_name: nginx image: nginxproxy/nginx-proxy restart: unless-stopped ports: - 80:80 - 443:443 volumes: - /var/run/docker.sock:/tmp/docker.sock:ro - ./nginx/html:/usr/share/nginx/html - ./nginx/certs:/etc/nginx/certs - ./nginx/vhost:/etc/nginx/vhost.d logging: options: max-size: "10m" max-file: "3"

Αποθηκεύστε το αρχείο πατώντας Ctrl + X και πληκτρολογώντας Y όταν σας ζητηθεί.

Στον παραπάνω κώδικα, τραβάμε την εικόνα Docker του διακομιστή μεσολάβησης Nginx και εκθέτουμε τις θύρες 80 και 443 στο κοντέινερ κεντρικού υπολογιστή που θα χρησιμοποιηθεί για σύνδεση με τον εξωτερικό κόσμο. Έχουμε επίσης δημιουργήσει τόμους για τη σελίδα Nginx HTML, έναν κατάλογο όπου θα αποθηκεύονται όλα τα πιστοποιητικά SSL και τον κατάλογο για εικονικούς κεντρικούς υπολογιστές που χρησιμοποιήσαμε παραπάνω για να προσθέσουμε πρόσθετες ρυθμίσεις παραμέτρων nginx. Εδώ έχουμε διαμορφώσει το μέγεθος μεταφόρτωσης αρχείου για τους ιστότοπους WordPress και phpMyAdmin. Το όνομα τομέα για τις τοποθεσίες επιλέγεται από τις μεταβλητές περιβάλλοντος που ορίσαμε στο προηγούμενο βήμα.

Βήμα 5 - Ενημερώστε το Docker Compose για SSL

Ανοίξτε το αρχείο σύνθεσης docker για επεξεργασία.

$ nano docker-compose.yml

Επικολλήστε τον παρακάτω κώδικα πριν από τη volumes: db_data:γραμμή.

acme-companion: container_name: acme-companion image: nginxproxy/acme-companion restart: unless-stopped volumes_from: - nginx volumes: - /var/run/docker.sock:/var/run/docker.sock - ./nginx/acme:/etc/acme.sh environment: DEFAULT_EMAIL: [email protected]

Αποθηκεύστε το αρχείο πατώντας Ctrl + X και πληκτρολογώντας Y όταν σας ζητηθεί.

Εδώ τραβάμε την εικόνα του Acme Companion Docker που λειτουργεί μαζί με τον διακομιστή μεσολάβησης Nginx. Τραβάει τους όγκους από το δοχείο Nginx. Ορίζουμε επίσης έναν τόμο για το εργαλείο acme.sh που αποθηκεύει όλες τις ρυθμίσεις παραμέτρων σχετικά με το Let's encrypt SSL. Και τέλος, ορίζουμε μια μεταβλητή περιβάλλοντος για την εγγραφή του πιστοποιητικού SSL με το Let's Encrypt.

Βήμα 6 - Ξεκινήστε και εγκαταστήστε το WordPress

Τώρα που έχουν ολοκληρωθεί όλα τα αρχεία ρυθμίσεων, ήρθε η ώρα να ξεκινήσουμε και να εκκινήσουμε τα κοντέινερ.

$ docker compose up -d

Περιμένετε μερικά λεπτά και ελέγξτε την κατάσταση των δοχείων.

$ docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c1e8a9b5169d nginxproxy/acme-companion "/bin/bash /app/entr…" 14 seconds ago Up 7 seconds acme-companion
8a37c78ff790 wordpress:latest "docker-entrypoint.s…" 14 seconds ago Up 7 seconds 80/tcp, 8080/tcp wordpress-app
4f9c777c97c2 phpmyadmin/phpmyadmin "/docker-entrypoint.…" 14 seconds ago Up 7 seconds 80/tcp, 8081/tcp pma
1b1dede46b07 nginxproxy/nginx-proxy "/app/docker-entrypo…" 14 seconds ago Up 11 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/ tcp nginx
b9cf64a2f4a3 mysql:latest "docker-entrypoint.s…" 14 seconds ago Up 11 seconds 3306/tcp, 33060/tcp

Ανοίξτε τη διεύθυνση URL https://example.com για να ξεκινήσετε το πρόγραμμα εγκατάστασης του WordPress.

wp.jpg

Επιλέξτε τη γλώσσα σας και κάντε κλικ στο κουμπί Συνέχεια για να προχωρήσετε στην επόμενη σελίδα.

wp1.jpg

Συμπληρώστε τα στοιχεία του ιστότοπου, επιλέξτε το όνομα χρήστη, τον κωδικό πρόσβασης και τη διεύθυνση email σας και κάντε κλικ στο κουμπί Εγκατάσταση WordPress για να ξεκινήσει η εγκατάσταση.

wp2.jpg

Θα μεταφερθείτε στη σελίδα επιτυχίας της εγκατάστασης. Κάντε κλικ στο κουμπί Σύνδεση για να μεταφερθείτε στη σελίδα σύνδεσης.

wp3.jpg

Εισαγάγετε τα στοιχεία σύνδεσής σας και κάντε κλικ στο κουμπί Σύνδεση για να ανοίξετε τον πίνακα ελέγχου του WordPress.

wp4.jpg

Μπορείτε να αρχίσετε να χρησιμοποιείτε το WordPress τώρα.

Βήμα 7 - Πρόσβαση στο PhpMyAdmin

Μπορείτε να αποκτήσετε πρόσβαση στο phpMyAdmin μέσω της διεύθυνσης URL https://phpmyadmin.example.com.

wp5.jpg

Εισαγάγετε root το όνομα χρήστη και τον κωδικό πρόσβασης root και κάντε κλικ στο Σύνδεση για να ανοίξετε τον πίνακα εργαλείων.

wp6.jpg

Μπορείτε να αρχίσετε να χρησιμοποιείτε το phpMyAdmin τώρα.

Βήμα 8 - Πρόσβαση στο WP-CLI

Μπορείτε να αποκτήσετε πρόσβαση στο WP-CLI χρησιμοποιώντας την ακόλουθη εντολή.

$ docker compose run --rm wpcli cli version

Θα λάβετε την ακόλουθη έξοδο.

[+] Running 2/0
? Container wordpressdb Running 0.0s
? Container wordpress-app Running 0.0s
WP-CLI 2.7.1

Για να αποφύγουμε την πληκτρολόγηση μιας τόσο μεγάλης εντολής κάθε φορά, μπορούμε να χρησιμοποιήσουμε το χαρακτηριστικό ψευδώνυμο του Linux.

$ alias wp="docker compose -f ~/wordpress/docker-compose.yml run --rm wpcli"

Τώρα μπορείτε να πληκτρολογήσετε την ακόλουθη εντολή από οπουδήποτε στο κοντέινερ σας.

$ wp cli version

Τα ψευδώνυμα στο Linux είναι προσωρινά. Για να κάνετε το ψευδώνυμο μόνιμο, πρέπει να επεξεργαστείτε το ~/.bashrcαρχείο. Ανοίξτε το για επεξεργασία.

$ nano ~/.bashrc

Επικολλήστε την ακόλουθη γραμμή στο τέλος του αρχείου.

# Custom aliases alias wp="docker compose -f ~/wordpress/docker-compose.yml run --rm wpcli"

Αποθηκεύστε το αρχείο πατώντας Ctrl + X και πληκτρολογώντας Y όταν σας ζητηθεί.

Πηγαίνετε το αρχείο για να φορτώσετε ξανά τη διαμόρφωση.

$ source ~/.bashrc

Μπορείτε να ξεκινήσετε να χρησιμοποιείτε το WP-CLI.

Βήμα 9 - Δημιουργία αντιγράφων ασφαλείας WordPress

Υπάρχουν διάφοροι τρόποι για να δημιουργήσετε αντίγραφα ασφαλείας του WordPress. Ο ευκολότερος τρόπος είναι να χρησιμοποιήσετε ένα πρόσθετο. Υπάρχουν πολλά πρόσθετα διαθέσιμα για αυτό. Μπορείτε επίσης να χρησιμοποιήσετε το phpMyAdmin για τη δημιουργία αντιγράφου ασφαλείας.

Μπορείτε επίσης να χρησιμοποιήσετε τη γραμμή εντολών για να δημιουργήσετε αντίγραφα ασφαλείας της βάσης δεδομένων του WordPress. Μεταβείτε στον κατάλογο του WordPress.

$ cd ~/wordpress

Χρησιμοποιήστε την ακόλουθη εντολή για να δημιουργήσετε αντίγραφα ασφαλείας της βάσης δεδομένων του WordPress. Θα σας ζητηθεί ο κωδικός ρίζας MySQL.

$ docker compose exec db sh -c "exec mysqldump wordpress -uroot -p" | sudo tee wp-data/data_`date +%d-%m-%Y"_"%H_%M_%S`.sql >/dev/null Enter password: password

Η παραπάνω εντολή θα δημιουργήσει το αντίγραφο ασφαλείας SQL στον ~/wordpress/wp-dataκατάλογο.

Ελέγξτε τα περιεχόμενα του καταλόγου.

$ ls -al wp-data
total 908
drwxr-xr-x 2 root root 4096 Jan 11 10:15 ./
drwxrwxr-x 6 navjot navjot 4096 Jan 11 10:05 ../
-rw-r--r-- 1 root root 919814 Jan 11 10:14 data_11-01-2023_10_14_40.sql

Μπορείτε να δείτε τη βάση δεδομένων με αντίγραφα ασφαλείας στον κατάλογο. Μπορείτε να επαναφέρετε αυτήν τη βάση δεδομένων χρησιμοποιώντας το εργαλείο phpMyAdmin ή χρησιμοποιώντας την ακόλουθη εντολή.

$ docker compose exec db sh -c "exec mysql -uroot -p" < wp-data/data_11-01-2023_10_14_40.sql

Μπορείτε να δημιουργήσετε μια εργασία cron για να δημιουργείτε αντίγραφα ασφαλείας της βάσης δεδομένων σε τακτά χρονικά διαστήματα.

Δημιουργήστε το εφεδρικό σενάριο στον /etc/cron.dailyκατάλογο και ανοίξτε το για επεξεργασία.

$ sudo nano /etc/cron.daily/wpbackup.sh

Επικολλήστε τον παρακάτω κώδικα σε αυτό.

#!/bin/bash docker compose exec db sh -c "exec mysqldump wordpress -uroot -p" | tee wp-data/data_`date +%d-%m-%Y"_"%H_%M_%S`.sql >/dev/null

Αποθηκεύστε το αρχείο πατώντας Ctrl + X και πληκτρολογώντας Y όταν σας ζητηθεί.

Κάντε το σενάριο εκτελέσιμο.

$ sudo chmod +x /etc/cron.daily/wpbackup.sh

Τώρα, η βάση δεδομένων σας θα δημιουργεί αντίγραφα ασφαλείας καθημερινά.

Βήμα 10 - Αναβάθμιση WordPress

Ο ευκολότερος τρόπος για να αναβαθμίσετε το WordPress είναι να χρησιμοποιήσετε το ενσωματωμένο πρόγραμμα ενημέρωσης. Μπορείτε επίσης να το αναβαθμίσετε χρησιμοποιώντας το Docker. Το πρώτο βήμα είναι να δημιουργήσετε αντίγραφα ασφαλείας της βάσης δεδομένων του WordPress χρησιμοποιώντας την εντολή από το βήμα 9.

Στη συνέχεια, μεταβείτε στον κατάλογο.

$ cd ~/wordpress

Σταματήστε τα κοντέινερ.

$ docker compose down --remove-orphans

Τραβήξτε τις πιο πρόσφατες εικόνες κοντέινερ.

$ docker compose pull

Κάντε οποιεσδήποτε αλλαγές στο docker-compose.yml αν θέλετε.

Επανεκκινήστε τα κοντέινερ του WordPress.

$ docker compose up -d

Συμπέρασμα
Αυτό ολοκληρώνει το σεμινάριο μας σχετικά με την εγκατάσταση του WordPress χρησιμοποιώντας Docker Compose, phpMyAdmin και WP-CLI. Εάν έχετε οποιεσδήποτε ερωτήσεις, δημοσιεύστε τις στα σχόλια παρακάτω.
 
Top Bottom