Προαπαιτούμενα
Βήμα 1: Προσθήκη χρήστη Sudo
Βήμα 2: Ενημερώστε το σύστημα CentOS 7
Βήμα 3: Εγκαταστήστε τον διακομιστή Web Apache
Βήμα 4: Ανοίξτε τις θύρες τείχους προστασίας Ιστού
Βήμα 5: Απενεργοποιήστε το SELinux (αν είναι ενεργοποιημένο)
Βήμα 6: Εγκαταστήστε την PHP 7.1
Βήμα 7: Εγκαταστήστε τον διακομιστή MariaDB (MySQL).
Βήμα 8: Δημιουργία βάσης δεδομένων για Directus CMS
Βήμα 9: Εγκαταστήστε τα αρχεία Directus CMS
Βήμα 10: Ολοκληρώστε την εγκατάσταση του Directus CMS
Το Directus 6.4 CMS είναι ένα ισχυρό και ευέλικτο, δωρεάν και ανοιχτού κώδικα Headless Content Management System (CMS) που παρέχει στους προγραμματιστές μια απλή και διαισθητική διεπαφή ιστού για τη διαχείριση περιεχομένου βάσης δεδομένων με εντελώς προσαρμοσμένες αρχιτεκτονικές. Τα παραδοσιακά CMS είναι κατασκευασμένα ως κλειστές πλατφόρμες ειδικά για γρήγορη ανάπτυξη και διαχείριση ιστοτόπων – συνήθως απλών τοποθεσιών και ιστολογίων. Ωστόσο, το σημερινό περιεχόμενο καταναλώνεται από ένα πολύ ευρύτερο φάσμα εφαρμογών, συμπεριλαμβανομένων πολύπλοκων πλατφορμών ιστού, εγγενών εφαρμογών, φορητών συσκευών, περιπτέρων, συσκευών IoT και άλλων έργων που βασίζονται σε δεδομένα. Το Directus 6.4 Headless CMS επιτρέπει τη διαχείριση του περιεχομένου ανεξάρτητα από το μέρος που θα χρησιμοποιηθεί. Με την αποσύνδεση και τη σύνταξη αγνωστικού περιεχομένου εφαρμογής,
Σε αυτό το σεμινάριο πρόκειται να εγκαταστήσουμε το Directus 6.4 CMS σε ένα CentOS 7 LAMP VPS χρησιμοποιώντας διακομιστή ιστού Apache, PHP 7.1 και μια βάση δεδομένων MariaDB.
Προαπαιτούμενα
- Μια καθαρή παρουσία διακομιστή Vultr CentOS 7 με πρόσβαση SSH
Βήμα 1: Προσθήκη χρήστη Sudo
Θα ξεκινήσουμε προσθέτοντας έναν νέο sudoχρήστη.
Πρώτα, συνδεθείτε στον διακομιστή σας ως root:
ssh root@YOUR_VULTR_IP_ADDRESS
Προσθέστε έναν νέο χρήστη που ονομάζεται user1(ή το όνομα χρήστη που προτιμάτε):
useradd user1
Στη συνέχεια, ορίστε τον κωδικό πρόσβασης για τον user1χρήστη:
passwd user1
Όταν σας ζητηθεί, εισαγάγετε έναν ασφαλή και αξέχαστο κωδικό πρόσβασης.
Τώρα ελέγξτε το /etc/sudoersαρχείο για να βεβαιωθείτε ότι η sudoersομάδα είναι ενεργοποιημένη:
visudo
Αναζητήστε μια ενότητα όπως αυτή:
%wheel ALL=(ALL) ALL
Αυτή η γραμμή μας λέει ότι οι χρήστες που είναι μέλη της wheelομάδας μπορούν να χρησιμοποιήσουν την sudoεντολή για να αποκτήσουν rootπρονόμια. Δεν θα σχολιαστεί από προεπιλογή, ώστε να μπορείτε απλά να βγείτε από το αρχείο.
Στη συνέχεια πρέπει να προσθέσουμε user1στην wheelομάδα:
usermod -aG wheel user1
Μπορούμε να επαληθεύσουμε τη user1συμμετοχή στην ομάδα και να ελέγξουμε ότι η usermodεντολή λειτουργούσε με την groupsεντολή:
groups user1
Τώρα χρησιμοποιήστε την suεντολή για να μεταβείτε στον νέο user1λογαριασμό χρήστη sudo :
su - user1
Η γραμμή εντολών θα ενημερωθεί για να υποδείξει ότι είστε πλέον συνδεδεμένοι στο user1λογαριασμό. Μπορείτε να το επαληθεύσετε με την whoamiεντολή:
whoami
Τώρα επανεκκινήστε την sshdυπηρεσία, ώστε να μπορείτε να συνδεθείτε μέσω sshτου νέου λογαριασμού χρήστη sudo που δεν είναι root που μόλις δημιουργήσατε:
sudo systemctl restart sshd
Έξοδος από τον user1λογαριασμό:
exit
Έξοδος από τον rootλογαριασμό (που θα αποσυνδέσει τη sshσυνεδρία σας ):
exit
Μπορείτε τώρα να εισέλθετε sshστην παρουσία διακομιστή από τον τοπικό σας κεντρικό υπολογιστή χρησιμοποιώντας τον νέο user1λογαριασμό χρήστη sudo που δεν είναι root :
ssh user1@YOUR_VULTR_IP_ADDRESS
Εάν θέλετε να εκτελέσετε sudo χωρίς να χρειάζεται να πληκτρολογείτε κωδικό πρόσβασης κάθε φορά, ανοίξτε /etc/sudoersξανά το αρχείο χρησιμοποιώντας visudo:
sudo visudo
Επεξεργαστείτε την ενότητα για την wheelομάδα έτσι ώστε να μοιάζει με αυτό:
%wheel ALL=(ALL) NOPASSWD: ALL
Σημείωση: Η απενεργοποίηση της απαίτησης κωδικού πρόσβασης για τον χρήστη sudo δεν είναι μια συνιστώμενη πρακτική, αλλά περιλαμβάνεται εδώ, καθώς μπορεί να κάνει τη διαμόρφωση του διακομιστή πολύ πιο βολική και λιγότερο ενοχλητική, ειδικά κατά τη διάρκεια μεγαλύτερων περιόδων διαχείρισης συστημάτων. Εάν ανησυχείτε για τις επιπτώσεις στην ασφάλεια, μπορείτε πάντα να επαναφέρετε την αλλαγή διαμόρφωσης στην αρχική, αφού ολοκληρώσετε τις εργασίες διαχείρισης.
Κάθε φορά που θέλετε να συνδεθείτε στον rootλογαριασμό χρήστη μέσα από τον sudoλογαριασμό χρήστη, μπορείτε να χρησιμοποιήσετε μία από τις ακόλουθες εντολές:
sudo -i
sudo su -
Μπορείτε να βγείτε από τον rootλογαριασμό και να επιστρέψετε στον sudoλογαριασμό χρήστη σας ανά πάσα στιγμή πληκτρολογώντας απλώς:
exit
Βήμα 2: Ενημερώστε το σύστημα CentOS 7
Πριν εγκαταστήσετε οποιοδήποτε πακέτο στην παρουσία του διακομιστή CentOS, θα ενημερώσουμε πρώτα το σύστημα.
Βεβαιωθείτε ότι έχετε συνδεθεί στον διακομιστή χρησιμοποιώντας έναν χρήστη sudo που δεν είναι root και εκτελέστε την ακόλουθη εντολή:
sudo yum -y update
Βήμα 3: Εγκαταστήστε τον διακομιστή Web Apache
Εγκαταστήστε τον διακομιστή ιστού Apache:
sudo yum -y install httpd
Στη συνέχεια, χρησιμοποιήστε την systemctlεντολή για να ξεκινήσετε και να ενεργοποιήσετε τον Apache να εκτελείται αυτόματα κατά την εκκίνηση:
sudo systemctl enable httpd
sudo systemctl start httpd
Ελέγξτε το αρχείο διαμόρφωσης του Apache για να βεβαιωθείτε ότι η DocumentRootοδηγία οδηγεί στον σωστό κατάλογο:
sudo vi /etc/httpd/conf/httpd.conf
Η DocumentRootεπιλογή διαμόρφωσης θα μοιάζει με αυτό:
DocumentRoot "/var/www/html"
Τώρα, ας βεβαιωθούμε ότι η mod_rewriteμονάδα Apache είναι φορτωμένη. Μπορούμε να το κάνουμε αυτό αναζητώντας τον όρο " mod_rewrite" στο αρχείο διαμόρφωσης των βασικών μονάδων του Apache .
Ανοίξτε το αρχείο:
sudo vi /etc/httpd/conf.modules.d/00-base.conf
Αναζητήστε τον όρο mod_rewrite.
Εάν mod_rewriteέχει φορτωθεί η λειτουργική μονάδα Apache, θα βρείτε μια γραμμή διαμόρφωσης που μοιάζει με αυτή:
LoadModule rewrite_module modules/mod_rewrite.so
Εάν η παραπάνω γραμμή ξεκινά με άνω και κάτω τελεία, θα χρειαστεί να αφαιρέσετε το ερωτηματικό για να καταργήσετε το σχόλιο της γραμμής και να φορτώσετε τη μονάδα. Αυτό, φυσικά, ισχύει και για οποιεσδήποτε άλλες απαιτούμενες μονάδες Apache.
Τώρα πρέπει να επεξεργαστούμε το προεπιλεγμένο αρχείο ρυθμίσεων του Apache, ώστε mod_rewriteνα λειτουργεί σωστά με το Directus CMS.
Ανοίξτε το αρχείο:
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>
Τώρα αποθηκεύστε και κλείστε το αρχείο διαμόρφωσης του Apache.
Θα κάνουμε επανεκκίνηση του Apache στο τέλος αυτού του σεμιναρίου, αλλά η τακτική επανεκκίνηση του Apache κατά την εγκατάσταση και τη ρύθμιση παραμέτρων είναι σίγουρα μια καλή συνήθεια, οπότε ας το κάνουμε τώρα:
sudo systemctl restart httpd
Βήμα 4: Ανοίξτε τις θύρες τείχους προστασίας Ιστού
Τώρα πρέπει να ανοίξουμε τις προεπιλογές HTTPκαι τις HTTPSθύρες καθώς θα είναι αποκλεισμένες firewalldαπό προεπιλογή.
Ανοίξτε τις θύρες του τείχους προστασίας:
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
Φορτώστε ξανά το τείχος προστασίας για να εφαρμόσετε τις αλλαγές:
sudo firewall-cmd --reload
Θα δείτε τη λέξη να successεμφανίζεται στο τερματικό σας μετά από κάθε επιτυχημένη εντολή διαμόρφωσης τείχους προστασίας.
Μπορούμε γρήγορα να επαληθεύσουμε ότι η HTTPθύρα Apache είναι ανοιχτή μεταβαίνοντας στη διεύθυνση IP ή τον τομέα του στιγμιότυπου διακομιστή σε ένα πρόγραμμα περιήγησης:
http://YOUR_VULTR_IP_ADDRESS/
Θα δείτε την προεπιλεγμένη ιστοσελίδα του Apache στο πρόγραμμα περιήγησής σας.
Βήμα 5: Απενεργοποιήστε το SELinux (αν είναι ενεργοποιημένο)
SELinux stands for "Security Enhanced Linux". It is a security enhancement to Linux which allows users and administrators more control over access control. It is disabled by default on Vultr CentOS 7 instances, but we will cover the steps to disable it, just in case you are not starting from a clean install and it was previously enabled.
To avoid file permission problems with Directus CMS we need to ensure that SELinux is disabled.
First, let's check whether SELinux is enabled or disabled with the sestatus command:
sudo sestatus
If you see something like: SELinux status: disabled then it is definitely disabled and you can skip straight to Step 6. If you see any other message, then you will need to complete this section.
Open the SELinux configuration file with your favourite terminal editor:
sudo vi /etc/selinux/config
Change SELINUX=enforcing to SELINUX=disabled and then save the file.
To apply the configuration change, SELinux requires a server reboot, so you can either restart the server using the Vultr control panel or you can simply use the shutdown command:
sudo shutdown -r now
When the server reboots, your SSH session will get disconnected and you may see a message informing you about a 'broken pipe' or 'Connection closed by remote host'. This is nothing to worry about, simply wait for 20 seconds or so and then SSH back in again (with your own username and domain):
ssh user1@YOUR_DOMAIN
Or (with your own username and IP address):
ssh user1@YOUR_VULTR_IP_ADDRESS
Once you have logged back in, you should check the status of SELinux again with the sestatus command to make sure it is properly disabled:
sudo sestatus
Θα πρέπει να δείτε ένα μήνυμα που λέει SELinux status: disabled. Εάν δείτε ένα μήνυμα που λέει SELinux status: enabled(ή κάτι παρόμοιο), θα χρειαστεί να επαναλάβετε τα παραπάνω βήματα και να βεβαιωθείτε ότι έχετε επανεκκινήσει σωστά τον διακομιστή σας.
Βήμα 6: Εγκαταστήστε την PHP 7.1
Το CentOS 7 απαιτεί να προσθέσουμε ένα εξωτερικό αποθετήριο για να εγκαταστήσουμε την PHP 7.1, οπότε εκτελέστε την ακόλουθη εντολή:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Μπορούμε τώρα να εγκαταστήσουμε την PHP 7.1 μαζί με όλες τις απαραίτητες ενότητες PHP που απαιτούνται από το Directus CMS:
sudo yum -y install php71w php71w-gd php71w-mbstring php71w-mysql php71w-xml php71w-common php71w-pdo php71w-mysqlnd
Βήμα 7: Εγκαταστήστε τον διακομιστή 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" σε όλες τις άλλες ερωτήσεις ναι/όχι καθώς οι προεπιλεγμένες προτάσεις είναι οι πιο ασφαλείς επιλογές.
Βήμα 8: Δημιουργία βάσης δεδομένων για Directus CMS
Συνδεθείτε στο κέλυφος MariaDB ως rootχρήστης MariaDB εκτελώντας την ακόλουθη εντολή:
sudo mysql -u root -p
Για πρόσβαση στη γραμμή εντολών MariaDB, απλώς εισαγάγετε τον rootκωδικό πρόσβασης MariaDB όταν σας ζητηθεί.
Εκτελέστε τα ακόλουθα ερωτήματα για να δημιουργήσετε μια βάση δεδομένων MariaDB και χρήστη βάσης δεδομένων για το Directus CMS:
CREATE DATABASE directus_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'directus_user'@'localhost' IDENTIFIED BY 'UltraSecurePassword';
GRANT ALL PRIVILEGES ON directus_db.* TO 'directus_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Μπορείτε να αντικαταστήσετε το όνομα της βάσης δεδομένων directus_dbκαι το όνομα χρήστη directus_userμε κάτι περισσότερο της αρεσκείας σας, αν προτιμάτε. (Λάβετε υπόψη ότι το προεπιλεγμένο μέγιστο μήκος για ονόματα χρήστη στο MariaDB στο CentOS 7 είναι 16 χαρακτήρες). Επίσης, βεβαιωθείτε ότι έχετε αντικαταστήσει τον "UltraSecurePassword" με έναν πραγματικά ασφαλή κωδικό πρόσβασης.
Βήμα 9: Εγκαταστήστε τα αρχεία Directus CMS
Αλλάξτε τον τρέχοντα κατάλογο εργασίας σας στον προεπιλεγμένο κατάλογο ιστού:
cd /var/www/html/
Εάν λάβετε ένα μήνυμα σφάλματος που λέει κάτι σαν 'No such file or directory', δοκιμάστε την ακόλουθη εντολή:
cd /var/www/ ; sudo mkdir html ; cd html
Ο τρέχων κατάλογος εργασίας σας θα είναι τώρα: /var/www/html/. Μπορείτε να το ελέγξετε με την pwdεντολή (print working directory):
pwd
Τώρα χρησιμοποιήστε το wgetγια λήψη του πακέτου εγκατάστασης του Directus CMS:
sudo wget https://github.com/directus/directus/releases/download/6.4.4/directus-build-6.4.4-20171120114156.zip
Σημείωση: Πρέπει οπωσδήποτε να ελέγξετε για την πιο πρόσφατη έκδοση μεταβαίνοντας στη σελίδα λήψης του Directus CMS .
Καταχωρίστε τον τρέχοντα κατάλογο για να ελέγξετε ότι κατεβάσατε με επιτυχία το αρχείο:
ls -la
Ας το εγκαταστήσουμε γρήγορα unzipγια να μπορέσουμε να αποσυμπιέσουμε το αρχείο:
sudo yum -y install unzip
Τώρα αποσυμπιέστε το αρχείο zip:
sudo unzip directus-build-6.4.4-20171120114156.zip
Αλλάξτε την ιδιοκτησία των αρχείων Ιστού για να αποφύγετε τυχόν προβλήματα αδειών:
sudo chown -R apache:apache * ./
Επανεκκινήστε ξανά τον Apache:
sudo systemctl restart httpd
Τώρα είμαστε έτοιμοι να προχωρήσουμε στο τελευταίο βήμα.
Βήμα 10: Ολοκληρώστε την εγκατάσταση του Directus CMS
Ήρθε η ώρα να επισκεφτείτε τη διεύθυνση IP της παρουσίας του διακομιστή σας στο πρόγραμμα περιήγησής σας ή εάν έχετε ήδη διαμορφώσει τις ρυθμίσεις του Vultr DNS (και του έχετε δώσει αρκετό χρόνο για να διαδοθεί), μπορείτε απλώς να επισκεφτείτε τον τομέα σας.
Για να αποκτήσετε πρόσβαση στη σελίδα εγκατάστασης του Directus CMS, εισαγάγετε τη διεύθυνση IP της παρουσίας Vultr στη γραμμή διευθύνσεων του προγράμματος περιήγησής σας, ακολουθούμενη από /installation/index.php:
http://YOUR_VULTR_IP_ADDRESS/installation/index.php
Οι περισσότερες από τις επιλογές εγκατάστασης είναι αυτονόητες, αλλά εδώ είναι μερικές υποδείξεις που θα σας βοηθήσουν:
Επιλέξτε τη γλώσσα σας και κάντε κλικ στο Nextκουμπί για να συνεχίσετε.
Εισαγάγετε τα κατάλληλα στοιχεία Project Nameκαι τα στοιχεία σύνδεσης διαχειριστή όπως φαίνεται παρακάτω:
PROJECT NAME: <project name>
ADMIN EMAIL: <admin email>
ADMIN PASSWORD: <admin password>
Κάντε κλικ Nextγια να συνεχίσετε.
Τώρα εισαγάγετε τις ακόλουθες τιμές βάσης δεδομένων:
DATABASE TYPE: MySQL/Percona
HOST: localhost
PORT: 3306
USER: directus_user
PASSWORD: UltraSecurePassword
DATABASE NAME: directus_db
INITIAL SCHEMA: None Clean Database
Κάντε κλικ Nextγια να συνεχίσετε.
Θα εμφανιστεί μια σελίδα ελέγχου προεγκατάστασης που δείχνει τις επιλογές που επιλέξατε και τυχόν προβλήματα που μπορεί να έχει εντοπίσει το πρόγραμμα εγκατάστασης. Εάν δείτε ένα σφάλμα με τη mod_rewriteμονάδα να εμφανίζεται ως απεγκατεστημένη ή απενεργοποιημένη, όταν την έχετε εγκαταστήσει και την έχετε ενεργοποιήσει, μπορείτε απλά να αγνοήσετε την προειδοποίηση, καθώς όλα θα λειτουργούν μια χαρά.
Αφού διορθώσετε τυχόν σημαντικά ζητήματα και βεβαιωθείτε ότι όλα λειτουργούν καλά, απλώς κάντε κλικ για Installνα ολοκληρώσετε την εγκατάστασή σας.
Μόλις ολοκληρωθεί η εγκατάσταση, θα ανακατευθυνθείτε στη σελίδα σύνδεσης διαχειριστή. Εάν δεν ανακατευθυνθείτε, μπορείτε να εισαγάγετε τη διεύθυνση σύνδεσης διαχειριστή με μη αυτόματο τρόπο:
http://YOUR_VULTR_IP_ADDRESS/login.php
Για λόγους ασφαλείας, βεβαιωθείτε ότι έχετε διαγράψει τον /installation/κατάλογο από τον κατάλογο webroot:
sudo rm -rf ./installation/
Τώρα είστε έτοιμοι να αρχίσετε να προσθέτετε το περιεχόμενό σας και να διαμορφώνετε το Headless CMS ώστε να λειτουργεί με τις διάφορες εφαρμογές σας. Βεβαιωθείτε ότι έχετε ελέγξει την εξαιρετική τεκμηρίωση του Directus CMS για περισσότερες πληροφορίες σχετικά με τον τρόπο διαμόρφωσης του Directus CMS και τη σύνδεσή του με τις διαφορετικές εφαρμογές και πλαίσια.