Android

Πώς να εγκαταστήσετε drupal σε centos 7

Αποσυμπίεση των αρχείων πριν την εγκατάσταση του Drupal

Αποσυμπίεση των αρχείων πριν την εγκατάσταση του Drupal

Πίνακας περιεχομένων:

Anonim

Το Drupal είναι μία από τις κορυφαίες πλατφόρμες CMS ανοιχτού κώδικα παγκοσμίως. Είναι ευέλικτο, κλιμακωτό και μπορεί να χρησιμοποιηθεί για την κατασκευή διαφορετικών τύπων ιστοτόπων, από μικρά προσωπικά blogs μέχρι μεγάλες εταιρικές, πολιτικές και κυβερνητικές τοποθεσίες.

Σε αυτό το σεμινάριο, θα εξηγήσουμε πώς να εγκαταστήσετε το Drupal 8.6 στο CentOS 7.

Υπάρχουν πολλοί τρόποι για να εγκαταστήσετε το Drupal. Αυτός ο οδηγός καλύπτει τα βήματα που απαιτούνται για την εγκατάσταση του Drupal χρησιμοποιώντας ένα πρότυπο συνθέτη για τα έργα Drupal που ονομάζεται drupal-project.

Θα χρησιμοποιήσουμε τον Nginx ως διακομιστή ιστού, τον πιο πρόσφατο PHP 7.2 και MySQL / MariaDB ως διακομιστή βάσης δεδομένων.

Προϋποθέσεις

Πριν ξεκινήσετε την εγκατάσταση, βεβαιωθείτε ότι πληρούνται οι ακόλουθες προϋποθέσεις:

  • Έχετε ένα όνομα τομέα που δείχνει στον δημόσιο διακομιστή IP σας. Θα χρησιμοποιήσουμε το example.com .Have Nginx installed.Have ένα πιστοποιητικό SSL εγκατεστημένο για τον τομέα σας. Μπορείτε να εγκαταστήσετε ένα ελεύθερο Let's Encrypt SSL certificate ακολουθώντας αυτές τις οδηγίες. Είσοδος ως χρήστης με δικαιώματα sudo.

Δημιουργήστε μια βάση δεδομένων MySQL

Το πρώτο βήμα είναι η δημιουργία μιας νέας βάσης δεδομένων και ενός λογαριασμού χρήστη και η παροχή κατάλληλων δικαιωμάτων στον χρήστη.

Εάν η MySQL ή η MariaDB είναι ήδη εγκατεστημένη στον διακομιστή σας, μπορείτε να παραλείψετε αυτό το βήμα, αν όχι μπορείτε να εγκαταστήσετε το πακέτο διακομιστή MariaDB 5.5 από τις προεπιλεγμένες αποθήκες του CentOS πληκτρολογώντας:

sudo yum install mariadb-server Για νέες εγκαταστάσεις MariaDB / MySQL, συνιστάται η εκτέλεση της εντολής mysql_secure_installation για τη βελτίωση της ασφάλειας του διακομιστή βάσης δεδομένων.

Συνδεθείτε στο κέλυφος MySQL πληκτρολογώντας την ακόλουθη εντολή και πληκτρολογήστε τον κωδικό πρόσβασης όταν σας ζητηθεί:

mysql -u root -p

Για να δημιουργήσετε μια βάση δεδομένων που ονομάζεται drupal , ο χρήστης ονομάζεται drupaluser και να παραχωρήσει τα απαραίτητα δικαιώματα στον χρήστη, εκτελέστε τις ακόλουθες εντολές:

CREATE DATABASE drupal CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON drupal.* TO 'drupaluser'@'localhost' IDENTIFIED BY 'change-with-strong-password';

Εγκαταστήστε την PHP

Το CentOS 7 κυκλοφορεί με την έκδοση 5.4 της PHP, η οποία είναι ξεπερασμένη και δεν υποστηρίζεται πλέον. Η συνιστώμενη έκδοση PHP για το Drupal είναι η PHP 7.2.

Για να εγκαταστήσετε το PHP 7.2 στο CentOS 7 πρώτα πρέπει να ενεργοποιήσετε τα αποθετήρια EPEL και Remi:

sudo yum install epel-release yum-utils sudo yum install sudo yum-config-manager --enable remi-php72

Μόλις ενεργοποιηθούν οι αποθήκες για την εγκατάσταση της PHP 7.2 και όλες οι απαιτούμενες επεκτάσεις PHP εκτελούν τις ακόλουθες εντολές:

sudo yum install php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl git

Εγκαταστήσαμε PHP FPM επειδή θα χρησιμοποιήσουμε Nginx ως διακομιστή ιστού.

Από προεπιλογή, το PHP FPM θα εκτελείται ως χρήστης apache στη θύρα 9000. Θα αλλάξουμε τον χρήστη στο nginx και θα nginx από την υποδοχή TCP στην υποδοχή Unix. Για να το ανοίξετε, ανοίξτε το αρχείο /etc/php-fpm.d/www.conf και επεξεργαστείτε τις γραμμές που επισημαίνονται με κίτρινο χρώμα:

/etc/php-fpm.d/www.conf

… user = nginx… group = nginx… listen = /run/php-fpm/www.sock… listen.owner = nginx listen.group = nginx

Βεβαιωθείτε ότι ο κατάλογος /var/lib/php έχει τη σωστή ιδιοκτησία χρησιμοποιώντας την ακόλουθη εντολή chown:

sudo chown -R root:nginx /var/lib/php

Τέλος, ενεργοποιήστε και ξεκινήστε την υπηρεσία PHP FPM:

sudo systemctl enable php-fpm sudo systemctl start php-fpm

Εγκατάσταση του συνθέτη

Ο συνθέτης είναι ένας διαχειριστής εξάρτησης για την PHP. Θα λάβουμε το πρότυπο Drupal και θα εγκαταστήσουμε όλα τα απαραίτητα στοιχεία του Drupal με τον συνθέτη.

Η ακόλουθη εντολή θα εγκαταστήσει τον συνθέτη παγκοσμίως κατεβάζοντας το πρόγραμμα εγκατάστασης Composer με περιστροφή και μετακίνηση του αρχείου στον κατάλογο /usr/local/bin :

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

Επαληθεύστε την εγκατάσταση εκτελώντας την ακόλουθη εντολή που θα εκτυπώσει την έκδοση του συνθέτη:

composer --version

Η έξοδος θα πρέπει να φαίνεται κάπως έτσι:

Composer version 1.8.4 2019-02-11 10:52:10

Εγκαταστήστε το Drupal

Τώρα που ο συνθέτης έχει εγκατασταθεί, δημιουργήστε ένα νέο έργο Drupal χρησιμοποιώντας το πρότυπο Drupal μέσα /var/www/my_drupal κατάλογο /var/www/my_drupal :

sudo /usr/local/bin/composer create-project drupal-composer/drupal-project:8.x-dev /var/www/my_drupal --stability dev --no-interaction

Η παραπάνω εντολή θα κατεβάσει το πρότυπο, θα ανακτήσει όλα τα απαιτούμενα πακέτα php και θα εκτελέσει τα σενάρια που απαιτούνται για την προετοιμασία του έργου για εγκατάσταση. Η διαδικασία μπορεί να διαρκέσει μερικά λεπτά και εάν είναι επιτυχής το τέλος της παραγωγής θα μοιάζει με αυτό:

Create a sites/default/settings.php file with chmod 0666 Create a sites/default/files directory with chmod 0777

Το επόμενο βήμα είναι να εγκαταστήσετε το Drupal χρησιμοποιώντας το Drush. Στην παρακάτω εντολή περνάμε τη βάση δεδομένων MySQL και τις πληροφορίες χρήστη που δημιουργήσαμε στην πρώτη ενότητα:

cd /var/www/my_drupal sudo vendor/bin/drush site-install --db-url=mysql://drupaluser:change-with-strong-password@localhost/drupal

Το πρόγραμμα εγκατάστασης θα σας προτρέψει με το ακόλουθο μήνυμα, απλά πατήστε το πλήκτρο enter για να συνεχίσετε.

You are about to DROP all tables in your 'drupal' database. Do you want to continue? (yes/no):

Μόλις ολοκληρωθεί η εγκατάσταση, το σενάριο θα εκτυπώσει το όνομα χρήστη και τον κωδικό πρόσβασης διαχειριστή. Η έξοδος θα πρέπει να φαίνεται ως εξής:

Starting Drupal installation. This takes a while. Installation complete. User name: admin User password: frxka2Db5v

Τέλος, ορίστε τα σωστά δικαιώματα ώστε ο διακομιστής ιστού να έχει πλήρη πρόσβαση στα αρχεία και στους καταλόγους του ιστότοπου:

sudo chown -R nginx: /var/www/my_drupal

Διαμορφώστε το Nginx

Μέχρι τώρα, θα πρέπει να έχετε ήδη το Nginx με πιστοποιητικό SSL εγκατεστημένο στο σύστημά σας, αν δεν ελέγξετε τις προϋποθέσεις για αυτό το σεμινάριο.

Για να δημιουργήσετε ένα νέο μπλοκ διακομιστή για το νέο μας έργο Drupal θα χρησιμοποιήσουμε τη συνταγή Nginx από την επίσημη τοποθεσία Nginx.

Ανοίξτε το πρόγραμμα επεξεργασίας κειμένου και δημιουργήστε το ακόλουθο αρχείο:

sudo nano /etc/nginx/conf.d/example.com /etc/nginx/conf.d/example.com

# Redirect HTTP -> HTTPS server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } # Redirect WWW -> NON WWW server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; root /var/www/my_drupal/web; # SSL parameters ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; # log files access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location ~ \..*/.*\.php$ { return 403; } location ~ ^/sites/.*/private/ { return 403; } # Block access to scripts in site files directory location ~ ^/sites/+/files/.*\.php$ { deny all; } # Block access to "hidden" files and directories whose names begin with a # period. This includes directories used by version control systems such # as Subversion or Git to store control files. location ~ (^|/)\. { return 403; } location / { try_files $uri /index.php?$query_string; } location @rewrite { rewrite ^/(.*)$ /index.php?q=$1; } # Don't allow direct access to PHP files in the vendor directory. location ~ /vendor/.*\.php$ { deny all; return 404; } location ~ '\.php$|^/update.php' fastcgi_split_path_info ^(.+?\.php)(# Fighting with Styles? This little gem is amazing. # location ~ ^/sites/.*/files/imagecache/ { # For Drupal <= 6 location ~ ^/sites/.*/files/styles/ { # For Drupal >= 7 try_files $uri @rewrite; } # Handle private files through Drupal. Private file's path can come # with a language prefix. location ~ ^(/+)?/system/files/ { # For Drupal >= 7 try_files $uri /index.php?$query_string; } location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { try_files $uri @rewrite; expires max; log_not_found off; } } Μην ξεχάσετε να αντικαταστήσετε το example.com με τον τομέα Drupal και να ρυθμίσετε τη σωστή διαδρομή στα αρχεία πιστοποιητικών SSL. Όλες οι αιτήσεις HTTP θα ανακατευθυνθούν στο HTTPS. Τα αποσπάσματα που χρησιμοποιούνται σε αυτή τη διαμόρφωση δημιουργούνται σε αυτόν τον οδηγό.

Πριν επανεκκινήσετε την υπηρεσία Nginx, κάντε μια δοκιμή για να βεβαιωθείτε ότι δεν υπάρχουν σφάλματα σύνταξης:

sudo nginx -t

Κάντε επανεκκίνηση της υπηρεσίας Nginx για να γίνουν αλλαγές οι αλλαγές πληκτρολογώντας:

sudo systemctl restart nginx

Δοκιμάστε την Εγκατάσταση

Ανοίξτε το πρόγραμμα περιήγησης, πληκτρολογήστε τον τομέα σας και υποθέτοντας ότι η εγκατάσταση είναι επιτυχής, θα εμφανιστεί μια οθόνη παρόμοια με την ακόλουθη:

Μπορείτε να συνδεθείτε ως διαχειριστής και να ξεκινήσετε την προσαρμογή της νέας εγκατάστασης του Drupal.

Εγκαταστήστε Drupal Modules και Θέματα

Τώρα που έχετε εγκαταστήσει το σχέδιό σας Drupal, θα θελήσετε να εγκαταστήσετε μερικές ενότητες και θέματα. Οι ενότητες και τα θέματα του Drupal φιλοξενούνται σε ένα προσαρμοσμένο χώρο αποθήκευσης συνθετών, το οποίο το project drupal διαμορφώνει για μας έξω από το κουτί.

Για να εγκαταστήσετε μια ενότητα ή ένα θέμα, το μόνο που χρειάζεται να κάνετε είναι να κάνετε cd στον κατάλογο του έργου και πληκτρολογήστε τον composer require drupal/module_or_theme_name . Για παράδειγμα, εάν θέλουμε να εγκαταστήσουμε την υπομονάδα Pathauto, πρέπει να εκτελέσουμε την ακόλουθη εντολή:

cd /var/www/my_drupal sudo -u nginx /usr/local/bin/composer require drupal/pathauto Με την προσθήκη του sudo -u nginx εκτελούμε την εντολή ως χρήστη nginx

Using version ^1.3 for drupal/pathauto./composer.json has been updated > DrupalProject\composer\ScriptHandler::checkComposerVersion Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 3 installs, 0 updates, 0 removals - Installing drupal/token (1.5.0): Downloading (100%) - Installing drupal/ctools (3.2.0): Downloading (100%) - Installing drupal/pathauto (1.3.0): Downloading (100%) Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested. Writing lock file Generating autoload files > DrupalProject\composer\ScriptHandler::createRequiredFiles

Όπως μπορείτε να δείτε από την έξοδο παραπάνω, ο συνθέτης εγκαθιστά επίσης όλες τις εξαρτήσεις πακέτων για εμάς.

Ενημέρωση του πυρήνα Drupal

Πριν από την αναβάθμιση είναι πάντα μια καλή ιδέα να πάρετε ένα αντίγραφο ασφαλείας των αρχείων και της βάσης δεδομένων σας. Μπορείτε να χρησιμοποιήσετε τη μονάδα δημιουργίας αντιγράφων ασφαλείας και μετεγκατάστασης ή να δημιουργήσετε αντίγραφα ασφαλείας με μη αυτόματο τρόπο τη βάση δεδομένων και τα αρχεία σας.

Για να δημιουργήσετε αντίγραφα ασφαλείας των αρχείων εγκατάστασης μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή rsync, βεβαίως, θα πρέπει να χρησιμοποιήσετε τη σωστή διαδρομή στον κατάλογο εγκατάστασης:

sudo rsync -a /var/www/my_drupal/ /var/www/my_drupal_$(date +%F)

Για να δημιουργήσουμε αντίγραφα ασφαλείας στη βάση δεδομένων μπορούμε είτε να χρησιμοποιήσουμε την τυπική εντολή mysqldump :

mysqldump -u root -p > /var/www/my_drupal_database_$(date +%F).sql

ή drush sql-dump :

cd /var/www/my_drupal vendor/bin/drush sql-dump > /var/www/my_drupal_database_$(date +%F).sql

Τώρα που δημιουργήσαμε ένα αντίγραφο ασφαλείας, μπορούμε να συνεχίσουμε και να ενημερώσουμε όλα τα αρχεία πυρήνα του Drupal εκτελώντας την ακόλουθη εντολή:

sudo -u nginx /usr/local/bin/composer update drupal/core webflo/drupal-core-require-dev symfony/* --with-dependencies

συμπέρασμα

Συγχαρητήρια, έχετε εγκαταστήσει με επιτυχία το Drupal 8 χρησιμοποιώντας συνθέτη και μάθατε πώς να εγκαταστήσετε λειτουργίες και θέματα. Τώρα μπορείτε να ξεκινήσετε την προσαρμογή του ιστότοπού σας. Ο Οδηγός Χρήσης του Drupal 8 είναι ένα καλό σημείο εκκίνησης για να μάθετε περισσότερα σχετικά με τον τρόπο διαχείρισης της εγκατάστασης του Drupal. Επίσης, μην ξεχάσετε να επισκεφθείτε το πρότυπο του Drupal Composer στο Github.

centos drupal mysql mariadb cms nginx συνθέτης