Android

Πώς να εγκαταστήσετε το drupal στο ubuntu 18.04

Πως να Ξεκινήσω, Python Tutorial

Πως να Ξεκινήσω, Python Tutorial

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

Anonim

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

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

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

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

Βεβαιωθείτε ότι πληρούνται οι ακόλουθες προϋποθέσεις πριν συνεχίσετε με αυτό το σεμινάριο:

  • Έχετε ένα όνομα τομέα που δείχνει στον δημόσιο διακομιστή IP σας. Θα χρησιμοποιήσουμε το example.com . Έχετε εγκαταστήσει Nginx ακολουθώντας αυτές τις οδηγίες. Έχετε εγκαταστήσει ένα πιστοποιητικό SSL για τον τομέα σας. Μπορείτε να εγκαταστήσετε ένα δωρεάν Πιστοποιητικό SSL για να κρυπτογραφήσετε ακολουθώντας αυτές τις οδηγίες.

Πριν ξεκινήσεις

Ενημερώστε τα πακέτα ευρετηρίου και πακέτα συστημάτων στις πιο πρόσφατες εκδόσεις:

sudo apt update && sudo apt upgrade

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

sudo apt install mysql-server Για νέες εγκαταστάσεις MySQL, συνιστάται να εκτελέσετε την εντολή mysql_secure_installation για να βελτιώσετε την ασφάλεια του διακομιστή MySQL.

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

Για να συνδεθείτε στο shell της 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';

2. Εγκαταστήστε PHP

Η PHP 7.2, η οποία είναι η προεπιλεγμένη έκδοση PHP στο Ubuntu 18.04, υποστηρίζεται πλήρως και συνιστάται για το Drupal 8.6. Δεδομένου ότι θα χρησιμοποιήσουμε το Nginx ως διακομιστή ιστού, θα εγκαταστήσουμε επίσης το PHP-FPM.

Για να εγκαταστήσετε όλες τις απαιτούμενες λειτουργικές μονάδες PHP, εκτελέστε την παρακάτω εντολή:

sudo apt install php7.2-cli php7.2-fpm php7.2-mysql php7.2-json php7.2-opcache php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl

Η υπηρεσία PHP-FPM θα ξεκινήσει αυτόματα μετά την ολοκλήρωση της διαδικασίας εγκατάστασης, μπορείτε να την επαληθεύσετε εκτυπώνοντας την κατάσταση της υπηρεσίας:

systemctl status php7.2-fpm

Η έξοδος πρέπει να δείχνει ότι η υπηρεσία fpm είναι ενεργή και λειτουργεί.

● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2018-05-19 19:54:13 UTC; 9h ago Docs: man:php-fpm7.2(8) Main PID: 17781 (php-fpm7.2) Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec" Tasks: 3 (limit: 507) CGroup: /system.slice/php7.2-fpm.service ├─17781 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf) ├─17796 php-fpm: pool www └─17797 php-fpm: pool www

3. Εγκαταστήστε το Composer

Ο σύνθετος είναι ένας διαχειριστής εξάρτησης για την 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.6.5 2018-05-04 11:44:59

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

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

sudo 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 και τις πληροφορίες χρήστη που δημιουργήσαμε στο βήμα 1:

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. Consider using the --notify global option. Installation complete. User name: admin User password: XRkC9Q5WN9

Τέλος, πρέπει να ορίσουμε τα σωστά δικαιώματα ώστε ο διακομιστής ιστού να έχει πλήρη πρόσβαση στα αρχεία και τους καταλόγους του ιστότοπου. Τόσο το Nginx όσο και το PHP λειτουργούν ως χρήστης www-data ομάδα www-data , γι 'αυτό πρέπει να εκδώσουμε την ακόλουθη εντολή:

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

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

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

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

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

sudo nano /etc/nginx/sites-available/example.com /etc/nginx/sites-available/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' /.*)$; include fastcgi_params; # Block httpoxy attacks. See https://httpoxy.org/. fastcgi_param HTTP_PROXY ""; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param QUERY_STRING $query_string; fastcgi_intercept_errors on; fastcgi_pass unix:/run/php/php7.2-fpm.sock; # 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. Τα αποσπάσματα που χρησιμοποιούνται σε αυτή τη διαμόρφωση δημιουργούνται σε αυτόν τον οδηγό.

Ενεργοποιήστε το μπλοκ διακομιστή δημιουργώντας έναν συμβολικό σύνδεσμο στον κατάλογο με sites-enabled :

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

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

sudo nginx -t

Εάν δεν υπάρχουν σφάλματα, η έξοδος θα πρέπει να έχει την εξής μορφή:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

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

sudo systemctl restart nginx

6. Ελέγξτε την Εγκατάσταση

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

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

7. Εγκαταστήστε τις ενότητες και τα θέματα του Drupal

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

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

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

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

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

8. Ενημερώστε τον πυρήνα του 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 www-data composer update drupal/core webflo/drupal-core-require-dev symfony/* --with-dependencies

συμπέρασμα

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

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