Προαπαιτούμενα
Βήμα 1: Προσθήκη χρήστη Sudo
Βήμα 2: Ενημερώστε το σύστημα Debian 9
Βήμα 3: Εγκαταστήστε τον διακομιστή Web Apache
Βήμα 4: Εγκαταστήστε την PHP 7.0
Βήμα 5: Εγκαταστήστε το διακομιστή MariaDB (MySQL).
Βήμα 6: Δημιουργία βάσης δεδομένων για το ProcessWire CMS
Βήμα 7: Εγκαταστήστε τα αρχεία ProcessWire CMS
Βήμα 8: Ολοκληρώστε την εγκατάσταση του ProcessWire CMS
Το ProcessWire CMS 3.0 είναι ένα απλό, ευέλικτο και ισχυρό, δωρεάν και ανοιχτού κώδικα Σύστημα Διαχείρισης Περιεχομένου (CMS). Το ProcessWire CMS 3.0 διαθέτει ένα εύχρηστο API τύπου jQuery, πλήρως αρθρωτή αρχιτεκτονική προσθηκών και ένα ευέλικτο και ισχυρό σύστημα προτύπων που προσφέρει μια εξίσου ικανοποιητική εμπειρία χρήστη για σχεδιαστές, προγραμματιστές και τελικούς χρήστες.
Σε αυτό το σεμινάριο πρόκειται να εγκαταστήσουμε το ProcessWire CMS 3.0 σε ένα Debian 9 LAMP VPS χρησιμοποιώντας διακομιστή ιστού Apache, PHP 7.1 και μια βάση δεδομένων MariaDB.
Προαπαιτούμενα
- Μια καθαρή παρουσία διακομιστή Vultr Debian 9 με πρόσβαση SSH
Βήμα 1: Προσθήκη χρήστη Sudo
Θα ξεκινήσουμε προσθέτοντας έναν νέο sudoχρήστη.
Πρώτα, συνδεθείτε στον διακομιστή σας ως root:
ssh root@YOUR_VULTR_IP_ADDRESS
Η sudoεντολή δεν είναι εγκατεστημένη από προεπιλογή στην παρουσία διακομιστή Vultr Debain 9, επομένως θα εγκαταστήσουμε πρώτα sudo:
apt-get -y install sudo
Τώρα προσθέστε έναν νέο χρήστη που ονομάζεται user1(ή το όνομα χρήστη που προτιμάτε):
adduser user1
Όταν σας ζητηθεί, εισαγάγετε έναν ασφαλή και αξέχαστο κωδικό πρόσβασης. Θα σας ζητηθεί επίσης το "Ονοματεπώνυμό σας" και κάποιες άλλες λεπτομέρειες, αλλά μπορείτε απλά να τις αφήσετε κενές πατώντας Enter.
Τώρα ελέγξτε το /etc/sudoersαρχείο για να βεβαιωθείτε ότι η sudoersομάδα είναι ενεργοποιημένη:
visudo
Αναζητήστε μια ενότητα όπως αυτή:
%sudo ALL=(ALL:ALL) ALL
Αυτή η γραμμή μας λέει ότι οι χρήστες που είναι μέλη της sudoομάδας μπορούν να χρησιμοποιήσουν την sudoεντολή για να αποκτήσουν rootπρονόμια. Θα πρέπει να μην σχολιαστεί από προεπιλογή, ώστε να μπορείτε απλά να βγείτε από το αρχείο.
Στη συνέχεια πρέπει να προσθέσουμε user1στην sudoομάδα:
usermod -aG sudo 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
Επεξεργαστείτε την ενότητα για την sudoομάδα έτσι ώστε να μοιάζει με αυτό:
%sudo ALL=(ALL) NOPASSWD: ALL
Σημείωση: Η απενεργοποίηση της απαίτησης κωδικού πρόσβασης για τον χρήστη sudo δεν είναι μια συνιστώμενη πρακτική, αλλά περιλαμβάνεται εδώ, καθώς μπορεί να κάνει τη διαμόρφωση του διακομιστή πολύ πιο βολική και λιγότερο ενοχλητική, ειδικά κατά τη διάρκεια μεγαλύτερων περιόδων διαχείρισης συστημάτων. Εάν ανησυχείτε για τις επιπτώσεις στην ασφάλεια, μπορείτε πάντα να επαναφέρετε την αλλαγή διαμόρφωσης στην αρχική, αφού ολοκληρώσετε τις εργασίες διαχείρισης.
Κάθε φορά που θέλετε να συνδεθείτε στον rootλογαριασμό χρήστη μέσα από τον sudoλογαριασμό χρήστη, μπορείτε να χρησιμοποιήσετε μία από τις ακόλουθες εντολές:
sudo -i
sudo su -
Μπορείτε να βγείτε από τον rootλογαριασμό και να επιστρέψετε στον sudoλογαριασμό χρήστη σας ανά πάσα στιγμή πληκτρολογώντας απλώς exit.
Βήμα 2: Ενημερώστε το σύστημα Debian 9
Πριν εγκαταστήσουμε οποιοδήποτε πακέτο στην παρουσία του διακομιστή Debian, θα ενημερώσουμε πρώτα το σύστημα.
Βεβαιωθείτε ότι έχετε συνδεθεί στον διακομιστή χρησιμοποιώντας έναν χρήστη sudo που δεν είναι root και εκτελέστε τις ακόλουθες εντολές:
sudo apt-get update
sudo apt-get -y upgrade
Βήμα 3: Εγκαταστήστε τον διακομιστή Web Apache
Εγκαταστήστε τον διακομιστή ιστού Apache:
sudo apt-get -y install apache2
Χρησιμοποιήστε την systemctlεντολή για να ξεκινήσετε και να ενεργοποιήσετε την αυτόματη εκτέλεση του Apache κατά την εκκίνηση:
sudo systemctl enable apache2
sudo systemctl start apache2
Ελέγξτε το αρχείο ρύθμισης παραμέτρων του προεπιλεγμένου ιστότοπου Apache για να βεβαιωθείτε ότι η DocumentRootοδηγία οδηγεί στον σωστό κατάλογο:
sudo vi /etc/apache2/sites-enabled/000-default.conf
Η DocumentRootεπιλογή διαμόρφωσης θα μοιάζει με αυτό:
DocumentRoot "/var/www/html"
Τώρα πρέπει να ενεργοποιήσουμε τη mod_rewriteλειτουργική μονάδα Apache, επομένως βεβαιωθείτε ότι το αρχείο ρύθμισης παραμέτρων του προεπιλεγμένου ιστότοπου Apache είναι ακόμα ανοιχτό και προσθέστε τις ακόλουθες Directoryοδηγίες Apache ακριβώς πριν από την </VirtualHost>ετικέτα κλεισίματος , έτσι ώστε το τέλος του αρχείου διαμόρφωσής σας να μοιάζει με αυτό:
<Directory /var/www/html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Η πιο σημαντική οδηγία που φαίνεται παραπάνω είναι η AllowOverride All.
Τώρα αποθηκεύστε και βγείτε από το αρχείο και ενεργοποιήστε τη mod_rewriteλειτουργική μονάδα Apache:
sudo a2enmod rewrite
Θα κάνουμε επανεκκίνηση του Apache στο τέλος αυτού του σεμιναρίου, αλλά η τακτική επανεκκίνηση του Apache κατά την εγκατάσταση και τη ρύθμιση παραμέτρων είναι σίγουρα μια καλή συνήθεια, οπότε ας το κάνουμε τώρα:
sudo systemctl restart apache2
Βήμα 4: Εγκαταστήστε την PHP 7.0
Μπορούμε τώρα να εγκαταστήσουμε την PHP 7.0 μαζί με όλες τις απαραίτητες μονάδες PHP που απαιτούνται από το ProcessWire CMS:
sudo apt-get -y install php php-gd php-mbstring php-common php-mysql php-imagick php-xml libapache2-mod-php php-curl php-zip
Βήμα 5: Εγκαταστήστε το διακομιστή MariaDB (MySQL).
Το Debian 9 χρησιμοποιεί ως προεπιλογή τον διακομιστή βάσης δεδομένων MariaDB, ο οποίος είναι ένας βελτιωμένος, πλήρως ανοιχτού κώδικα, αναπτυγμένος από την κοινότητα, drop-in αντικατάσταση του διακομιστή MySQL.
Εγκαταστήστε τον διακομιστή βάσης δεδομένων MariaDB:
sudo apt-get -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: Δημιουργία βάσης δεδομένων για το ProcessWire CMS
Συνδεθείτε στο κέλυφος MariaDB ως rootχρήστης MariaDB εκτελώντας την ακόλουθη εντολή:
sudo mariadb -u root -p
Για πρόσβαση στη γραμμή εντολών MariaDB, απλώς εισαγάγετε τον rootκωδικό πρόσβασης MariaDB όταν σας ζητηθεί.
Εκτελέστε τα ακόλουθα ερωτήματα για να δημιουργήσετε μια βάση δεδομένων MariaDB και χρήστη βάσης δεδομένων για το ProcessWire CMS:
CREATE DATABASE pw_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'pw_user'@'localhost' IDENTIFIED BY 'UltraSecurePassword';
GRANT ALL PRIVILEGES ON pw_db.* TO 'pw_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Μπορείτε να αντικαταστήσετε το όνομα της βάσης δεδομένων pw_dbκαι το όνομα χρήστη pw_userμε κάτι περισσότερο της αρεσκείας σας, αν προτιμάτε. Επίσης, βεβαιωθείτε ότι έχετε αντικαταστήσει τον "UltraSecurePassword" με έναν πραγματικά ασφαλή κωδικό πρόσβασης.
Βήμα 7: Εγκαταστήστε τα αρχεία ProcessWire 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για λήψη του πακέτου εγκατάστασης του ProcessWire CMS:
sudo wget https://github.com/processwire/processwire/archive/master.zip
Σημείωση: Πρέπει οπωσδήποτε να ελέγξετε για την πιο πρόσφατη έκδοση μεταβαίνοντας στη σελίδα λήψης του ProcessWire CMS .
Καταχωρίστε τον τρέχοντα κατάλογο για να ελέγξετε ότι κατεβάσατε με επιτυχία το αρχείο:
ls -la
Ας το εγκαταστήσουμε γρήγορα unzipγια να μπορέσουμε να αποσυμπιέσουμε το αρχείο:
sudo apt-get -y install unzip
Αφαίρεση index.html:
sudo rm index.html
Τώρα αποσυμπιέστε το αρχείο zip:
sudo unzip master.zip
Μετακινήστε όλα τα αρχεία εγκατάστασης στον ριζικό κατάλογο ιστού:
sudo mv processwire-master/* /var/www/html
Αλλάξτε την ιδιοκτησία των αρχείων Ιστού για να αποφύγετε τυχόν προβλήματα αδειών:
sudo chown -R www-data:www-data * ./
Επανεκκινήστε ξανά τον Apache:
sudo systemctl restart apache2
Βήμα 8: Ολοκληρώστε την εγκατάσταση του ProcessWire CMS
Ήρθε τώρα η ώρα να επισκεφτείτε τη διεύθυνση IP της παρουσίας του διακομιστή σας στο πρόγραμμα περιήγησής σας ή εάν έχετε ήδη διαμορφώσει τις ρυθμίσεις DNS του Vultr (και του έχετε δώσει αρκετό χρόνο για να διαδοθεί), μπορείτε απλώς να επισκεφτείτε τον τομέα σας.
Για πρόσβαση στη σελίδα εγκατάστασης του ProcessWire CMS, εισαγάγετε τη διεύθυνση IP του Vultr στη γραμμή διευθύνσεων του προγράμματος περιήγησής σας, ακολουθούμενη από index.php:
http://YOUR_VULTR_IP_ADDRESS/install.php
Το πρόγραμμα εγκατάστασης ProcessWire CMS περιέχει πολλές επιλογές, επομένως εδώ είναι μερικές υποδείξεις που θα σας βοηθήσουν:
Στη σελίδα υποδοχής εγκατάστασης του ProcessWire CMS, κάντε κλικ στο Get Startedκουμπί για να ξεκινήσει η διαδικασία εγκατάστασης.
Τώρα επιλέξτε το προτιμώμενο προφίλ εγκατάστασης (ή τον ιστότοπο επίδειξης) και κάντε κλικ στο Continue.
Θα δείτε μια Compatibility Checkσελίδα. Εάν βλέπετε σφάλματα, αυτό πιθανώς σημαίνει ότι λείπετε κάποιες λειτουργικές μονάδες PHP ή έχετε πρόβλημα με τα δικαιώματα, διαφορετικά μπορείτε απλώς να κάνετε κλικ στο Continue.
Εισαγάγετε τις ακόλουθες τιμές στη MySQL Database Settingsσελίδα:
DB Name: pw_db
DB User: pw_user
DB Pass: UltraSecurePassword
DB Host: localhost
DB Port: 3306
Μπορείτε να αφήσετε τις File Permissionρυθμίσεις στις προεπιλεγμένες τιμές τους ή μπορείτε να τις προσαρμόσετε εάν κατανοείτε τις συνέπειες.
Μπορείτε να εισαγάγετε τα μελλοντικά ονόματα κεντρικών υπολογιστών του ιστότοπού σας στην κατάλληλη ενότητα ή μπορείτε να επεξεργαστείτε το site/config.phpαρχείο αργότερα, εάν προτιμάτε.
Κάντε κλικ για Continueνα διαμορφώσετε τη βάση δεδομένων και να εγκαταστήσετε τα αρχεία CMS ProcessWire.
Στη συνέχεια, επιλέξτε την προτίμησή σας Admin Theme.
Μπορείτε να αλλάξετε το Admin URLεάν προτιμάτε ή μπορείτε απλά να το αφήσετε στην προεπιλεγμένη τιμή.
Εισαγάγετε το δικό σας Admin Login Detailsόπως φαίνεται παρακάτω:
User (a-z 0-9): <admin username>
Password: <admin password>
Password (again): <same admin password>
Email Address: <admin email address>
Αφού εισαγάγετε όλες τις κατάλληλες λεπτομέρειες, μπορείτε να κάνετε κλικ Continueγια να ολοκληρώσετε την εγκατάσταση του ProcessWire.
Μόλις ολοκληρωθεί η εγκατάσταση, απλώς κάντε κλικ στο Login to Adminκουμπί για να συνδεθείτε στην ενότητα Διαχειριστής.
Μπορεί να δείτε μια προειδοποίηση που λέει κάτι σαν:
Warning: your server locale is undefined and may cause issues. Please add this to /site/config.php file (adjust en_US.UTF-8†as needed): setlocale(LC_ALL,'en_US.UTF-8');
Μπορείτε να διορθώσετε αυτό το σφάλμα επεξεργάζοντας το site/config.phpαρχείο:
sudo vi site/config.php
Προσθέστε την κατάλληλη τιμή στο τέλος του αρχείου:
setlocale(LC_ALL,'en_GB.utf8');
Εάν δεν μπορείτε να καταλάβετε ποια τιμή να χρησιμοποιήσετε, μπορείτε να βρείτε μια λίστα με τις κατάλληλες τιμές για το συγκεκριμένο παράδειγμα διακομιστή σας εκτελώντας την localeεντολή:
locale -a
Μην ξεχάσετε να αποθηκεύσετε και να βγείτε από το site/config.phpαρχείο όταν ολοκληρώσετε την επεξεργασία.
Για λόγους ασφαλείας, βεβαιωθείτε ότι έχετε αλλάξει τα δικαιώματα στο site/config.phpαρχείο:
sudo chmod 400 site/config.php
Κάντε επανεκκίνηση του Apache.
sudo systemctl restart apache2
Είστε έτοιμοι να αρχίσετε να προσθέτετε το περιεχόμενό σας και να διαμορφώνετε την εμφάνιση και την αίσθηση του ιστότοπού σας. Βεβαιωθείτε ότι έχετε ελέγξει την εξαιρετική τεκμηρίωση του ProcessWire CMS για περισσότερες πληροφορίες σχετικά με τον τρόπο δημιουργίας και διαμόρφωσης του ιστότοπού σας.