Android

Jak nainstalovat drupal na centos 7

Instalace češtiny do Joomla 3.x

Instalace češtiny do Joomla 3.x

Obsah:

Anonim

Drupal je jednou z předních open source CMS platforem na světě. Je flexibilní, škálovatelný a lze jej použít k vytváření různých typů webových stránek, od malých osobních blogů po velké firemní, politické a vládní weby.

V tomto tutoriálu vysvětlíme, jak nainstalovat Drupal 8.6 na CentOS 7.

Existuje několik způsobů, jak nainstalovat Drupal. Tato příručka popisuje kroky nezbytné pro instalaci Drupalu pomocí šablony skladatele pro projekty Drupal nazvané drupal-project.

Budeme používat Nginx jako webový server, nejnovější PHP 7.2 a MySQL / MariaDB jako databázový server.

Předpoklady

Před zahájením instalace se ujistěte, že jste splnili následující předpoklady:

  • Název domény ukazující na IP vašeho veřejného serveru. Použijeme example.com Nainstalovali jste Nginx. Měli jste pro vaši doménu nainstalovaný certifikát SSL. Můžete nainstalovat bezplatný certifikát SSL šifrováním SSL podle těchto pokynů. Přihlaste se jako uživatel s právy sudo.

Vytvořte databázi MySQL

Prvním krokem je vytvoření nové databáze a uživatelského účtu a udělení uživatelských oprávnění.

Pokud je na vašem serveru již nainstalován MySQL nebo MariaDB, můžete tento krok přeskočit, pokud ne, můžete nainstalovat serverový balíček MariaDB 5.5 z výchozích repozitářů CentOS zadáním:

sudo yum install mariadb-server Pro čerstvé instalace MariaDB / MySQL se doporučuje spustit příkaz mysql_secure_installation aby se zvýšila bezpečnost databázového serveru.

Přihlaste se do shellu MySQL zadáním následujícího příkazu a po zobrazení výzvy zadejte heslo:

mysql -u root -p

Chcete-li vytvořit databázi s názvem drupal , uživatel s názvem drupaluser a udělit uživateli nezbytná oprávnění, spusťte následující příkazy:

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';

Nainstalujte PHP

CentOS 7 je dodáván s verzí PHP 5.4, která je zastaralá a již není podporována. Doporučená verze PHP pro Drupal je PHP 7.2.

Chcete-li nejprve nainstalovat PHP 7.2 na CentOS 7, musíme povolit repozitáře EPEL a Remi:

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

Jakmile jsou úložiště povolena pro instalaci PHP 7.2 a všechna požadovaná rozšíření PHP spusťte následující příkazy:

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

Nainstalovali jsme PHP FPM, protože budeme používat Nginx jako webový server.

Ve výchozím nastavení bude PHP FPM běžet jako uživatelský apache na portu 9000. Změníme uživatele na nginx a přepneme z soketu TCP na soket Unix. Otevřete soubor /etc/php-fpm.d/www.conf a upravte řádky zvýrazněné žlutě:

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

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

Ujistěte se, že adresář /var/lib/php má správné vlastnictví pomocí následujícího příkazu chown:

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

Nakonec povolte a spusťte službu PHP FPM:

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

Nainstalujte skladatele

Composer je správce závislostí pro PHP. Stáhneme Drupal šablonu a nainstalujeme všechny potřebné komponenty Drupal se skladatelem.

Následující příkaz nainstaluje skladatele globálně stažením instalačního programu Composer s curl a přesunutím souboru do /usr/local/bin :

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

Ověřte instalaci spuštěním následujícího příkazu, který vytiskne verzi skladatele:

composer --version

Výstup by měl vypadat asi takto:

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

Nainstalujte Drupal

Po nainstalování skladatele vytvořte nový projekt Drupal pomocí šablony Drupal uvnitř adresáře /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

Výše uvedený příkaz stáhne šablonu, načte všechny požadované balíčky php a spustí skripty nezbytné pro přípravu projektu k instalaci. Proces může trvat několik minut a pokud bude úspěšný, bude výstup vypadat takto:

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

Dalším krokem je instalace Drupalu pomocí Drush. V níže uvedeném příkazu předáváme MySQL databázi a uživatelské informace, které jsme vytvořili v první sekci:

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

Instalační program vás vyzve následující zprávou, pokračujte stisknutím klávesy enter.

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

Po dokončení instalace skript vytiskne administrativní uživatelské jméno a heslo. Výstup by měl vypadat asi takto:

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

Nakonec nastavte správná oprávnění, aby webový server mohl mít plný přístup k souborům a adresářům webu:

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

Nakonfigurujte Nginx

V tuto chvíli byste již měli mít nainstalovaný Nginx s certifikátem SSL ve vašem systému, pokud ne, zkontrolujte předpoklady pro tento tutoriál.

K vytvoření nového bloku serveru pro náš nový projekt Drupal použijeme recept Nginx z oficiálního webu Nginx.

Otevřete textový editor a vytvořte následující soubor:

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; } } Nezapomeňte nahradit example.com vaší doménou Drupal a nastavit správnou cestu k souborům certifikátů SSL. Všechny požadavky HTTP budou přesměrovány na HTTPS. Úryvky použité v této konfiguraci jsou vytvořeny v této příručce.

Před restartováním služby Nginx proveďte test, abyste se ujistili, že neexistují žádné chyby syntaxe:

sudo nginx -t

Restartujte službu Nginx, aby se změny projevily zadáním:

sudo systemctl restart nginx

Vyzkoušejte instalaci

Otevřete prohlížeč, zadejte svou doménu a za předpokladu, že je instalace úspěšná, objeví se obrazovka podobná následující:

Můžete se přihlásit jako správce a začít přizpůsobovat svou novou instalaci Drupalu.

Nainstalujte Drupal moduly a témata

Nyní, když máte nainstalovaný váš projekt Drupal, budete chtít nainstalovat některé moduly a témata. Drupal moduly a motivy jsou hostovány ve vlastním skladatelském úložišti, které pro nás konfiguruje drupal-project z krabice.

Chcete-li nainstalovat modul nebo motiv, musíte pouze cd do adresáře projektu a typ composer require drupal/module_or_theme_name . Pokud například chceme nainstalovat modul Pathauto, musíme spustit následující příkaz:

cd /var/www/my_drupal sudo -u nginx /usr/local/bin/composer require drupal/pathauto Předpřipravením sudo -u nginx příkaz jako uživatel 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

Jak můžete vidět z výše uvedeného výstupu, skladatel pro nás také nainstaluje všechny závislosti na balíčku.

Aktualizace Drupal Core

Před upgradem je vždy vhodné provést zálohu vašich souborů a databáze. Můžete použít modul Zálohování a migrace nebo ručně zálohovat databázi a soubory.

K zálohování instalačních souborů můžete použít následující příkaz rsync, samozřejmě, budete muset použít správnou cestu k instalačnímu adresáři:

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

K zálohování databáze můžeme použít standardní příkaz mysqldump :

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

nebo drush sql-dump :

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

Nyní, když jsme vytvořili zálohu, můžeme pokračovat a aktualizovat všechny základní soubory Drupalu spuštěním následujícího příkazu:

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

Závěr

Blahopřejeme, úspěšně jste nainstalovali Drupal 8 pomocí skladatele a naučili jste se instalovat moduly a motivy. Nyní můžete začít přizpůsobovat svůj web. Uživatelská příručka Drupal 8 je dobrým výchozím místem, kde se dozvíte více o správě instalace Drupalu. Nezapomeňte také navštívit projekt šablony Drupal Composer na Githubu.

centos drupal mysql mariadb cms nginx skladatel