Ubuntu: Dienste verwalten
Inhaltsverzeichnis:
- Voraussetzungen
- Bevor Sie beginnen
- 1. Erstellen Sie eine MySQL-Datenbank
- 2. Installieren Sie PHP
- 3. Installieren Sie Composer
- 4. Installieren Sie Drupal
- 5. Konfigurieren Sie Nginx
- 6. Testen Sie die Installation
- 7. Installieren Sie Drupal-Module und -Themen
- 8. Aktualisieren Sie den Drupal-Core
- Fazit
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.comSie 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:
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 composerWie lange dauert es, bis ich das Steam-Library-Backlog überbrückt habe? Wenn Sie diese Frage haben, erfahren Sie auf der Wie lange zu schlagen Rechner Website, wie viele Stunden Sie benötigen, um Ihre Steam Library fertig zu stellen. Gut für Spieler auf Steam, die mit einem Überhang an Spielen feststecken, die sie vielleicht niemals spielen können.
Wie lange dauert es, bis ich den Rückstand meiner Steam-Bibliothek überwunden habe? Wenn Sie diese Frage haben, wird Ihnen auf der Rechner-Website
Wie installiere ich remix os auf einer virtuellen Box auf einem beliebigen Computer?
Remix OS bietet eine Android-ähnliche Erfahrung auf einem Computer. Anstatt Dual-Boot zu verwenden, empfehlen wir die Installation auf der Virtual Box. Hier ist wie.
Wie installiere ich Drupal auf Centos 7?
Drupal ist eine der weltweit führenden Open-Source-CMS-Plattformen. Es ist flexibel, skalierbar und kann zum Erstellen verschiedener Arten von Websites verwendet werden, von kleinen persönlichen Blogs bis hin zu großen Websites für Unternehmen, Politik und Behörden. In diesem Tutorial erklären wir Ihnen, wie Sie Drupal 8.6 unter CentOS 7 installieren.







