Android

Wie installiere ich Drupal auf Centos 7?

How to install Xampp and Solve UAC problem

How to install Xampp and Solve UAC problem

Inhaltsverzeichnis:

Anonim

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.

Es gibt mehrere Möglichkeiten, Drupal zu installieren. In diesem Handbuch werden die Schritte zur Installation von Drupal anhand einer Composer-Vorlage für Drupal-Projekte mit dem Namen drupal-project beschrieben.

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

Voraussetzungen

Stellen Sie vor Beginn der Installation sicher, dass folgende Voraussetzungen erfüllt sind:

  • Verfügen Sie über einen Domainnamen, der auf Ihre öffentliche Server-IP verweist. Wir werden example.com Haben Sie Nginx installiert. Haben Sie ein SSL-Zertifikat für Ihre Domain installiert. Sie können ein kostenloses Let's Encrypt SSL-Zertifikat installieren, indem Sie diese Anweisungen befolgen. Sie sind als Benutzer mit Sudo-Berechtigungen angemeldet.

Erstellen Sie eine MySQL-Datenbank

Der erste Schritt besteht darin, eine neue Datenbank und ein neues Benutzerkonto zu erstellen und dem Benutzer die entsprechenden Berechtigungen zu erteilen.

Wenn MySQL oder MariaDB bereits auf Ihrem Server installiert sind, können Sie diesen Schritt überspringen. Andernfalls können Sie das MariaDB 5.5-Serverpaket aus den Standard-Repositorys von CentOS installieren, indem Sie Folgendes eingeben:

sudo yum install mariadb-server Für neue MariaDB / MySQL-Installationen wird empfohlen, den Befehl mysql_secure_installation , um die Sicherheit Ihres Datenbankservers zu verbessern.

Melden Sie sich bei der MySQL-Shell an, indem Sie den folgenden Befehl eingeben und das Kennwort eingeben, 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';

Installieren Sie PHP

CentOS 7 wird mit PHP Version 5.4 ausgeliefert, die veraltet ist und nicht mehr unterstützt wird. Die empfohlene PHP-Version für Drupal ist PHP 7.2.

Um PHP 7.2 auf CentOS 7 zu installieren, müssen zuerst die EPEL- und Remi-Repositorys aktiviert werden:

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

Sobald die Repositorys für die Installation von PHP 7.2 aktiviert sind und alle erforderlichen PHP-Erweiterungen ausgeführt werden, führen Sie die folgenden Befehle aus:

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

Wir haben PHP FPM installiert, weil wir Nginx als Webserver verwenden werden.

Standardmäßig wird PHP FPM als Benutzer- apache auf Port 9000 ausgeführt. Wir ändern den Benutzer in nginx und wechseln vom TCP-Socket zum Unix-Socket. Öffnen Sie dazu die Datei /etc/php-fpm.d/www.conf und bearbeiten Sie die gelb markierten Zeilen:

/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 mit dem folgenden Befehl sicher, dass das Verzeichnis /var/lib/php den richtigen Eigentümer hat:

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

Aktivieren und starten Sie zum Schluss den PHP-FPM-Dienst:

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

Installieren Sie Composer

Composer ist ein Abhängigkeitsmanager für PHP. Wir werden die Drupal-Vorlage herunterladen und alle notwendigen Drupal-Komponenten mit Composer installieren.

Mit dem folgenden Befehl wird Composer global installiert, indem das Composer-Installationsprogramm mit curl heruntergeladen und die Datei in das Verzeichnis /usr/local/bin verschoben wird:

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

Überprüfen Sie die Installation, indem Sie den folgenden Befehl ausführen, mit dem die Composer-Version gedruckt wird:

composer --version

Die Ausgabe sollte ungefähr so ​​aussehen:

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

Installieren Sie Drupal

Nachdem der Composer installiert wurde, erstellen Sie ein neues Drupal-Projekt mit der Drupal-Vorlage im Verzeichnis /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

Der obige Befehl lädt die Vorlage herunter, ruft alle erforderlichen PHP-Pakete ab und führt die Skripte aus, die zur Vorbereitung des Projekts für die Installation erforderlich sind. Der Vorgang kann einige Minuten dauern, und wenn er erfolgreich ist, sieht das Ende der Ausgabe folgendermaßen aus:

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 MySQL-Datenbank und Benutzerinformationen, die wir im ersten Abschnitt erstellt haben:

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. Installation complete. User name: admin User password: frxka2Db5v

Stellen Sie abschließend die richtigen Berechtigungen ein, damit der Webserver uneingeschränkten Zugriff auf die Dateien und Verzeichnisse der Site hat:

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

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/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; } } 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.

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

sudo nginx -t

Starten Sie den Nginx-Dienst neu, damit die Änderungen wirksam werden, indem Sie Folgendes eingeben:

sudo systemctl restart nginx

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.

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 nginx /usr/local/bin/composer require drupal/pathauto Indem wir sudo -u nginx voranstellen, führen wir den Befehl als Benutzer 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

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

Aktualisieren Sie 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 nginx /usr/local/bin/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. Vergessen Sie auch nicht, das Drupal Composer-Vorlagenprojekt auf Github zu besuchen.

Centos Drupal MySQL Mariadb CMS Nginx Komponist