Προαπαιτούμενα
Βήμα 1: Προσθήκη χρήστη Sudo
Βήμα 2: Ενημερώστε το σύστημα FreeBSD 11
Βήμα 3: Εγκαταστήστε τον διακομιστή Web Apache
Βήμα 4: Εγκαταστήστε την PHP 7.1
Βήμα 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 σε ένα FreeBSD 11 FAMP VPS χρησιμοποιώντας διακομιστή web Apache, PHP 7.1 και μια βάση δεδομένων MariaDB.
Προαπαιτούμενα
- Μια καθαρή παρουσία διακομιστή Vultr FreeBSD 11 με πρόσβαση SSH
Βήμα 1: Προσθήκη χρήστη Sudo
Θα ξεκινήσουμε προσθέτοντας έναν νέο sudo
χρήστη.
Πρώτα, συνδεθείτε στον διακομιστή σας ως root
:
ssh root@YOUR_VULTR_IP_ADDRESS
Η sudo
εντολή δεν είναι εγκατεστημένη από προεπιλογή στην παρουσία διακομιστή Vultr FreeBSD 11, επομένως θα εγκαταστήσουμε πρώτα sudo
:
pkg install sudo
Προσθέστε έναν νέο χρήστη που ονομάζεται user1
(ή το όνομα χρήστη που προτιμάτε):
adduser user1
Η adduser
εντολή θα σας ζητήσει πολλές λεπτομέρειες για τον λογαριασμό χρήστη, επομένως απλώς επιλέξτε τις προεπιλογές για τα περισσότερα από αυτά όταν είναι λογικό να το κάνετε. Όταν ερωτηθείτε εάν να Invite user1 into any other groups?
, θα πρέπει να εισάγετε wheel
για να προσθέσετε user1
στην wheel
ομάδα.
Τώρα ελέγξτε το /etc/sudoers
αρχείο για να βεβαιωθείτε ότι η sudoers
ομάδα είναι ενεργοποιημένη:
visudo
Αναζητήστε μια ενότητα όπως αυτή:
# %wheel ALL=(ALL) ALL
Αυτή η γραμμή μας λέει ότι οι χρήστες που είναι μέλη της wheel
ομάδας μπορούν να χρησιμοποιήσουν την sudo
εντολή για να αποκτήσουν root
προνόμια. Θα σχολιαστεί από προεπιλογή, επομένως θα χρειαστεί να το αποσχολιάσετε και στη συνέχεια να το αποθηκεύσετε και να βγείτε από το αρχείο.
Μπορούμε να επαληθεύσουμε τη user1
συμμετοχή στην ομάδα με την groups
εντολή:
groups user1
Εάν user1
δεν wheel
είστε μέλος της ομάδας, μπορείτε να χρησιμοποιήσετε αυτήν την εντολή για να ενημερώσετε τη user1
συνδρομή της ομάδας:
pw group mod wheel -m user1
Τώρα χρησιμοποιήστε την su
εντολή για να μεταβείτε στον νέο user1
λογαριασμό χρήστη sudo :
su - user1
Η γραμμή εντολών θα ενημερωθεί για να υποδείξει ότι είστε πλέον συνδεδεμένοι στο user1
λογαριασμό. Μπορείτε να το επαληθεύσετε με την whoami
εντολή:
whoami
Τώρα επανεκκινήστε την sshd
υπηρεσία, ώστε να μπορείτε να συνδεθείτε μέσω ssh
του νέου λογαριασμού χρήστη sudo που δεν είναι root που μόλις δημιουργήσατε:
sudo /etc/rc.d/sshd restart
Έξοδος από τον 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: Ενημερώστε το σύστημα FreeBSD 11
Πριν εγκαταστήσουμε οποιοδήποτε πακέτο στην παρουσία του διακομιστή FreeBSD, θα ενημερώσουμε πρώτα το σύστημα.
Βεβαιωθείτε ότι έχετε συνδεθεί στον διακομιστή χρησιμοποιώντας έναν χρήστη sudo που δεν είναι root και εκτελέστε τις ακόλουθες εντολές:
sudo freebsd-update fetch
sudo freebsd-update install
sudo pkg update
sudo pkg upgrade
Βήμα 3: Εγκαταστήστε τον διακομιστή Web Apache
Εγκαταστήστε τον διακομιστή ιστού Apache 2.4:
sudo pkg install apache24
Και εισάγετε y
όταν σας ζητηθεί. Τώρα χρησιμοποιήστε την sysrc
εντολή για να ενεργοποιήσετε την υπηρεσία Apache να εκτελείται αυτόματα κατά την εκκίνηση:
sudo sysrc apache24_enable=yes
Η sysrc
εντολή ενημερώνει το /etc/rc.conf
αρχείο διαμόρφωσης, επομένως εάν θέλετε να επαληθεύσετε την ενημέρωση διαμόρφωσης με μη αυτόματο τρόπο, μπορείτε απλώς να ανοίξετε το /etc/rc.conf
αρχείο με τον αγαπημένο σας επεξεργαστή τερματικού:
vi /etc/rc.conf
Τώρα ξεκινήστε την υπηρεσία Apache:
sudo service apache24 start
Μπορείτε να ελέγξετε γρήγορα ότι ο apache εκτελείται μεταβαίνοντας στη διεύθυνση IP ή τον τομέα του στιγμιότυπου διακομιστή στο πρόγραμμα περιήγησής σας:
http://YOUR_VULTR_IP_ADDRESS/
Θα δείτε την προεπιλεγμένη σελίδα FreeBSD Apache που εμφανίζει το κείμενο:
It works!
Ελέγξτε το προεπιλεγμένο αρχείο ρυθμίσεων του Apache για να βεβαιωθείτε ότι η DocumentRoot
οδηγία οδηγεί στον σωστό κατάλογο:
sudo vi /usr/local/etc/apache24/httpd.conf
Η DocumentRoot
επιλογή διαμόρφωσης θα μοιάζει με αυτό:
DocumentRoot "/usr/local/www/apache24/data"
Τώρα πρέπει να ενεργοποιήσουμε τη mod_rewrite
λειτουργική μονάδα Apache. Μπορούμε να το κάνουμε αυτό κάνοντας αναζήτηση στο προεπιλεγμένο αρχείο διαμόρφωσης του Apache για τον όρο mod_rewrite
.
Από προεπιλογή, η mod_rewrite
μονάδα Apache θα σχολιαστεί (που σημαίνει ότι είναι απενεργοποιημένη). Η γραμμή διαμόρφωσης σε μια καθαρή παρουσία του Vultr FreeBSD 11 θα μοιάζει με αυτό:
#LoadModule rewrite_module libexec/apache24/mod_rewrite.so
Απλώς αφαιρέστε το σύμβολο κατακερματισμού για να αποσχολιάσετε τη γραμμή και να φορτώσετε τη μονάδα. Αυτό, φυσικά, ισχύει και για οποιεσδήποτε άλλες απαιτούμενες μονάδες Apache:
LoadModule rewrite_module libexec/apache24/mod_rewrite.so
Τώρα πρέπει να επεξεργαστούμε την Directory
οδηγία του Apache στο ίδιο αρχείο ρυθμίσεων, ώστε mod_rewrite
να λειτουργεί σωστά με το ProcessWire CMS.
Βρείτε την ενότητα του αρχείου διαμόρφωσης που ξεκινά με <Directory "/usr/local/www/apache24/data">
και αλλάξτε AllowOverride none
σε AllowOverride All
. Το τελικό αποτέλεσμα (με όλα τα σχόλια αφαιρεμένα) θα μοιάζει κάπως έτσι:
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Τώρα αποθηκεύστε και βγείτε από το αρχείο διαμόρφωσης Apache.
Θα κάνουμε επανεκκίνηση του Apache στο τέλος αυτού του σεμιναρίου, αλλά η τακτική επανεκκίνηση του Apache κατά την εγκατάσταση και τη ρύθμιση παραμέτρων είναι σίγουρα μια καλή συνήθεια, οπότε ας το κάνουμε τώρα:
sudo service apache24 restart
Βήμα 4: Εγκαταστήστε την PHP 7.1
Μπορούμε τώρα να εγκαταστήσουμε την PHP 7.1 μαζί με όλες τις απαραίτητες μονάδες PHP που απαιτούνται από το ProcessWire CMS:
sudo pkg install php71 mod_php71 php71-gd php71-mbstring php71-mysqli php71-xml php71-curl php71-ctype php71-tokenizer php71-simplexml php71-dom php71-session php71-iconv php71-hash php71-json php71-fileinfo php71-pdo php71-pdo_mysql php71-zlib php71-openssl php71-zip
Το FreeBSD 11 μας δίνει την επιλογή να χρησιμοποιήσουμε μια ανάπτυξη php.ini
ή μια παραγωγή php.ini
. Εφόσον πρόκειται να εγκαταστήσουμε το Siverstripe σε έναν δημόσιο διακομιστή ιστού, θα χρησιμοποιήσουμε την έκδοση παραγωγής. Πρώτα, δημιουργήστε αντίγραφα ασφαλείας php.ini-production
:
sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini-production.backup
Στη συνέχεια, soft-link php.ini-production
σε php.ini
.
sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Πρέπει να ρυθμίσουμε τον Apache ώστε να χρησιμοποιεί πραγματικά την PHP, οπότε ας δημιουργήσουμε ένα νέο αρχείο που ονομάζεται php.conf
στον Includes
κατάλογο Apache :
sudo vi /usr/local/etc/apache24/Includes/php.conf
Εισαγάγετε το ακόλουθο κείμενο στο νέο αρχείο:
<IfModule dir_module>
DirectoryIndex index.php index.html
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
</IfModule>
Αποθηκεύστε και βγείτε από το αρχείο.
Τώρα ας κάνουμε επανεκκίνηση του Apache για να μπορέσει να φορτώσει ξανά τις αλλαγές διαμόρφωσης:
sudo service apache24 restart
Βήμα 5: Εγκαταστήστε το διακομιστή MariaDB (MySQL).
Το FreeBSD 11 χρησιμοποιεί ως προεπιλογή τον διακομιστή βάσης δεδομένων MariaDB, ο οποίος είναι ένας βελτιωμένος, πλήρως ανοιχτού κώδικα, αναπτυγμένος από την κοινότητα, drop-in αντικατάσταση του διακομιστή MySQL.
Εγκαταστήστε τον διακομιστή βάσης δεδομένων MariaDB:
sudo pkg install mariadb102-server mariadb102-client
Ξεκινήστε και ενεργοποιήστε τον διακομιστή MariaDB να εκτελείται αυτόματα κατά την εκκίνηση:
sudo sysrc mysql_enable="yes"
sudo service mysql-server start
Ασφαλίστε την εγκατάσταση του διακομιστή MariaDB:
sudo mysql_secure_installation
Όταν σας ζητηθεί να δημιουργήσετε έναν root
χρήστη MariaDB/MySQL , επιλέξτε "Y" (για ναι) και, στη συνέχεια, εισαγάγετε έναν ασφαλή root
κωδικό πρόσβασης. Απλώς απαντήστε "Y" σε όλες τις άλλες ερωτήσεις ναι/όχι καθώς οι προεπιλεγμένες προτάσεις είναι οι πιο ασφαλείς επιλογές.
Βήμα 6: Δημιουργία βάσης δεδομένων για το ProcessWire CMS
Συνδεθείτε στο κέλυφος MariaDB ως root
χρήστης MariaDB εκτελώντας την ακόλουθη εντολή:
sudo mysql -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 /usr/local/www/apache24/data
Ο τρέχων κατάλογος εργασίας σας θα πρέπει τώρα να είναι: /usr/local/www/apache24/data
. Μπορείτε να το ελέγξετε με την pwd
εντολή (print working directory):
pwd
Τώρα χρησιμοποιήστε το wget
για λήψη του πακέτου εγκατάστασης του ProcessWire CMS:
sudo wget https://github.com/processwire/processwire/archive/master.zip
Σημείωση: Πρέπει οπωσδήποτε να ελέγξετε για την πιο πρόσφατη έκδοση μεταβαίνοντας στη σελίδα λήψης του ProcessWire CMS .
Καταχωρίστε τον τρέχοντα κατάλογο για να ελέγξετε ότι κατεβάσατε με επιτυχία το αρχείο:
ls -la
Αφαίρεση index.html
:
sudo rm index.html
Τώρα αποσυμπιέστε το αρχείο zip:
sudo unzip master.zip
Μετακινήστε όλα τα αρχεία εγκατάστασης στον ριζικό κατάλογο ιστού:
sudo mv processwire-master/* /usr/local/www/apache24/data
Αλλάξτε την ιδιοκτησία των αρχείων Ιστού για να αποφύγετε τυχόν προβλήματα αδειών:
sudo chown -R www:www * ./
Επανεκκινήστε ξανά τον Apache:
sudo service apache24 restart
Βήμα 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 service apache24 restart
Είστε έτοιμοι να αρχίσετε να προσθέτετε το περιεχόμενό σας και να διαμορφώνετε την εμφάνιση και την αίσθηση του ιστότοπού σας. Βεβαιωθείτε ότι έχετε ελέγξει την εξαιρετική τεκμηρίωση του ProcessWire CMS για περισσότερες πληροφορίες σχετικά με τον τρόπο δημιουργίας και διαμόρφωσης του ιστότοπού σας.