Ενότητα 1 · 1.3
Αρχεία, wp-config και η βάση δεδομένων
Ενότητα 1: Πώς λειτουργεί το WordPress · Χρόνος ανάγνωσης: 9 λεπτά
Μαθησιακός στόχος: Μετά από αυτό το μάθημα θα αναγνωρίζετε τους φακέλους του WordPress, τις ρυθμίσεις στο wp-config.php και τους σημαντικότερους πίνακες της βάσης δεδομένων, και θα ξέρετε τι θα βρείτε πού.
Βασικές έννοιες: wp-admin, wp-includes, wp-content (themes, plugins, uploads, mu-plugins), wp-config.php (DB_*, table_prefix, κλειδιά και salts, WP_DEBUG), .htaccess, wp_options (siteurl, home), wp_posts, wp_users
Δύο μισά: αρχεία και βάση δεδομένων
Ένας ιστότοπος WordPress αποτελείται πάντα από δύο μέρη που ανήκουν μαζί:
- Αρχεία στον φάκελο ιστού του domain σας (στο DirectAdmin
domains/example.com/public_html): ο κώδικας του WordPress, τα θέματα εμφάνισης σας, τα πρόσθετά σας και ό,τι ανεβάζετε. - Μια βάση δεδομένων: όλα τα κείμενά σας, οι σελίδες, τα μενού, οι ρυθμίσεις, οι χρήστες και τα σχόλια.
Αυτή η διάκριση είναι σημαντική για τα αντίγραφα ασφαλείας και τις μεταφορές. Ένα αντίγραφο ασφαλείας μόνο με τα αρχεία δεν περιέχει τα κείμενά σας. Ένα αντίγραφο ασφαλείας μόνο με τη βάση δεδομένων δεν περιέχει τις φωτογραφίες σας. Χρειάζεστε και τα δύο (μάθημα 8.1).
Οι φάκελοι
Ανοίξτε τον φάκελο ιστού σας στο File Manager ή με ένα πρόγραμμα FTP, και θα δείτε περίπου αυτό:
public_html/
├── wp-admin/ ο Πίνακας Ελέγχου (core)
├── wp-includes/ το υπόλοιπο WordPress (core)
├── wp-content/ ό,τι είναι δικό σας
│ ├── themes/ τα θέματα εμφάνισης
│ ├── plugins/ τα πρόσθετα
│ ├── uploads/ τα πολυμέσα σας, ανά έτος και μήνα: uploads/2026/11/
│ ├── mu-plugins/ πρόσθετα "must use" (αν υπάρχουν)
│ ├── languages/ μεταφράσεις
│ └── upgrade/ προσωρινός φάκελος για ενημερώσεις
├── .htaccess κανόνες για τον διακομιστή ιστού
├── index.php το σημείο εκκίνησης κάθε αιτήματος σελίδας
├── wp-config.php οι ρυθμίσεις αυτής της εγκατάστασης
├── wp-login.php η σελίδα σύνδεσης
├── xmlrpc.php μια παλιά σύνδεση για εφαρμογές (μάθημα 7.3)
└── ... άλλα αρχεία wp-*.php του coreΟ βασικός κανόνας: τα wp-admin, wp-includes και τα μεμονωμένα αρχεία wp-*.php ανήκουν στο WordPress. Αυτά αντικαθίστανται σε κάθε ενημέρωση. Μην τοποθετείτε ποτέ τίποτα δικό σας εκεί και μην τα τροποποιείτε.
Το wp-content είναι δικό σας. Μια ενημέρωση του WordPress αφήνει αυτόν τον φάκελο ανέπαφο (εκτός από τα προεπιλεγμένα θέματα εμφάνισης και πρόσθετα που συνοδεύουν την εγκατάσταση). Εδώ βρίσκονται τα θέματα εμφάνισης, τα πρόσθετα και τα ανεβασμένα αρχεία σας. Μερικά πράγματα που αξίζει να γνωρίζετε:
- Ο φάκελος uploads μεγαλώνει περισσότερο από όλους. Κάθε φωτογραφία που ανεβάζετε, το WordPress την αποθηκεύει σε πολλαπλά μεγέθη (μάθημα 4.4). Ένας ιστότοπος με χρόνια ειδήσεων μπορεί να έχει γιγαμπάιτ ανεβασμένων αρχείων.
- Τα mu-plugins (must use) είναι πρόσθετα που είναι πάντα ενεργά και δεν μπορείτε να τα απενεργοποιήσετε από τον Πίνακα Ελέγχου. Ορισμένοι πάροχοι φιλοξενίας και πρόσθετα τα χρησιμοποιούν. Επίσης εισβολείς αρέσκονται να κρύβουν κάτι εκεί (μάθημα 7.5). Αν δεν αναγνωρίζετε ένα αρχείο εκεί, ψάξτε να βρείτε από πού προέρχεται.
- Ένα διαγραμμένο πρόσθετο εξαφανίζεται από το
plugins. Ένα απενεργοποιημένο πρόσθετο παραμένει εκεί, με όλον τον κώδικά του (μάθημα 5.4).
wp-config.php: οι ρυθμίσεις
Το wp-config.php είναι το πρώτο πράγμα που φορτώνει το WordPress. Εκεί βρίσκονται τα στοιχεία με τα οποία το WordPress προσπελαύνει τη βάση δεδομένων, καθώς και μερικές ρυθμίσεις για ολόκληρη την εγκατάσταση. Μια συντομευμένη έκδοση:
define( 'DB_NAME', 'gebruiker_wp1' );
define( 'DB_USER', 'gebruiker_wp1' );
define( 'DB_PASSWORD', 'enan-megalo-tyxaio-kodiko' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );
define( 'AUTH_KEY', 'μεγάλο τυχαίο κείμενο' );
define( 'SECURE_AUTH_KEY', 'μεγάλο τυχαίο κείμενο' );
define( 'LOGGED_IN_KEY', 'μεγάλο τυχαίο κείμενο' );
define( 'NONCE_KEY', 'μεγάλο τυχαίο κείμενο' );
define( 'AUTH_SALT', 'μεγάλο τυχαίο κείμενο' );
define( 'SECURE_AUTH_SALT', 'μεγάλο τυχαίο κείμενο' );
define( 'LOGGED_IN_SALT', 'μεγάλο τυχαίο κείμενο' );
define( 'NONCE_SALT', 'μεγάλο τυχαίο κείμενο' );
$table_prefix = 'wp_';
define( 'WP_DEBUG', false );
/* Dat is alles, stop met bewerken! */
require_once ABSPATH . 'wp-settings.php';Τι σημαίνει:
- DB_NAME, DB_USER, DB_PASSWORD, DB_HOST: με ποια βάση δεδομένων, χρήστη και κωδικό πρόσβασης συνδέεται το WordPress, και σε ποιον διακομιστή. Αν κάποιο από αυτά είναι λάθος, θα δείτε το μήνυμα "Error establishing a database connection". Αυτό συμβαίνει συχνά μετά από μια μεταφορά ή μετά την αλλαγή ενός κωδικού πρόσβασης της βάσης δεδομένων.
- Τα κλειδιά και τα salts (οι οκτώ γραμμές με KEY και SALT): τυχαία κείμενα με τα οποία το WordPress υπογράφει τα cookies σύνδεσης. Όποιος τα γνωρίζει, θα μπορούσε θεωρητικά να δημιουργήσει ένα έγκυρο cookie σύνδεσης. Αν τα αντικαταστήσετε, όλοι αποσυνδέονται. Αυτό ακριβώς κάνετε μετά από μια παραβίαση (μάθημα 7.5). Νέες τιμές βρίσκετε στο
https://api.wordpress.org/secret-key/1.1/salt/. - $table_prefix: το πρόθεμα όλων των ονομάτων πινάκων, συνήθως
wp_. Έτσι πολλαπλές εγκαταστάσεις μπορούν να μοιράζονται μία βάση δεδομένων. Η επιλογή διαφορετικού προθέματος δεν αποτελεί πραγματικό μέτρο ασφαλείας, αλλά ούτε βλάπτει. - WP_DEBUG: ενεργοποιεί τα μηνύματα σφαλμάτων. Σε έναν ζωντανό ιστότοπο αυτό παραμένει απενεργοποιημένο (
false). Πώς να βλέπετε τα σφάλματα με ασφάλεια χωρίς να εμφανίζονται στους επισκέπτες, διαβάστε στο μάθημα 5.4. - Ρυθμίσεις που προσθέτετε οι ίδιοι (για παράδειγμα
DISALLOW_FILE_EDITστο μάθημα 7.4 ήDISABLE_WP_CRONστο μάθημα 6.3) πρέπει να μπαίνουν πάνω από τη γραμμή "stop met bewerken".
Το wp-config.php περιέχει τον κωδικό πρόσβασης της βάσης δεδομένων σας. Μην μοιράζεστε ποτέ το αρχείο, μην τοποθετείτε αντίγραφό του στον φάκελο ιστού (όπως wp-config.php.bak ή wp-config.old: αυτά μπορεί να τα κατεβάσει οποιοσδήποτε, επειδή ο διακομιστής ιστού δεν τα εκτελεί ως PHP) και δώστε του αυστηρά δικαιώματα αρχείων (μάθημα 7.4).
.htaccess
Στο LiteSpeed και στο Apache υπάρχει στον φάκελο ιστού ένα αρχείο .htaccess με κανόνες για τον διακομιστή ιστού. Ξεκινάει με μια τελεία, γι' αυτό είναι κρυφό σε πολλά προγράμματα. Το WordPress τοποθετεί εκεί αυτό το μπλοκ για ωραίες διευθύνσεις (permalinks):
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPressΜε απλά λόγια: "αν δεν πρόκειται για υπαρκτό αρχείο (!-f) και όχι υπαρκτό φάκελο (!-d), τότε προώθησέ το στο index.php." Αυτό είναι το βήμα 2 από το μάθημα 1.2. Τα πρόσθετα (caching, ασφάλεια) προσθέτουν συχνά δικά τους μπλοκ. Τοποθετήστε τους δικούς σας κανόνες έξω από τα μπλοκ του WordPress και των πρόσθετων, επειδή αυτά τα μπλοκ ξαναγράφονται μερικές φορές. Στο nginx το .htaccess δεν υπάρχει· εκεί αυτό το ρυθμίζει ο πάροχος φιλοξενίας στη ρύθμιση του διακομιστή.
Η βάση δεδομένων: ποιος πίνακας για τι
Με το phpMyAdmin (στο DirectAdmin κάτω από τη Διαχείριση Βάσεων Δεδομένων) κοιτάτε μέσα στη βάση δεδομένων. Μια κανονική εγκατάσταση έχει δώδεκα πίνακες· τα πρόσθετα συχνά προσθέτουν περισσότερους. Οι σημαντικότεροι:
| Πίνακας | Τι περιέχει |
|---|---|
wp_posts | Άρθρα, σελίδες, αναθεωρήσεις, στοιχεία μενού, και στα θέματα εμφάνισης με μπλοκ επίσης πρότυπα και μοτίβα. Επίσης οι εικόνες είναι εδώ ένα "άρθρο" τύπου attachment |
wp_postmeta | Πρόσθετα δεδομένα για τα άρθρα, όπως η τιμή ενός προϊόντος ή ρυθμίσεις ενός εργαλείου κατασκευής σελίδων |
wp_options | Ρυθμίσεις του ιστότοπου και των πρόσθετων. Εδώ βρίσκονται το siteurl και το home (μάθημα 3.1), το όνομα του ενεργού θέματος εμφάνισης και η λίστα ενεργών πρόσθετων |
wp_users και wp_usermeta | Χρήστες, οι (κρυπτογραφημένοι) κωδικοί πρόσβασής τους και ο ρόλος τους |
wp_terms, wp_term_taxonomy, wp_term_relationships | Κατηγορίες, ετικέτες και ποια άρθρα ανήκουν σε αυτές |
wp_comments και wp_commentmeta | Σχόλια |
Δύο χρήσιμες πληροφορίες. Πρώτον: στο wp_options βρίσκονται τα siteurl και home. Αν αυτά είναι λανθασμένα (για παράδειγμα μετά από μια μεταφορά), ο ιστότοπός σας στέλνει όλους στη λάθος διεύθυνση και δεν μπορείτε πλέον να μπείτε στον Πίνακα Ελέγχου. Τότε μπορείτε να τα διορθώσετε στο phpMyAdmin ή με κανόνες στο wp-config.php (μάθημα 3.1). Δεύτερον: πολλές ρυθμίσεις αποθηκεύονται σε σειριοποιημένη μορφή (serialized), μια μορφή PHP στην οποία το μήκος κάθε κειμένου μετράται ρητά. Αν προσαρμόσετε μια τέτοια τιμή με το χέρι, ή αν εφαρμόσετε ένα απλό "εύρεση και αντικατάσταση" στη βάση δεδομένων, το μήκος δεν συμφωνεί πλέον και η ρύθμιση χαλάει (μάθημα 3.2).
Το να κοιτάτε στο phpMyAdmin είναι ασφαλές. Αλλαγές κάνετε μόνο αν ξέρετε τι κάνετε, και πάντα με αντίγραφο ασφαλείας.
Στην πράξη: έτσι μοιάζει σε έναν πίνακα ελέγχου
Ως παράδειγμα χρησιμοποιούμε το DirectAdmin. Στο cPanel και στο Plesk τα αντίστοιχα στοιχεία ονομάζονται επίσης File Manager και phpMyAdmin.
- Ανοίξτε το File Manager και μεταβείτε στο
domains/example.com/public_html. Ενεργοποιήστε την εμφάνιση κρυφών αρχείων για να δείτε το.htaccess. - Κάντε κλικ στο
wp-config.phpκαι επιλέξτε προβολή (όχι επεξεργασία). Αναζητήστε τοDB_NAMEκαι το$table_prefix. - Ανοίξτε το phpMyAdmin, επιλέξτε αριστερά τη βάση δεδομένων με αυτό το όνομα και δείτε ποιοι πίνακες υπάρχουν.
- Κάντε κλικ στον πίνακα
wp_options(με το δικό σας πρόθεμα) και αναζητήστε τις γραμμέςsiteurlκαιhome.
Σύνοψη
- Ένας ιστότοπος WordPress είναι αρχεία συν βάση δεδομένων· ένα αντίγραφο ασφαλείας χρειάζεται και τα δύο.
- Τα
wp-admin,wp-includesκαι τα μεμονωμένα αρχεία core ανήκουν στο WordPress· τοwp-contentείναι δικό σας. - Το wp-config.php περιέχει τα στοιχεία της βάσης δεδομένων, τα κλειδιά και τα salts, το πρόθεμα πινάκων και ρυθμίσεις όπως το WP_DEBUG. Μην αποθηκεύετε ποτέ αντίγραφό του στον φάκελο ιστού.
- Το
.htaccessπροωθεί καθετί που δεν είναι αρχείο στο index.php· δικούς σας κανόνες τοποθετείτε έξω από τα μπλοκ του WordPress. - Στο
wp_optionsβρίσκονται τα siteurl και home· σειριοποιημένα δεδομένα δεν τα προσαρμόζετε με το χέρι.
Κουίζ
Άσκηση
Άσκηση D1.3: Εξερευνήστε τη δική σας εγκατάσταση. Ανοίξτε τον φάκελο ιστού σας στο File Manager ή με ένα πρόγραμμα FTP, και στη συνέχεια τη βάση δεδομένων σας στο phpMyAdmin. Μην κάνετε τίποτα άλλο εκτός από το να κοιτάξετε. Σημειώστε τι βρήκατε και συμπληρώστε: το πρόθεμα πινάκων, τον αριθμό πινάκων στη βάση δεδομένων, τις τιμές του siteurl και του home στο wp_options, και τους φακέλους μέσα στο wp-content. Γράψτε επίσης αν υπάρχουν αρχεία στο wp-content/mu-plugins και αν ξέρετε από πού προέρχονται. Μην μοιράζεστε ποτέ τον κωδικό πρόσβασης της βάσης δεδομένων σας, ούτε σε αυτή τη φόρμα.
Άσκηση D1.3: Εξερευνήστε τη δική σας εγκατάσταση
Αυτή την άσκηση την κάνετε μόνοι σας: κανείς δεν την ελέγχει. Σημειώστε τι έχετε κάνει και επισημάνετε την άσκηση ως ολοκληρωμένη.
Το πρόθεμα τελειώνει σε κάτω παύλα (για παράδειγμα wp_ ή έναν τυχαίο κωδικό). Μια συνηθισμένη εγκατάσταση έχει 12 πίνακες· τα πρόσθετα προσθέτουν περισσότερους. Τα siteurl και home ξεκινούν με https://. Μην μοιράζεστε ποτέ τον κωδικό πρόσβασης της βάσης δεδομένων από το wp-config.php, ούτε εδώ.
Τα τικ και οι σημειώσεις σας παραμένουν μόνο σε αυτό το πρόγραμμα περιήγησης· δεν τα στέλνουμε πουθενά. Αν έχετε εγγραφεί, αποθηκεύουμε στο Τα μαθήματά μου μόνο ότι έχετε ολοκληρώσει την άσκηση.
Περαιτέρω ανάγνωση
Αυτά τα άρθρα περιγράφουν τα βήματα στους πίνακες ελέγχου του WebOké· σε άλλους πίνακες ελέγχου λειτουργούν με παρόμοιο τρόπο.
- Εγχειρίδιο DirectAdmin 11.1: Άνοιγμα της Διαχείρισης αρχείων: οι φάκελοι στο πακέτο σας
- Εγχειρίδιο DirectAdmin 11.4: Εμφάνιση και επεξεργασία κρυφών αρχείων όπως το .htaccess
- Εγχειρίδιο DirectAdmin 12.3: phpMyAdmin ανοίγματος και χρήσης
- Ποιο είναι το όνομα χρήστη / ο κωδικός πρόσβασης / το όνομα βάσης δεδομένων για τη MySQL;
- Εγχειρίδιο DirectAdmin 18.6: Σφάλμα κατά τη δημιουργία σύνδεσης με τη βάση δεδομένων
- wp-config.php (developer.wordpress.org, Αγγλικά): https://developer.wordpress.org/advanced-administration/wordpress/wp-config/
