Ενότητα 8 · 8.3
Staging: ασφαλείς δοκιμές
Ενότητα 8: Αντίγραφα ασφαλείας, περιβάλλον δοκιμών (staging) και αναβαθμίσεις PHP · Χρόνος ανάγνωσης: 9 λεπτά
Μαθησιακός στόχος: Μετά από αυτό το μάθημα θα μπορείτε να δημιουργήσετε ένα περιβάλλον δοκιμών (staging), να το προστατεύσετε και να επαναφέρετε αλλαγές με ασφάλεια στον πραγματικό σας ιστότοπο.
Βασικές έννοιες: staging, παραγωγή, κλωνοποίηση, subdomain, noindex, κωδικός πρόσβασης στον φάκελο, απενεργοποίηση email, πάροχος πληρωμών σε δοκιμαστική λειτουργία, συγχρονισμός, αντικατάσταση βάσης δεδομένων, τοπικό περιβάλλον ανάπτυξης
Τι είναι το staging
Ένα περιβάλλον δοκιμών (staging) (ή δοκιμαστικός ιστότοπος) είναι ένα αντίγραφο του πραγματικού σας ιστότοπου, σε μια δική του διεύθυνση, όπου δοκιμάζετε αλλαγές. Ο πραγματικός σας ιστότοπος ονομάζεται τότε παραγωγή. Στο staging επιτρέπεται να πάει κάτι στραβά: ένα νέο θέμα εμφάνισης, μια μεγάλη ενημέρωση, μια αναβάθμιση PHP (μάθημα 8.4), ένα νέο πρόσθετο. Μόνο αφού διαπιστώσετε ότι λειτουργεί, το εφαρμόζετε στην παραγωγή.
Χρησιμοποιείτε το staging για αλλαγές με κίνδυνο: μεγάλες εκδόσεις του WordPress ή ενός προσθέτου ηλεκτρονικού καταστήματος, διαφορετικό θέμα εμφάνισης, αναβάθμιση PHP, τακτοποίηση προσθέτων (μάθημα 5.4), επανασχεδιασμό. Για μια αλλαγή κειμένου ή μια μικρή ενημέρωση προσθέτου δεν είναι απαραίτητο.
Τρόποι δημιουργίας ενός staging
| Τρόπος | Πώς | Για ποιον |
|---|---|---|
| Λειτουργία κλωνοποίησης του installer σας | Στο Installatron "Αντιγραφή" με "Create a staging site", στο Softaculous "Create Staging", στο WP Toolkit "Clone" | Ο πιο εύκολος τρόπος αν ο ιστότοπός σας δημιουργήθηκε με έναν installer |
| Staging του παρόχου φιλοξενίας σας | Στη διαχειριζόμενη φιλοξενία WordPress, συχνά ένα μόνο κουμπί | Αν ο πάροχος φιλοξενίας σας το προσφέρει |
| Ένα πρόσθετο staging | Ένα πρόσθετο δημιουργεί ένα αντίγραφο σε υποφάκελο ή σε subdomain | Αν δεν έχετε installer ή λειτουργία από τον πάροχο φιλοξενίας |
| Με το χέρι | Επαναφορά αντιγράφου ασφαλείας δίπλα στον ιστότοπο (μάθημα 8.2) και προσαρμογή διευθύνσεων | Διδακτικό, και πάντα εφικτό |
| Τοπικά στον δικό σας υπολογιστή | Ένα πρόγραμμα για τοπική ανάπτυξη WordPress ή ένα περιβάλλον Docker | Για προγραμματιστές και μεγαλύτερες προσαρμογές |
Ένα staging σε ένα subdomain (staging.example.com) είναι συνήθως καλύτερο από ένα σε υποφάκελο (example.com/staging): συμπεριφέρεται περισσότερο σαν τον πραγματικό σας ιστότοπο, και τα cookies και οι κανόνες στο .htaccess δεν μπερδεύονται μεταξύ τους. Δημιουργήστε πρώτα το subdomain, με πιστοποιητικό.
Προστασία: τρία πράγματα που ρυθμίζετε αμέσως
Ένα αντίγραφο του ιστότοπού σας είναι ένας πλήρης ιστότοπος με όλο το περιεχόμενό σας, και μερικές φορές με όλα τα δεδομένα των πελατών σας. Γι' αυτό ρυθμίστε αμέσως:
1. Μακριά τις μηχανές αναζήτησης
Χωρίς προστασία, η Google μπορεί να βρει και να κάνει indexing το staging σας. Τότε έχετε διπλό περιεχόμενο, και όσοι αναζητούν καταλήγουν στον δοκιμαστικό σας ιστότοπο. Κάντε τουλάχιστον ένα, κατά προτίμηση δύο από τα εξής:
- Έναν κωδικό πρόσβασης σε ολόκληρο το staging (βασικός έλεγχος ταυτότητας (basic authentication) μέσω του πίνακα φιλοξενίας σας, ένας "προστατευμένος φάκελος"). Έτσι κανείς δεν βλέπει τον ιστότοπο χωρίς κωδικό πρόσβασης, ούτε οι μηχανές αναζήτησης. Αυτό είναι το ισχυρότερο.
- Αποθάρρυνση μηχανών αναζήτησης στις Ρυθμίσεις > Ανάγνωση (μάθημα 2.4). Αυτό βάζει
noindexσε κάθε σελίδα. Οι μηχανές αναζήτησης το σέβονται συνήθως, αλλά είναι ένα αίτημα, όχι μια κλειδαριά.
Προσέξτε το αντίστροφο: αν συγχρονίσετε αργότερα το staging πίσω στην παραγωγή, μην μεταφέρετε μαζί το σημάδι noindex. Ένας ιστότοπος παραγωγής που εξαφανίζεται από την Google μετά από έναν "επιτυχημένο" συγχρονισμό είναι κλασικό σφάλμα. Η άσκηση αυτού του μαθήματος ελέγχει και τα δύο.
2. Κανένα email σε πραγματικούς ανθρώπους
Ένα αντίγραφο ενός ηλεκτρονικού καταστήματος ή ενός ιστότοπου μελών μπορεί να στέλνει email: επιβεβαιώσεις, υπενθυμίσεις, newsletters, συνδέσμους κωδικού πρόσβασης. Οι πελάτες λαμβάνουν τότε συγκεχυμένα email από τον δοκιμαστικό σας ιστότοπο. Απενεργοποιήστε τα εξερχόμενα email στο staging ή ανακατευθύνετέ τα στη δική σας διεύθυνση (με ένα πρόσθετο αναχαίτισης email, ή απενεργοποιώντας το πρόσθετο SMTP στο staging, μάθημα 9.1). Απενεργοποιήστε επίσης τις προγραμματισμένες εργασίες που στέλνουν email.
3. Πληρωμές και συνδέσεις σε δοκιμαστική λειτουργία
Ένα ηλεκτρονικό κατάστημα στο staging πρέπει να λειτουργεί με τη δοκιμαστική λειτουργία του παρόχου πληρωμών, όχι με πραγματικές πληρωμές. Άλλες συνδέσεις (λογιστική, αποθέματα, CRM) τις απενεργοποιείτε ή τις βάζετε σε δοκιμαστικό περιβάλλον, αλλιώς θα λάβουν δοκιμαστικές παραγγελίες σαν να ήταν πραγματικές.
Αν εργάζεστε με πραγματικά δεδομένα πελατών στο staging, τότε ο GDPR ισχύει εξίσου εκεί (μάθημα 9.3): μην τα διατηρείτε περισσότερο απ' όσο χρειάζεται, και διαγράψτε το staging όταν τελειώσετε.
Πίσω στην παραγωγή: η παγίδα της βάσης δεδομένων
Το δυσκολότερο βήμα είναι η επαναφορά των αλλαγών σας στην παραγωγή. Οι installer και τα πρόσθετα staging έχουν μια λειτουργία γι' αυτό (στο Installatron "Synch", σε άλλα "Push to live"). Ο κίνδυνος:
- Δημιουργείτε ένα staging τη Δευτέρα. Από Τρίτη έως Πέμπτη δοκιμάζετε ένα νέο θέμα εμφάνισης.
- Στο μεταξύ, στην παραγωγή προστίθενται είκοσι παραγγελίες, τρία νέα άρθρα και πενήντα σχόλια.
- Την Παρασκευή συγχρονίζετε τη βάση δεδομένων του staging στην παραγωγή. Η βάση δεδομένων του staging είναι αυτή της Δευτέρας: οι παραγγελίες, τα άρθρα και τα σχόλια από Τρίτη έως Παρασκευή χάνονται.
Γι' αυτό:
- Κάντε πρώτα ένα αντίγραφο ασφαλείας της παραγωγής (μάθημα 8.1), λίγο πριν τον συγχρονισμό.
- Συγχρονίστε μόνο ό,τι χρειάζεται. Η ενημέρωση ενός θέματος εμφάνισης ή προσθέτου είναι θέμα αρχείων· η βάση δεδομένων συχνά δεν χρειάζεται να συμπεριληφθεί. Πολλές λειτουργίες συγχρονισμού σάς επιτρέπουν να επιλέξετε: μόνο αρχεία, ή μόνο συγκεκριμένους πίνακες.
- Σε ένα ηλεκτρονικό κατάστημα ή έναν πολυσύχναστο ιστότοπο: προτιμήστε να εφαρμόσετε την αλλαγή ξανά απευθείας στην παραγωγή (τα ίδια βήματα όπως στο staging, τώρα που ξέρετε ότι λειτουργούν) αντί να μεταφέρετε τη βάση δεδομένων. Ή προγραμματίστε μια ήσυχη στιγμή με μια σύντομη διακοπή του καταστήματος.
- Μετά ελέγξτε την παραγωγή: τη λίστα ελέγχου από το μάθημα 8.2, και το σημάδι noindex.
Το staging είναι ένας χώρος για να μάθετε τι συμβαίνει. Την ίδια την αλλαγή την εφαρμόζετε πιο ασφαλώς ξανά απευθείας στην παραγωγή.
Τακτοποίηση
Ένα staging που παραμένει για μήνες γίνεται ένας ξεχασμένος ιστότοπος: μη ενημερωμένος, με παλιά πρόσθετα και πραγματικά δεδομένα. Ακριβώς το αδύναμο σημείο από το μάθημα 7.1. Διαγράψτε το staging όταν τελειώσετε, ή διατηρήστε το ως πλήρη ιστότοπο (ενημερώσεις, κωδικός πρόσβασης). Ένας κλώνος καταλαμβάνει επίσης τόσο χώρο όσο και το πρωτότυπο και έχει τη δική του βάση δεδομένων.
Σύνοψη
- Το staging είναι ένα αντίγραφο του ιστότοπού σας σε δική του διεύθυνση για να δοκιμάζετε επικίνδυνες αλλαγές.
- Δημιουργήστε το με τον installer σας, τον πάροχο φιλοξενίας σας, ένα πρόσθετο ή με το χέρι, κατά προτίμηση σε ένα subdomain με πιστοποιητικό.
- Προστατέψτε το αμέσως: κωδικός πρόσβασης και/ή noindex, κανένα email σε πραγματικούς ανθρώπους, πληρωμές σε δοκιμαστική λειτουργία.
- Μη συγχρονίζετε τυφλά προς τα πίσω: η βάση δεδομένων του staging αντικαθιστά ό,τι προστέθηκε στην παραγωγή. Κάντε πρώτα αντίγραφο ασφαλείας, συγχρονίστε μόνο ό,τι χρειάζεται, ή εφαρμόστε την αλλαγή ξανά.
- Διαγράψτε το staging όταν τελειώσετε, και μη μεταφέρετε το σημάδι noindex στην παραγωγή.
Κουίζ
Άσκηση
Άσκηση A8.3: Είναι προστατευμένο το περιβάλλον δοκιμών (staging) σας; Συμπληρώστε τη διεύθυνση του staging σας (ένα subdomain του δικού σας domain, για παράδειγμα από την άσκηση D8.2) και του πραγματικού σας ιστότοπου. Αποδείξτε με τον κωδικό της άσκησης ότι το domain είναι δικό σας. Το πρόγραμμα ελέγχει στο staging: απαντάει μέσω https, και είναι προστατευμένο (ερώτημα κωδικού πρόσβασης, ή noindex στο HTML ή στην κεφαλίδα X-Robots-Tag);Δείχνει η αναφορά REST (wp-json) στο ίδιο το staging και όχι στον πραγματικό σας ιστότοπο; Και στον πραγματικό σας ιστότοπο: δεν υπάρχει εκεί noindex;
Περαιτέρω ανάγνωση
Αυτά τα άρθρα περιγράφουν τα βήματα στους πίνακες του WebOké· σε άλλους πίνακες λειτουργούν παρόμοια.
- Εγχειρίδιο DirectAdmin 13.7: Κλωνοποίηση και δημιουργία περιβάλλοντος δοκιμών (staging)
- Δημιουργία περιβάλλοντος staging για το WordPress
- Εγχειρίδιο DirectAdmin 15.9: Με κωδικό πρόσβασης προστατευμένοι φάκελοι
- Εγχειρίδιο DirectAdmin 4.5: Δημιουργία και διαγραφή subdomains
- Εγχειρίδιο DirectAdmin 13.8: Μια εγκατάσταση διαγραφή
