Αν το αρχείο functions.php είναι το ποιο σημαντικό αρχείο μέσα στο wordpress theme σας, τότε το αρχείο wp-config.php είναι το σημαντικότερο αρχείο σε ολόκληρη την εγκατάσταση του WordPress. Αυτό το αρχείο μπορείτε να το χρησιμοποιήσετε για να ρυθμίσετε λειτουργίες της βάσης δεδομένων, να βελτιώσετε την απόδοση του WordPress, καθώς επίσης να αυξήσετε και τα επίπεδα ασφάλειας. Σε αυτό το άρθρο θα μοιραστώ μαζί σας μερικά από τα ποιο χρήσιμα μυστικά ρυθμίσεων του WordPress που ίσως δεν γνωρίζετε ακόμα.
Εξ ορισμού το WordPress διανέμετε χωρίς το αρχείο wp-config.php. Το αρχείο ρυθμίσεων που συνοδεύει το WordPress εξ ορισμού είναι ένα αρχείο ρυθμίσεων προ τυποποιημένο με όνομα wp-config-sample.php. Εσείς θα πρέπει να χρησιμοποιήσετε αυτό το αρχείο σαν δείγμα για να δημιουργήσετε το κανονικό αρχείο wp-config.php. Οι περισσότεροι χρήστες δεν μπαίνουν στη διαδικασία να δημιουργήσουν αυτό το αρχείο χειρωνακτικά γιατί το δημιουργεί αυτόματα το WordPress για αυτούς κατά τη διαδικασία εγκατάστασης. Κατά την εγκατάσταση τροποποιείτε μόνο σημαντικές ρυθμίσεις του αρχείου wp-config.php οι οποίες είναι απαραίτητες για τη λειτουργία του WordPress. Έτσι, αρχικά θα δούμε τις βασικές ρυθμίσεις του WordPress μέσα σε αυτό το αρχείο.
Όταν ανεβάσετε το WordPress μέσω FTP στο Server σας, και μετά ανοίξετε τη σελίδα σας με τον browser για πρώτη φορά θα δείτε μια σελίδα σας αυτή που ακολουθεί
Βασικά η εγκατάσταση σας λέει πως επειδή η αυτόματη δημιουργία του wp-config.php μπορεί να μην πραγματοποιηθεί σε όλους τους διακομιστές, μπορείτε να επεξεργαστείτε και να μετονομάσετε το αρχείο wp-config-sampe.php. Θα πρέπει να σημειωθεί πως η αυτόματη διαδικασία δημιουργίας του wp-config.php εκτελείτε σωστά στις περισσότερες των περιπτώσεων. Το επόμενο βήμα θα πρέπει να μοιάζει κάπως έτσι :
Σε αυτή τη σελίδα πρέπει να πληκτρολογήσετε μερικές βασικές πληροφορίες για την εγκατάσταση και λειτουργία του WordPress. Οι πληροφορίες αυτές έχουν να κάνουν με τη βάση δεδομένων. Ότι και να πληκτρολογήσετε εδώ θα περάσει στο αρχείο wp-config.php κάπως έτσι :
define('DB_NAME','database-name'); define('DB_USER','database-username'); define('DB_PASSWORD','database-password'); define('DB_HOST','localhost');
Εξ ορισμού ο διακομιστής βάσης δεδομένων είναι ο localhost επειδή λειτουργεί με τους περισσότερους διακομιστές, αλλά υπάρχουν και διακομιστές που απαιτούν διαφορετικές ρυθμίσεις, και έτσι θα πρέπει να αλλάξετε αυτή την ιδιότητα αν το WordPress σας είναι σε έναν από τους ακόλουθους hosts:
Ένα από τα ποιο ωραία trick για το wp-config.php είναι το ακόλουθο για να εντοπίσετε το διακομιστή βάσης δεδομένων :
define('DB_HOST', $_ENV{DATABASE_SERVER});
Κάντε επικόλληση του κώδικα στο wp-config.php και κατά πάσα πιθανότατα θα εντοπίσει αυτόματα το διακομιστή βάσης δεδομένων. Για να περάσετε αυτή τη ρύθμιση θα πρέπει να επεξεργαστείτε χειρωνακτικά το wp-config.php
Τα κλειδιά ασφαλείας του WordPress είναι σύνολα από τυχαίες μεταβλητές που βελτιώνουν την κρυπτογράφηση των πληροφοριών που αποθηκεύονται στα Cookie των χρηστών. Πριν από την έκδοση WordPress 3.0 έπρεπε να δημιουργήσετε αυτές τις εγγραφές στο αρχείο wp-config.php με το χέρι. Μετά την έκδοση 3.0 αυτές οι εγγραφές τοποθετούνται στο αρχείο ρυθμίσεων του WordPress αυτόματα. Επίσης πριν την έκδοση 3.0 είχατε τη δυνατότητα αν δημιουργήσετε μόνο 4 κλειδιά ασφαλείας, αλλά μετά την έκδοση 3.0 είναι διαθέσιμα 8 κλειδιά ασφαλείας. Τα κλειδιά αυτά είναι τα ακόλουθα :
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', 'βάλτε την μοναδική σας φράση εδώ');
Αν θέλετε μπορείτε να πάρετε ένα σύνολο από αυτά τα κλειδιά από αυτή τη σελίδα.
Κατά την εγκατάσταση του WordPress με τον οδηγό εγκατάστασης, μία από τις επιλογές που έχετε είναι το πρόθεμα που θέλετε να χρησιμοποιήσετε στους πίνακες της βάσης δεδομένων. Αυτή η μεταβλητή αποθηκεύεται στο αρχείο wp-config.php έτσι:
$table_prefix = 'wp_';
Θα σας πρότεινα να χρησιμοποιήσετε κάτι διαφορετικό από το wp_ έτσι ώστε να δώσετε λίγη παραπάνω δουλειά στους υποψήφιους hacker της σελίδας σας. Ωστόσο αν έχετε ήδη εγκατεστημένο το wordpress στο διακομιστή σας και λειτουργεί μην πειράξετε αυτή την ρύθμιση.
Εξ ορισμού η γλώσσα εγκατάστασης του WordPress είναι η αγγλική, αλλά μπορείτε να την αλλάξετε έτσι ώστε να ταιριάζει με την δική σας γλώσσα μέσα από αυτές τις ρυθμίσεις :
define('WPLANG', ''); define('LANGDIR', '');
Το αρχείο μετάφρασης (.mo) θα πρέπει να τοποθετηθεί την προεπιλεγμένη θέση η οποία είναι wp-content/languages (πρώτη) και wp-includes/languages (δεύτερη). Αν προσέξατε, στις παραπάνω μεταβλητές μπορείτε να αλλάξετε τον κατάλογο που αποθηκεύονται τα αρχεία γλώσσας.
Για τους προγραμματιστές, το WordPress έχει αυτή την υπέροχη λειτουργία, που τους επιτρέπει να εντοπίζουν τα σφάλματα, και απαγορευμένες συναρτήσεις. Εξ ορισμού αυτή η ρύθμιση είναι false, αλλά κατά τη διαδικασία ανάπτυξης οι προγραμματιστές θα πρέπει να την θέτουν σε true.
// Απενεργοποίηση της αποσφαλμάτωσης define(‘WP_DEBUG’, false); // Ενεργοποίηση της αποσφαλμάτωσης define(‘WP_DEBUG’, true);
Στις ρυθμίσεις του WordPress, ορίζετε τη διεύθυνση τη διεύθυνση της ιστοσελίδας σας. Αυτές οι ρυθμίσεις αποθηκεύονται στη βάση δεδομένων σας, και κάθε φορά που χρειάζεστε αυτή την πληροφορία εκτελείτε αυτόματα ένα ερώτημα στη βάση δεδομένων. Μετά την έκδοση 2.2 προστέθηκαν αυτές οι δύο ρυθμίσεις στο αρχείο ρυθμίσεων με σκοπώ να αντικαταστήσουν αυτές που είναι αποθηκευμένες στη βάση δεδομένων χωρίς βέβαια να τις αλλάξουν.
define('WP_HOME', 'http://www.wpbeginner.com'); define('WP_SITEURL', 'http://www.wpbeginner.com');
Με την εισαγωγή αυτών των ρυθμίσεων στο αρχείο wp-config.php ουσιαστικά μειώνετε τα ερωτήματα προς τη βάση δεδομένων, και έτσι βελτιώνετε την ταχύτητα της ιστοσελίδας σας.
Μπορείτε να παρακάμψετε τα δικαιώματα των αρχείων, αν ο διακομιστής σας έχει περιοριστικά δικαιώματα αρχείων για όλα τα αρχεία. Βέβαια οι περισσότεροι από εσάς δεν το χρειάζεστε αυτό, αλλά το γράφω για αυτούς που ρο χρειάζονται:
define('FS_CHMOD_FILE', 0755); define('FS_CHMOD_DIR', 0644);
Στην ποιο πρόσφατη έκδοση του WordPress, υπάρχει ένα νέο χαρακτηριστικό το οποίο αποκαλείτε “Αναθεώρηση άρθρων“. Αυτή η λειτουργία αποθηκεύει τα άρθρα σας ενώ τα γράφετε για την περίπτωση που ο browser σας διακόψει τη λειτουργία του για κάποιο λόγο. Αυτή η λειτουργία επιτρέπει επίσης στους χρήστες να πάνε πίσω, σε προηγούμενη έκδοση του άρθρου τους στην περίπτωση που δεν τους αρέσει το ήδη υπάρχον άρθρο. Ενώ αυτό το άρθρο σε μερικούς από εμάς αρέσει πάρα πολύ σε άλλους δεν αρέσει καθόλου. Αυτό το νέο χαρακτηριστικό έχει μερικές ρυθμίσεις που μπορείτε να αλλάξετε για να το προσαρμόσετε όπως εσείς το θέλετε.
Εξ ορισμού το WordPress αποθηκεύει αυτόματα το άρθρο σας κάθε 60 δευτερόλεπτα, αλλά αν νομίζετε πως αυτό είναι πολύ τότε μπορείτε να το αλλάξετε με τον ακόλουθο κώδικα :
define('AUTOSAVE_INTERVAL', 120); // Σε δευτερόλεπτα
Μερικά από τα άρθρα σας μπορεί να έχουν 10, 20 ή και 100 αναθεωρήσεις ανάλογα με τον ιδιοκτήτη του blog. Αν νομίζετε πως αυτό είναι ενοχλητικό, τότε μπορείτε να ορίσετε εσείς το σύνολο των αναθεωρήσεων ανά άρθρο.
define('WP_POST_REVISIONS', 5);
Σε αυτή την ρύθμιση μπορείτε να βάλετε όποιο ακέραιο αριθμό θέλετε.
Τέλος αν καμία από τις παραπάνω ρυθμίσεις που σας έδειξα δεν σας ευχαριστεί, τότε μπορείτε να απενεργοποιήσετε πλήρως αυτή τη λειτουργία
define('WP_POST_REVISIONS', false);
Στην έκδοση WordPress 2.9 προστέθηκε μια νέα ιδιότητα που ονομάζετε “κάδος”. Η λειτουργία αυτής της νέας ιδιότητας είναι παρόμοια με αυτή του κάδου ανακύκλωσης των Windows, έτσι, αντί να διαγράφετε μόνιμα τα άρθρα σας, μπορείτε να τα στέλνετε στον κάδο και να αποφασίζετε μετά αν θέλετε να τα διαγράψετε οριστικά. Αυτή η λειτουργία βοηθά πολύ τους χρήστες που πάτησαν κατά λάθος το πλήκτρο “Διαγραφή”, και σίγουρα μπορούμε όλοι μας να μπούμε κάποια στιγμή σε αυτή την κατηγορία. Το πρόβλημα όμως με αυτό το χαρακτηριστικό είναι που πρέπει να αδειάζεται τον κάδο τακτικά. Εξ ορισμού ο κάδος αδειάζει κάθε 30 ημέρες, αλλά μπορείτε να αλλάξετε αυτό το ρυθμό με την ρύθμιση που ακολουθεί :
define('EMPTY_TRASH_DAYS', 7 ); // Ακέραιος, είναι ο αριθμός των ημερών.
Επίσης αν δεν σας αρέσει καθόλου αυτό το χαρακτηριστικό μπορείτε να το απενεργοποιήσετε με την παρακάτω ρύθμιση :
define('EMPTY_TRASH_DAYS', 0 );
Να θυμάστε όμως, πως αν θέσετε αυτή την τιμή σε 0, το WordPress δεν θα σας ρωτάει αν θέλετε να διαγράψετε το επιλεγμένο αρχείο και έτσι κάθε λανθασμένο πάτημα του πλήκτρου διαγραφή μπορεί να σας κοστίσει….
Εξ ορισμού, το WordPress σας επιτρέπει να ενημερώνετε τα πρόσθετα σας και τον πυρήνα του WordPress από τον πίνακα ελέγχου. Υπάρχουν όμως μερικοί διακομιστές που απαιτούν μια σύνδεση μέσω FTP ή SSH προκειμένου να κάνουν αυτές τις αναβαθμίσεις. Με τον κώδικα που ακολουθεί μπορείτε να δώσετε τις απαραίτητες πληροφορίες στο WordPress για τις συνδέσεις μέσω FTP ή SSH.
// Επιλογή του τρόπου επικοινωνίας: "direct", "ssh", "ftpext", or "ftpsockets" define('FS_METHOD', 'ftpext'); // Απόλυτη διαδρομή για τον κατάλογο εγκατάστασης του WordPress define('FTP_BASE', '/path/to/wordpress/'); // Απόλυτη διαδρομή για τον κατάλογο wp-content define('FTP_CONTENT_DIR', '/path/to/wordpress/wp-content/'); // Απόλυτη διαδρομή για τον κατάλογο plugins define('FTP_PLUGIN_DIR ', '/path/to/wordpress/wp-content/plugins/'); // Απόλυτη διαδρομή για το δημόσιο κλειδί SSH define('FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub'); // Απόλυτη διαδρομή για το ιδιοτικό κλειδί SSH define('FTP_PRIVKEY', '/home/username/.ssh/id_rsa'); // Το όνομα χρήστη είτε για το FTP είτε για το SSH define('FTP_USER', 'username'); // Κωδικός πρόσβασης για τον χρήστη FTP define('FTP_PASS', 'password'); // διακομιστής:θύρα για το διακομιστή SSH/FTP define('FTP_HOST', 'ftp.example.org:21');
Μετά την έκδοση του WordPress 2.2 έχει προστεθεί ένα νέο χαρακτηριστικό που ονομάζετε “Αυτόματη βελτιστοποίηση βάσης δεδομένων”. Για να ενεργοποιήσετε αυτό το χαρακτηριστικό θα πρέπει να χρησιμοποιήσετε την ακόλουθη συνάρτηση :
define('WP_ALLOW_REPAIR', true);
Μετά την ενεργοποίηση αυτού του χαρακτηριστικού μπορείτε να δείτε τις ρυθμίσεις στην ακόλουθη σελίδα:
http://www.yoursite.com/wp-admin/maint/repair.php
Ο χρήστης δεν είναι απαραίτητο να είναι συνδεδεμένος για να προσπελάσει αυτή τη σελίδα από τι στιγμή που έχει οριστεί η παράμετρος WP_ALLOW_REPAIR σε true. Αυτό συμβαίνει γιατί ο σκοπός αυτής της λειτουργίας είναι να επιδιορθώνει κατεστραμμένες βάσεις δεδομένων, με αποτέλεσμα σε μια κατεστραμμένη βάση δεδομένων ο χρήστης μπορεί να μην έχει τη δυνατότητα να συνδεθεί. Για το λόγο αυτό θα πρέπει μετά την επιδιόρθωση της βάσης δεδομένων να αφαιρέσετε αυτή τη ρύθμιση από το αρχείο wp-config.php.
Σε ορισμένα plugins μπορεί έχετε πρόβλημα με τα όρια της μνήμης που χρησιμοποιεί η PHP. Με τη ρύθμιση που ακολουθεί μπορείτε να αλλάξετε τα όρια της μνήμης :
define('WP_MEMORY_LIMIT', '64M');
Προσοχή: αυτή η ρύθμιση μπορεί να μην λειτουργεί σε κάποιους διακομιστές. Σε αυτή την περίπτωση θα πρέπει να επικοινωνήσετε με τους διαχειριστές του διακομιστή για να σας αυξήσουν τα όρια μνήμης για την PHP.
Για τους προγραμματιστές είναι χρήσιμο να έχουν αρχεία καταγραφής σφαλμάτων. Μπορείτε εύκολα να δημιουργήσετε αρχεία καταγραφής σφαλμάτων μέσω του αρχείου wp-config.php. Για αρχή δημιουργήστε το αρχείο στο οποίο θα γίνετε η καταγραφή των σφαλμάτων “php_error.log” και δώστε δικαιώματα στο αρχείο για εγγραφή δεδομένων από το διακομιστή, και αποθηκεύστε το σε ένα φάκελο της επιλογής σας. Τέλος αλλάξτε τη διαδρομή του αρχείου στην τρίτη γραμμή του κώδικα που ακολουθεί :
@ini_set('log_errors','On'); @ini_set('display_errors','Off'); @ini_set('error_log','/home/path/domain/logs/php_error.log');
Από την έκδοση του WordPress 2.6 και μετά, μπορείτε να αλλάξετε τη θέση του καταλόγου wp-content. Αυτή η ρύθμιση βοηθάει στην ασφάλεια της ιστοσελίδας σας. Μπορείτε να κάνετε την αλλαγή θέσης του φακέλου σας wp-content με τον κώδικα που ακολουθεί :
define( 'WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/wp-content' ); define( 'WP_CONTENT_URL', 'http://example/blog/wp-content'); define( 'WP_PLUGIN_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/wp-content/plugins' ); define( 'WP_PLUGIN_URL', 'http://example/blog/wp-content/plugins');
Ορίζουμε επίσης και τη διαδρομή στην οποία αποθηκεύονται τα plugins γιατί μερικά plugins μπορεί να μην λειτουργήσουν.
Εξ ορισμού, το WordPress αποθηκεύει όλους τους χρήστες και τις πληροφορίες τους στους πίνακες wp_users και wp_usermeta. Με την ακόλουθη συνάρτηση μπορείτε να ορίσετε τους πίνακες που θέλετε εσείς να αποθηκεύονται οι χρήστες και οι πληροφορίες τους.
define('CUSTOM_USER_TABLE', $table_prefix.'my_users'); define('CUSTOM_USER_META_TABLE', $table_prefix.'my_usermeta');
Στο Wordpres 3.0, η έκδοση WPMU έχει ενωθεί με τον πυρήνα. Για να ενεργοποιήσετε αυτή τη λειτουργία, θα πρέπει να εισάγετε αυτό τον κώδικα στο wp-config.php
define('WP_ALLOW_MULTISITE', true);
Μετά την εισαγωγή αυτής της επιλογής στο wp-config.php, θα δημιουργηθεί μια νέα σελίδα στον πίνακα διαχείρισης του WordPress που θα ονομάζετε “Δίκτυο” κάτω από την ενότητα “Εργαλεία”.
Καλημέρα Σπύρο.
Το μήνυμα αυτό σημαίνει πως η σύνδεση με τη βάση δεδομένων δεν μπορεί να πραγματοποιηθεί για κάποιο λόγο.
Από μόνο αυτό δεν νομίζω πως μπορεί να επηρεάζεται από το WordPress. Το πιθανότερο, και με τα στοιχεία που αυτή τη στιγμή έχω είναι να πέφτει ανά διαστήματα ο MySQL Server με αποτέλεσμα να μην επιτρέπει στο WordPress να συνδεθεί σε αυτόν.
spiros
25 Δεκεμβρίου 2011 | 16:56 | Σχόλιο |Eχω στήσει ένα blog με wordpress και μερικές φορές το blog δεν εμφανίζεται, μου εμφανιζει μια λευκη σελιδα με το παρακάτω μήνυμα
error establishing a database connection
το site δουλεύει κανονικά απλά το μήνυμα αυτό μου το εμφανίζει σπανια, το wp-config είναι ένταξη δεν έχει πρόβλημα
ξερει κανεις πως διορθωνεται αυτο το προβλημα.