Προαπαιτούμενα
Βήμα 1: Ενημερώστε το σύστημα CentOS
Βήμα 2: Εγκαταστήστε τον διακομιστή Web Apache
Βήμα 3: Απενεργοποιήστε το SELinux (αν είναι ενεργοποιημένο)
Βήμα 4: Εγκαταστήστε την PHP 7.1
Βήμα 5: Εγκαταστήστε το διακομιστή MariaDB (MySQL).
Βήμα 6: Δημιουργήστε μια βάση δεδομένων για το SilverStripe
Βήμα 7: Εγκαταστήστε τα αρχεία Silverstripe CMS
Βήμα 8: Ολοκληρώστε την εγκατάσταση SilverStripe CMS
Το SilverStripe είναι ένα ευέλικτο και επεκτάσιμο, δωρεάν και ανοιχτού κώδικα, εταιρικής ποιότητας Σύστημα Διαχείρισης Περιεχομένου (CMS) γραμμένο σε PHP. Είναι εύκολο στη χρήση και στην εκμάθηση, πολύ στιβαρό και ασφαλές, έχει εξαιρετικό επαναχρησιμοποιήσιμο, καλά βελτιστοποιημένο και ευανάγνωστο κώδικα και περιλαμβάνει μια ισχυρή μηχανή προτύπων που κάνει τη δημιουργία ιστοσελίδων εύκολη και γρήγορη.
Προαπαιτούμενα
- Μια καθαρή παρουσία διακομιστή Vultr CentOS 7 με πρόσβαση SSH
- Ένας χρήστης sudo χωρίς root
Βήμα 1: Ενημερώστε το σύστημα CentOS
Πριν εγκαταστήσετε οποιοδήποτε πακέτο στην παρουσία του διακομιστή CentOS, θα ενημερώσουμε πρώτα το σύστημα.
Συνδεθείτε στον διακομιστή χρησιμοποιώντας έναν sudo
χρήστη που δεν είναι root και εκτελέστε την ακόλουθη εντολή.
sudo yum -y update
Βήμα 2: Εγκαταστήστε τον διακομιστή Web Apache
Εγκαταστήστε τον διακομιστή ιστού Apache.
sudo yum -y install httpd
Στη συνέχεια, χρησιμοποιήστε την systemctl
εντολή για να ξεκινήσετε και να ενεργοποιήσετε τον Apache να εκτελείται αυτόματα κατά την εκκίνηση.
sudo systemctl enable httpd
sudo systemctl start httpd
Τώρα πρέπει να βεβαιωθούμε ότι η mod_rewrite
λειτουργική μονάδα Apache είναι φορτωμένη. Μπορούμε να το κάνουμε αυτό αναζητώντας τον όρο " mod_rewrite
" στο αρχείο διαμόρφωσης βασικών μονάδων του CentOS Apache . Μπορείτε να χρησιμοποιήσετε οποιοδήποτε πρόγραμμα επεξεργασίας τερματικού για αυτό, σε αυτό το σεμινάριο, θα το χρησιμοποιήσουμε vi
καθώς είναι τόσο ευρέως διαθέσιμο.
sudo vi /etc/httpd/conf.modules.d/00-base.conf
Αναζητήστε τον όρο mod_rewrite
μέσα vi
πληκτρολογώντας /mod_rewrite
στη λειτουργία εντολής (αφού πατήσετε το πλήκτρο " escape
").
Εάν mod_rewrite
έχει φορτωθεί η λειτουργική μονάδα Apache, η γραμμή διαμόρφωσης θα πρέπει να μοιάζει με αυτό.
LoadModule rewrite_module modules/mod_rewrite.so
Εάν η παραπάνω γραμμή ξεκινά με άνω και κάτω τελεία, θα χρειαστεί να αφαιρέσετε το ερωτηματικό για να καταργήσετε το σχόλιο της γραμμής και να φορτώσετε τη μονάδα. Αυτό, φυσικά, ισχύει και για οποιεσδήποτε άλλες απαιτούμενες μονάδες Apache.
Εάν χρησιμοποιείτε το vi
πρόγραμμα επεξεργασίας, μπορείτε να αποθηκεύσετε το αρχείο πατώντας το πλήκτρο " Escape
" (για να εισέλθετε στη λειτουργία εντολών) και στη συνέχεια πληκτρολογήστε :wq
για να γράψετε τυχόν αλλαγές στο αρχείο και να κλείσετε το πρόγραμμα επεξεργασίας.
Τώρα πρέπει να επεξεργαστούμε το προεπιλεγμένο αρχείο ρυθμίσεων του Apache, ώστε mod_rewrite
να λειτουργεί σωστά με το SilverStripe.
sudo vi /etc/httpd/conf/httpd.conf
Βρείτε την ενότητα που ξεκινά με <Directory "/var/www/html">
και αλλάξτε AllowOverride none
σε AllowOverride All
. Το τελικό αποτέλεσμα (με όλα τα σχόλια αφαιρεμένα) θα πρέπει να μοιάζει κάπως έτσι.
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Επίσης, βεβαιωθείτε ότι η DocumentRoot
οδηγία σας οδηγεί στον σωστό κατάλογο. Η επιλογή διαμόρφωσης πρέπει να μοιάζει με αυτό.
DocumentRoot "/var/www/html"
Τώρα μπορείτε να αποθηκεύσετε και να κλείσετε το αρχείο διαμόρφωσης του Apache.
Τώρα πρέπει να ανοίξουμε τις προεπιλογές HTTP
και τις HTTPS
θύρες καθώς θα είναι αποκλεισμένες firewalld
από προεπιλογή.
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
Φορτώστε ξανά το τείχος προστασίας για να εφαρμόσετε τις αλλαγές.
sudo firewall-cmd --reload
Η επανεκκίνηση του Apache μετά από οποιαδήποτε αλλαγή διαμόρφωσης είναι σίγουρα μια καλή συνήθεια, οπότε ας το κάνουμε τώρα.
sudo systemctl restart httpd
Βήμα 3: Απενεργοποιήστε το SELinux (αν είναι ενεργοποιημένο)
Το SELinux σημαίνει "Security Enhanced Linux". Είναι μια βελτίωση ασφαλείας στο Linux που επιτρέπει στους χρήστες και τους διαχειριστές περισσότερο έλεγχο στον έλεγχο πρόσβασης. Είναι απενεργοποιημένο από προεπιλογή σε περιπτώσεις Vultr CentOS 7, αλλά θα καλύψουμε τα βήματα για να το απενεργοποιήσετε, μόνο σε περίπτωση που δεν ξεκινάτε από καθαρή εγκατάσταση και ήταν προηγουμένως ενεργοποιημένη.
Για να αποφύγουμε προβλήματα δικαιωμάτων αρχείων με το SilverStripe CMS, πρέπει να διασφαλίσουμε ότι το SELinux είναι απενεργοποιημένο.
Αρχικά, ας ελέγξουμε εάν το SELinux είναι ενεργοποιημένο ή απενεργοποιημένο με την sestatus
εντολή.
sudo sestatus
Αν δείτε κάτι σαν: SELinux status: disabled
τότε είναι σίγουρα απενεργοποιημένο και μπορείτε να μεταβείτε κατευθείαν στο Βήμα 4. Εάν δείτε οποιοδήποτε άλλο μήνυμα, τότε θα πρέπει να ολοκληρώσετε αυτήν την ενότητα.
Ανοίξτε το αρχείο διαμόρφωσης SELinux με τον αγαπημένο σας επεξεργαστή τερματικού.
sudo vi /etc/selinux/config
Και αλλάξτε SELINUX=enforcing
σε SELINUX=disabled
και μετά αποθηκεύστε το αρχείο.
Για να εφαρμόσετε την αλλαγή διαμόρφωσης, το SELinux απαιτεί επανεκκίνηση του διακομιστή, ώστε να μπορείτε είτε να επανεκκινήσετε τον διακομιστή χρησιμοποιώντας τον πίνακα ελέγχου Vultr είτε απλά να χρησιμοποιήσετε την shutdown
εντολή.
sudo shutdown -r now
Όταν ο διακομιστής επανεκκινήσει την περίοδο λειτουργίας SSH σας θα αποσυνδεθεί και μπορεί να δείτε ένα μήνυμα που παραπονιέται για ένα 'broken pipe'
ή σας ενημερώνει 'Connection closed by remote host'
. Αυτό δεν είναι τίποτα ανησυχητικό, απλά περιμένετε 20 δευτερόλεπτα περίπου και μετά SSH ξανά (με το δικό σας όνομα χρήστη και τομέα).
ssh [email protected]
Ή (με το δικό σας όνομα χρήστη και διεύθυνση IP).
ssh [email protected]
Αφού συνδεθείτε ξανά, θα πρέπει να ελέγξετε ξανά την κατάσταση του SELinux με την sestatus
εντολή για να βεβαιωθείτε ότι είναι σωστά απενεργοποιημένο.
sudo sestatus
Θα πρέπει να δείτε ένα μήνυμα που λέει SELinux status: disabled
. Εάν δείτε ένα μήνυμα που λέει SELinux status: enabled
(ή κάτι παρόμοιο), θα χρειαστεί να επαναλάβετε τα παραπάνω βήματα και να βεβαιωθείτε ότι έχετε επανεκκινήσει σωστά τον διακομιστή σας.
Βήμα 4: Εγκαταστήστε την PHP 7.1
Το CentOS 7 απαιτεί να προσθέσουμε ένα εξωτερικό αποθετήριο για να εγκαταστήσουμε την PHP 7.1.
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Μπορούμε τώρα να εγκαταστήσουμε την πιο πρόσφατη έκδοση της PHP 7.1 μαζί με τις απαραίτητες μονάδες PHP που απαιτούνται από το SilverStripe.
sudo yum -y install php71w php71w-gd php71w-mbstring php71w-mysql php71w-xml php71w-common php71w-tidy
Σημείωση: Εάν χρησιμοποιείτε μια νεότερη έκδοση της PHP, όπως η PHP 7.2, ίσως χρειαστεί να τροποποιήσετε τους αριθμούς έκδοσης των παραπάνω λειτουργικών μονάδων PHP ώστε να ταιριάζουν με την έκδοση της PHP. Έτσι, για παράδειγμα, εάν χρησιμοποιείτε PHP 7.2, πιθανότατα θα αλλάζατε τη λειτουργική μονάδα php71w-xml
σε php72w-xml
. Λάβετε υπόψη ότι μερικές φορές τα ονόματα των μονάδων αλλάζουν μεταξύ των εκδόσεων, επομένως εάν αντιμετωπίζετε προβλήματα, απλώς επισκεφτείτε τον εξαιρετικό ιστότοπο τεκμηρίωσης της PHP για καθοδήγηση ή, εναλλακτικά, χρησιμοποιήστε την yum search
εντολή για αναζήτηση ισοδύναμων λειτουργικών μονάδων PHP.
Η date.timezone
επιλογή διαμόρφωσης στο php.ini
πρέπει να ρυθμιστεί σωστά. Ανοίξτε λοιπόν το php.ini
αρχείο σας με τον αγαπημένο σας επεξεργαστή τερματικού.
sudo vi /etc/php.ini
Ορίστε την date.timezone
επιλογή στη ζώνη ώρας που προτιμάτε. Για παράδειγμα, ένα παράδειγμα του Λονδίνου θα πρέπει να μοιάζει με αυτό.
date.timezone = Europe/London
Βήμα 5: Εγκαταστήστε το διακομιστή MariaDB (MySQL).
Το CentOS 7 από προεπιλογή χρησιμοποιεί τη βάση δεδομένων MariaDB, η οποία είναι μια βελτιωμένη, πλήρως ανοιχτού κώδικα, αναπτυγμένη κοινότητα, drop-in αντικατάσταση της MySQL.
Εγκαταστήστε τη βάση δεδομένων MariaDB.
sudo yum -y install mariadb-server
Ξεκινήστε και ενεργοποιήστε το MariaDB για αυτόματη εκτέλεση κατά την εκκίνηση.
sudo systemctl enable mariadb
sudo systemctl start mariadb
Ασφαλίστε την εγκατάσταση του MariaDB.
sudo mysql_secure_installation
Ο root
κωδικός πρόσβασης θα είναι κενός, επομένως απλώς πατήστε " Enter
" όταν σας ζητηθεί ο root
κωδικός πρόσβασης.
Όταν σας ζητηθεί να δημιουργήσετε έναν root
χρήστη MariaDB/MySQL επιλέξτε " Y
" (για ναι) και μετά πληκτρολογήστε έναν ασφαλή root
κωδικό πρόσβασης. Απλώς απαντήστε " Y
" σε όλες τις άλλες ερωτήσεις ναι/όχι καθώς οι προεπιλεγμένες προτάσεις είναι οι πιο ασφαλείς επιλογές.
Βήμα 6: Δημιουργήστε μια βάση δεδομένων για το SilverStripe
Συνδεθείτε στο κέλυφος MariaDB ως root
χρήστης MariaDB .
sudo mysql -u root -p
Για πρόσβαση στη γραμμή εντολών MariaDB, απλώς εισαγάγετε τον root
κωδικό πρόσβασης MariaDB όταν σας ζητηθεί.
Εκτελέστε τα ακόλουθα ερωτήματα για να δημιουργήσετε μια βάση δεδομένων MariaDB και χρήστη βάσης δεδομένων για το SilverStripe.
CREATE DATABASE ss_data CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'ss_user'@'localhost' IDENTIFIED BY 'UltraSecurePassword';
GRANT ALL PRIVILEGES ON ss_data.* TO 'ss_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Μπορείτε να αντικαταστήσετε το όνομα της βάσης δεδομένων ss_data
και το όνομα χρήστη ss_user
με κάτι περισσότερο της αρεσκείας σας, αν προτιμάτε. (Λάβετε υπόψη ότι το προεπιλεγμένο μέγιστο μήκος για ονόματα χρήστη στο MariaDB στο CentOS 7 είναι 16 χαρακτήρες). Επίσης, βεβαιωθείτε ότι έχετε αλλάξει τον "UltraSecurePassword" σε έναν πραγματικά ασφαλή κωδικό πρόσβασης.
Βήμα 7: Εγκαταστήστε τα αρχεία Silverstripe CMS
Αλλάξτε τον τρέχοντα κατάλογο εργασίας σας στον προεπιλεγμένο κατάλογο web.
cd /var/www/html/
Εάν λάβετε ένα μήνυμα σφάλματος που λέει κάτι σαν 'No such file or directory'
, δοκιμάστε την ακόλουθη εντολή.
cd /var/www/ ; sudo mkdir html ; cd html
Ο τρέχων κατάλογος εργασίας σας θα πρέπει τώρα να είναι /var/www/html/
. Μπορείτε να το ελέγξετε με την pwd
εντολή (εκτύπωση καταλόγου εργασίας).
pwd
Τώρα χρησιμοποιήστε το wget
για λήψη του SilverStripe CMS tarball.
sudo wget https://silverstripe-ssorg-releases.s3.amazonaws.com/sssites-ssorg-prod/assets/releases/SilverStripe-cms-v3.6.2.tar.gz
Σημείωση: Θα πρέπει να ελέγξετε για την πιο πρόσφατη έκδοση ελέγχοντας τη σελίδα λήψης SilverStripe . Απλώς κάντε δεξί κλικ στο κουμπί λήψης στη σελίδα και αντιγράψτε τη διεύθυνση URL. Στη συνέχεια, μπορείτε να επικολλήσετε την πιο ενημερωμένη διεύθυνση URL tarball στην wget
εντολή που εμφανίζεται παραπάνω.
Καταχωρίστε τον τρέχοντα κατάλογο για να ελέγξετε ότι έχουμε κατεβάσει με επιτυχία το αρχείο.
ls -la
Τώρα αποσυμπιέστε το tarball.
sudo tar xvzf SilverStripe-cms-v3.6.2.tar.gz
Και αλλάξτε την ιδιοκτησία των αρχείων Ιστού για να αποφύγετε προβλήματα αδειών.
sudo chown -R apache:apache * .htaccess
Επανεκκινήστε ξανά τον Apache.
sudo systemctl restart httpd
Και τώρα είμαστε έτοιμοι να προχωρήσουμε στο τελευταίο βήμα.
Βήμα 8: Ολοκληρώστε την εγκατάσταση SilverStripe CMS
Ήρθε η ώρα να επισκεφτείτε τη διεύθυνση IP της παρουσίας του διακομιστή CentOS στο πρόγραμμα περιήγησής σας. Ή, εάν έχετε ήδη διαμορφώσει τις ρυθμίσεις σας στο Vultr DNS (και του έχετε δώσει αρκετό χρόνο για να διαδοθεί), μπορείτε απλώς να επισκεφτείτε τον τομέα σας.
Απλώς εισαγάγετε τις ακόλουθες λεπτομέρειες της βάσης δεδομένων (ή τις αντίστοιχες επιλογές σας) στη σελίδα εγκατάστασης του SilverStripe.
Database server: localhost
Database username: ss_user
Database password: UltraSecurePassword
Database name: ss_data
Τώρα συμπληρώστε το email και τον κωδικό πρόσβασής σας (για πρόσβαση στην ενότητα διαχειριστή του SilverStripe) και ορίστε την προεπιλεγμένη γλώσσα σας.
Email: [email protected]
Password: AnotherUltraSecurePassword
Default language: English UK
Αφού συμπληρώσετε όλα τα απαραίτητα στοιχεία, μπορείτε απλά να κάνετε κλικ στο Install SilverStripe
κουμπί και το νέο SilverStripe CMS θα εγκατασταθεί με επιτυχία.
Τώρα μπορείτε να αρχίσετε να προσθέτετε το περιεχόμενό σας και να διαμορφώσετε την εμφάνιση του ιστότοπού σας. Φροντίστε να ανατρέξετε στον Οδηγό βοήθειας χρήστη SilverStripe CMS για περισσότερες οδηγίες σχετικά με τον τρόπο δημιουργίας και διαμόρφωσης του ιστότοπού σας.