Android

Wie installiere ich Drupal auf Ubuntu 18.04

Ubuntu: Dienste verwalten

Ubuntu: Dienste verwalten

Inhaltsverzeichnis:

Anonim

Drupal ist eine der beliebtesten Open-Source-CMS-Plattformen weltweit. Es ist in PHP geschrieben und kann verwendet werden, um verschiedene Arten von Websites zu erstellen, von kleinen persönlichen Blogs bis hin zu großen Websites für Unternehmen, Politik und Behörden.

In diesem Tutorial zeigen wir Ihnen, wie Sie Drupal 8.6 auf einem Ubuntu 18.04-Rechner installieren. Es gibt mehrere Möglichkeiten, Drupal zu installieren. In diesem Tutorial werden die Schritte beschrieben, die zur Installation von Drupal 8.6 mithilfe einer Composer-Vorlage für Drupal-Projekte mit dem Namen drupal-project erforderlich sind.

Wir werden Nginx als Webserver, das neueste PHP 7.2 und MySQL / MariaDB als Datenbankserver verwenden.

Voraussetzungen

Stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllt haben, bevor Sie mit diesem Lernprogramm fortfahren:

  • Sie haben einen Domainnamen, der auf Ihre öffentliche Server-IP verweist. Wir werden example.com Sie haben Nginx installiert, indem Sie diese Anweisungen befolgen. Sie haben ein SSL-Zertifikat für Ihre Domain installiert. Sie können ein kostenloses Let's Encrypt SSL-Zertifikat installieren, indem Sie diese Anweisungen befolgen.

Bevor Sie beginnen

Aktualisieren Sie den Paketindex und die Systempakete auf die neuesten Versionen:

sudo apt update && sudo apt upgrade

1. Erstellen Sie eine MySQL-Datenbank

sudo apt install mysql-server Für neue MySQL-Installationen wird empfohlen, den Befehl mysql_secure_installation , um die Sicherheit Ihres MySQL-Servers zu verbessern.

Jetzt müssen wir uns bei der MySQL-Shell anmelden, eine neue Datenbank und ein neues Benutzerkonto erstellen und dem Benutzer die entsprechenden Berechtigungen erteilen.

Um sich bei der MySQL-Shell anzumelden, geben Sie den folgenden Befehl ein und geben Sie das Kennwort ein, wenn Sie dazu aufgefordert werden:

mysql -u root -p

Um eine Datenbank mit dem Namen drupal zu erstellen, führen Sie den Benutzer drupaluser mit den folgenden Befehlen aus, um dem Benutzer die erforderlichen Berechtigungen zu erteilen:

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. Installieren Sie PHP

PHP 7.2, die Standard-PHP-Version in Ubuntu 18.04, wird vollständig unterstützt und für Drupal 8.6 empfohlen. Da wir Nginx als Webserver verwenden werden, installieren wir auch PHP-FPM.

Führen Sie den folgenden Befehl aus, um alle erforderlichen PHP-Module zu installieren:

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

Der PHP-FPM-Dienst wird nach Abschluss des Installationsvorgangs automatisch gestartet. Sie können dies überprüfen, indem Sie den Dienststatus drucken:

systemctl status php7.2-fpm

Die Ausgabe sollte anzeigen, dass der fpm-Dienst aktiv ist und ausgeführt wird.

● 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. Installieren Sie Composer

Composer ist ein Abhängigkeitsmanager für PHP und wird verwendet, um die Drupal-Vorlage herunterzuladen und alle erforderlichen Drupal-Komponenten zu installieren.

Um Composer global zu installieren, laden Sie das Composer-Installationsprogramm mit curl herunter und verschieben Sie die Datei in das Verzeichnis /usr/local/bin :

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

Überprüfen Sie die Installation, indem Sie die Composer-Version drucken:

composer --version

Die Ausgabe sollte ungefähr so ​​aussehen:

Composer version 1.6.5 2018-05-04 11:44:59

4. Installieren Sie Drupal

Nachdem wir Composer installiert haben, können wir mit der Composer-Vorlage im Verzeichnis /var/www/my_drupal ein neues Drupal-Projekt /var/www/my_drupal :

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

Der obige Befehl lädt die Vorlage herunter, ruft alle erforderlichen PHP-Pakete ab und führt einige Skripte aus, um unser Projekt für die Installation vorzubereiten. Der Vorgang kann einige Minuten dauern, und wenn er erfolgreich ist, sollte das Ende der Ausgabe folgendermaßen aussehen:

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

Der nächste Schritt ist die Installation von Drupal mit Drush. Im folgenden Befehl übergeben wir die in Schritt 1 erstellte MySQL-Datenbank und Benutzerinformationen:

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

Das Installationsprogramm wird Sie mit der folgenden Meldung auffordern. Drücken Sie einfach die Eingabetaste, um fortzufahren.

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

Sobald die Installation abgeschlossen ist, gibt das Skript den Administrator-Benutzernamen und das Kennwort aus. Die Ausgabe sollte ungefähr so ​​aussehen:

Starting Drupal installation. This takes a while. Consider using the --notify global option. Installation complete. User name: admin User password: XRkC9Q5WN9

Schließlich müssen wir die richtigen Berechtigungen festlegen, damit der Webserver vollen Zugriff auf die Dateien und Verzeichnisse der Site hat. Sowohl Nginx als auch PHP werden als www-data Benutzer und als www-data Gruppe ausgeführt. Daher müssen wir den folgenden Befehl ausführen:

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

5. Konfigurieren Sie Nginx

Inzwischen sollte Nginx mit SSL-Zertifikat bereits auf Ihrem System installiert sein, wenn Sie nicht die Voraussetzungen für dieses Lernprogramm prüfen.

Um einen neuen Serverblock für unser neues Drupal-Projekt zu erstellen, verwenden wir das Nginx-Rezept von der offiziellen Nginx-Site.

Öffnen Sie Ihren Texteditor und erstellen Sie die folgende Datei:

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; } } Vergessen Sie nicht, example.com durch Ihre Drupal-Domain zu ersetzen und den korrekten Pfad zu den SSL-Zertifikatsdateien festzulegen. Alle HTTP-Anforderungen werden an HTTPS umgeleitet. Die in dieser Konfiguration verwendeten Snippets werden in diesem Handbuch erstellt.

Aktivieren Sie den Serverblock, indem Sie einen symbolischen Link zum sites-enabled Verzeichnis erstellen:

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

Führen Sie vor dem Neustart des Nginx-Dienstes einen Test durch, um sicherzustellen, dass keine Syntaxfehler vorliegen:

sudo nginx -t

Wenn keine Fehler vorliegen, sollte die Ausgabe folgendermaßen aussehen:

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

Starten Sie schließlich den Nginx-Dienst neu, indem Sie Folgendes eingeben:

sudo systemctl restart nginx

6. Testen Sie die Installation

Öffnen Sie Ihren Browser, geben Sie Ihre Domain ein und bei erfolgreicher Installation wird ein Bildschirm ähnlich dem folgenden angezeigt:

Sie können sich als Administrator anmelden und Ihre neue Drupal-Installation anpassen.

7. Installieren Sie Drupal-Module und -Themen

Nachdem Sie Ihr Drupal-Projekt installiert haben, möchten Sie einige Module und Designs installieren. Drupal-Module und -Themen werden in einem benutzerdefinierten Composer-Repository gehostet, das Drupal-Project für uns sofort konfiguriert.

Um ein Modul oder ein composer require drupal/module_or_theme_name zu installieren, müssen Sie composer require drupal/module_or_theme_name in das Projektverzeichnis composer require drupal/module_or_theme_name und composer require drupal/module_or_theme_name . Wenn wir beispielsweise das Pathauto-Modul installieren möchten, müssen wir den folgenden Befehl ausführen:

cd /var/www/my_drupal sudo -u www-data composer require drupal/pathauto Indem wir sudo -u www-data voranstellen, führen wir den Befehl als Benutzer 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

Wie Sie der obigen Ausgabe entnehmen können, installiert der Composer auch alle Paketabhängigkeiten für uns.

8. Aktualisieren Sie den Drupal-Core

Vor dem Upgrade ist es immer eine gute Idee, eine Sicherungskopie Ihrer Dateien und Datenbanken zu erstellen. Sie können entweder das Modul Sichern und Migrieren verwenden oder Ihre Datenbank und Ihre Dateien manuell sichern.

Um die Installationsdateien zu sichern, können Sie natürlich den folgenden rsync-Befehl verwenden:

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

Zum Sichern der Datenbank können Sie entweder den Standardbefehl mysqldump :

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

oder drush sql-dump :

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

Nachdem wir ein Backup erstellt haben, können wir fortfahren und alle Drupal-Core-Dateien aktualisieren, indem wir den folgenden Befehl ausführen:

sudo -u www-data composer update drupal/core webflo/drupal-core-require-dev symfony/* --with-dependencies

Fazit

Herzlichen Glückwunsch, Sie haben Drupal 8 mit Composer erfolgreich installiert und gelernt, wie Module und Designs installiert werden. Sie können nun mit dem Anpassen Ihrer Site beginnen. Das Drupal 8-Benutzerhandbuch ist ein guter Ausgangspunkt, um mehr über die Verwaltung Ihrer Drupal-Installation zu erfahren. Sie sollten auch das Drupal Composer-Vorlagenprojekt auf Github besuchen.

ubuntu drupal mysql mariadb cms nginx composer