GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Craft CMS s Nginx na Ubuntu 20.04

Craft CMS je bezplatný open-source redakční systém pro webové stránky. S podporou velké a rostoucí komunity vývojářů a designérů nabízí řadu inovativních funkcí s elegantním designem, který usnadňuje použití. Umožňuje vám také kontrolovat každý aspekt vývoje vašeho webu.

Je to skvělá alternativa k WordPress a Drupal, což jsou dva z nejpopulárnějších systémů pro správu obsahu, které se dnes používají.

Content Management System (CMS) je software používaný ke snadnější správě webového obsahu, jako je úprava obsahu nebo přidávání nových stránek a obrázků. Provozování webu může být obtížné, pokud potřebujete vytvořit každou stránku samostatně v kódu pomocí HTML nebo jiných značkovacích jazyků; to může způsobit problémy, pokud na vašem webu pracuje více lidí najednou, protože nemusí existovat shoda ohledně toho, jak by určité prvky měly vypadat nebo se chovat.

Použití CMS umožňuje nastavit obecnou strukturu každé stránky a také specifické prvky, jako je blogový příspěvek nebo popis produktu; a když někdo jiný potřebuje upravit tyto informace, stačí použít CMS.

Tato příručka ukazuje, jak nainstalovat Craft CMS na Ubuntu 20.04 LTS (Focal Fossa). Ukáže vám, jak nainstalovat Craft CMS na váš server Ubuntu. Pokud chcete používat databázi MySQL/MariaDB, pak vám tato příručka pomůže nainstalovat i to.

Proces instalace Craft CMS na Ubuntu je podobný bez ohledu na to, jakou distribuci a verzi používáte, takže byste měli být schopni postupovat podle tohoto průvodce, i když se váš systém mírně liší. Tento tutoriál byl vytvořen s ohledem na čerstvou instalaci Ubuntu; některé kroky se však mohou mírně lišit v závislosti na aktuálním nastavení serveru.

Předpoklady

Abyste mohli postupovat podle tohoto průvodce, budete potřebovat několik věcí:

  • Server se systémem Ubuntu 20.04 LTS.
  • Uživatel bez oprávnění root s právy sudo nastavenými na vašem serveru Ubuntu.

Začínáme

Aktualizace systému

Nejprve se přihlaste ke svému serveru jako uživatel bez oprávnění root spuštěním příkazu níže:

ssh [email protected]_instance_ip

Uživatelské jméno je root, k serveru 'instance_ip' se připojujete pomocí protokolu SSH

your_instance_ip je soukromá IP adresa vašeho serveru, kde bude Craft CMS nainstalován.

Aktualizujte svůj operační systém spuštěním příkazu níže: 

sudo apt update && sudo apt upgrade -y

Spustí se aktualizace sudo apt, aby se zajistilo, že váš systém Ubuntu je aktuální. Tento příkaz způsobí, že Ubuntu stáhne nové balíčky Ubuntu z úložišť Ubuntu a nainstaluje je do vašeho operačního systému Ubuntu. Ubuntu používá úložiště (nebo přesněji „úložiště“), což jsou softwarová distribuční centra, odkud Ubuntu získává všechny své aplikace.

sudo apt upgrade je příkaz Ubuntu pro aktualizaci a upgrade softwaru Ubuntu. Toto upgraduje váš software Ubuntu, což zahrnuje aktualizaci jádra Ubuntu, nainstalovaných balíčků a jakékoli nové verze softwaru Ubuntu.

-y je ve zkratce --ano. Příkaz Ubuntu 'apt upgrade -y' znamená, že Ubuntu automaticky řekne ano každé žádosti o aktualizaci softwaru Ubuntu.

Pokud se při provádění tohoto příkazu objeví nějaké chyby, možná budete muset opravit chyby pomocí Centra softwaru Ubuntu nebo prostřednictvím terminálu. Můžete to udělat zadáním sudo apt-get -f install a podle pokynů v Softwarovém centru Ubuntu, abyste opravili všechny problémy, nebo můžete pomocí příkazu terminálu „sudo dpkg --configure -a“ opravit chyby a poté znovu spustit výše uvedený příkaz.

sudo apt-get -f install
sudo dpkg --configure -a

Ukázkový výstup:

Instalace závislostí 

Nainstalujte závislosti spuštěním příkazu níže:

sudo apt install -y curl wget vim git unzip socat 

curl je pro Ubuntu ke stažení aktualizací Ubuntu z repozitářů Ubuntu. wget je bezplatný software podporovaný v Ubuntu a dalších operačních systémech Linux pro získávání souborů pomocí protokolů HTTP, HTTPS a FTP.

vim je populární textový editor založený na Unixu, který běží na téměř všech unixových systémech a také na Microsoft Windows.

Ubuntu používá rozbalení k extrahování souborů ze souboru ZIP.

Ubuntu používá socat, nástroj založený na příkazovém řádku k otevírání spojení mezi dvěma různými aplikacemi při použití standardních vstupních a výstupních proudů nebo souborů.

Ukázkový výstup:

Instalovat LEMP Server

Craft CMS je napsán v PHP a jako databázový stroj používá MySQL/MariaDB. Nakonfigurujeme Ubuntu tak, aby jej používal společně pomocí „zásobníku LEMP“. LEMP stack je zkratka pro Linux, webový server Nginx, databázový stroj MySQL/MariaDB a programovací jazyk PHP.

Nejprve nainstalujte server Nginx a MariaDB spuštěním následujícího příkazu v terminálu:

sudo apt-get install nginx mariadb-server -y

Ukázkový výstup:

Jakmile jsou oba nainstalovány, můžete nainstalovat PHP spuštěním následujícího příkazu ve vašem terminálu:

sudo apt-get install php php-cli php-fpm php-common php-curl php-gd php-imagick php-json php-mbstring php-mysql php-pgsql php-zip php-intl php-xml -y

php-cli je rozhraní příkazového řádku pro PHP a výchozí název balíčku byl v minulosti „php5“. Nyní je přejmenován na „php“.

php-fpm je -wait verze php-cgi. Dokáže dobře zpracovávat souběžné požadavky a je užitečné jej používat za proxy serverem.

php-common je pro běžné knihovny potřebné jinými moduly, např. php-json se automaticky nainstaluje, když nainstalujeme „php“.

php-curl je modul pro přístup k URL přes cURL (nástroj příkazového řádku, který odesílá HTTP požadavky).

Poznámka :Ubuntu používá k instalaci softwaru Ubuntu Centrum softwaru Ubuntu. Softwarové centrum Ubuntu však nemůže stahovat ani instalovat software třetích stran, jako jsou některé balíčky Python (virtualenv atd.), které vyžaduje Craft CMS. V centru softwaru Ubuntu musíte ručně zkopírovat a vložit zde nalezené příkazy do okna terminálu a postupovat podle pokynů.

Po instalaci všech balíčků upravte soubor php.ini v adresáři Ubuntu  etc/php/7.4/fpm:

sudo nano /etc/php/7.4/fpm/php.ini

Změňte následující konfigurace v souboru:

memory_limit = 512M
post_max_size = 32M
upload_max_filesize = 32M
date.timezone = Asia/Kolkata

memory_limit =512M potřebuje Craft CMS, v Ubuntu 20.04 LTS nemůže PHP změnit memory_limit sám, takže bychom ho měli změnit ručně v souboru php.ini.

post_max_size =32M a upload_max_filesize =32M jsou potřeba k nahrání obrazových souborů přes CMS, Ubuntu 20.04 LTS nastavilo hodnoty post_max_size a upload_max_filesize ve výchozím nastavení v souboru php.ini Ubuntu na 16M, Craft CMS vyžaduje 32M.

Craft CMS také vyžaduje date.timezone =Asia/Kolkata, aby správně zobrazoval čas v Ubuntu 20.04 LTS. Ubuntu 20.04 LTS používá jako časové pásmo ve výchozím nastavení UTC-5, Craft CMS vyžaduje časové pásmo v UTC+05:30 (indický standardní čas).

Po úpravě souboru php.ini uložte a zavřete soubor a poté restartujte službu PHP-FPM Ubuntu:

sudo systemctl restart php7.4-fpm

Chcete-li zkontrolovat stav služby PHP-FPM Ubuntu, zadejte příkaz níže:

sudo systemctl status php7.4-fpm

Ukázkový výstup:

Nyní máte server LEMP připravený, přejdeme k dalšímu kroku.

Vytváření databáze

Nyní vytvoříme databázi pro Craft CMS. Otevřete konzolu MySQL Ubuntu:

sudo mysql -u root -p

-p znamená heslo. Pokud se chcete připojit uživatelem root, stačí napsat -u root a stisknout Enter, aniž byste zadávali žádné další konkrétní informace.

Zadejte heslo, které jste nastavili během instalace Ubuntu. Poté spusťte níže uvedené příkazy a vytvořte databázi s názvem 'craftdb':

CREATE DATABASE craftdb;
GRANT ALL ON craftdb.* TO 'craftuser' IDENTIFIED BY 'mypassword';
FLUSH PRIVILEGES;
EXIT;

Abychom mohli tuto databázi používat, musíme se k ní připojit. Vytvořili jsme tedy uživatele s názvem 'craftuser'. Místo VALUES používáme IDENTIFIED BY, protože říkáme MySQL, aby používala pouze databázi a ne žádná jiná data. Nahraďte slovo mypassword bezpečným heslem dle vašeho výběru.

FLUSH PRIVILEGES znamená zrušit všechny nepotvrzené transakce v této relaci.

Instalace Craft CMS

Chcete-li nainstalovat Craft CMS, musíme nejprve nainstalovat nejnovější verzi Composer. Protože Ubuntu nepodporuje použití drahokamů ve svém systému. Craft CMS můžeme nainstalovat pouze pomocí Composer. Spuštěním níže uvedeného příkazu nainstalujte Composer:

sudo curl -sS https://getcomposer.org/installer -o composer-setup.php

-s zapne tichý režim. Ve výchozím nastavení curl neukazuje výstup, když jde podél -s, můžete předat adresu URL, která má být analyzována. V tomto případě říkáme curl, aby získal URL https://getcomposre -s, přidáme příznak pro stažení souboru (což je https://getcomposer.org/installer) a uložíme URL, příznak -o řekne curl, aby zapsal stažený soubor do souboru creator-setup.php

Dále nainstalujte Composer spuštěním příkazu níže:

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Příkaz php je vyžadován k tomu, aby sdělil počítači, že chcete spustit tento PHP skript sudo creator-setup.php --install-dir=/usr/local/bin --filename=composer

Instalační adresář je cílová cesta k Composeru. V tomto případě je to /usr/local/bin. Pokud nechcete, aby byl soubor přístupný všem uživatelům, použijte ./ nebo ./. Tento adresář také musí mít oprávnění k provádění.

Parametr --filename je název souboru, pod kterým bude Composer nainstalován.

Pokud nevíte, kam jej umístit, můžete soubor zkopírovat do libovolného adresáře nebo jej zadat za --filename

Jakmile je Composer nainstalován, ověřte nainstalovanou verzi pomocí příkazu níže:

composer --version

Ukázkový výstup:

Dále vytvořte adresář pro svůj projekt Craft CMS. Vytvoříme adresář s názvem craft v adresáři /var/www/html/. Tento adresář použijeme jako náš webový kořen. To znamená, že všechny soubory, které vytvoříme, nebo stránky, které jsou obsluhovány Craft CMS, budou přístupné z webového kořenového adresáře.

mkdir /var/www/html/craft

Dále se přesuňte do adresáře craft a nainstalujte Craft CMS pomocí Composer:

cd /var/www/html/craft
composer create-project craftcms/craft

Poznámka :Pokud používáte verzi Craft nižší než 0.97, nahraďte create-project za install.

Varovat :Toto přepíše všechny existující soubory v adresáři.

Pokud chcete mít pro svůj Craft CMS jiný adresář, můžete zadat volbu --prefer-dist.

Pokud vaši poskytovatelé hostingu neumožňují změnu kořenového adresáře dokumentu na /var/www, pak se důrazně doporučuje nainstalovat Craft do podadresáře webrootu, jako je:mkdir craft a spouštět skladatel create-project craftcms/craft craft.

Ukázkový výstup:

Budete požádáni o zadání údajů o databázi, uživatelského jména a hesla pro administraci.

Musíte poskytnout některá uživatelská pověření pro databázi MYSQL, aby Craft mohl nastavit své interní bezpečnostní klíče! Název hostitele je 'localhost', uživatelské jméno je 'craftuser' a heslo je to, které jste zvolili při vytváření databáze MySQL výše.

V tomto okamžiku by měl být Composer schopen zkompilovat a nainstalovat Craft do adresáře nazvaného craft uvnitř vaší webroot struktury /var/www. Ve výchozím nastavení není přístupný přes Internet, pokud jste nepovolili přístup HTTP.

Dále nastavte správné vlastnictví pro nově nainstalovaný adresář Craft:

chown -R www-data:www-data /var/www/html/craft

Konfigurace Nginx

Nginx se používá k obsluze požadavků od klientů, které k němu jdou přímo. Poskytuje některé další výhody, jako je velmi dobré poskytování statických souborů, ukládání stránek do mezipaměti a komprese těchto stránek gzip.

sudo nano /etc/nginx/conf.d/craft.conf

Naplňte soubor následujícími řádky:

server {
listen 80;
server_name craft.example.com;
root /var/www/html/craft/web;
index index.php;
location / {
  try_files $uri/index.html $uri $uri/ /index.php?$query_string;
  }
location ~ [^/]\.php(/|$) {
 try_files $uri $uri/ /index.php?$query_string;
 fastcgi_split_path_info ^(.+\.php)(/.+)$;
 fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
 fastcgi_index index.php;
 include fastcgi_params;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 fastcgi_param PATH_INFO $fastcgi_path_info;
 fastcgi_param HTTP_PROXY "";
}
}

Server name:Toto je název domény nebo IP adresa vašeho serveru, klienti ji použijí k vyřešení toho, od koho potřebují soubory požadovat (v našem případě craft.example.com).

Kořen dokumentů:Zde se nachází základní aktiva Craft CMS, včetně webových a základních složek, které jsou pod /var/www/html/craft. Cesta, kterou zde vidíte, se může lišit v závislosti na verzi plavidla, které používáte, nebo zda byla změněna struktura složek.

Try_files $uri $uri/$uri :Pro všechny požadavky na relativní URI jako http://craft.example.com/index.php vrátí soubor index.php, který je obvykle v kořenovém adresáři vašeho craftu.

Umístění ~ [^/]\.php(/|$) :Regulární výraz pro soubory PHP v podstatě znamená hledat jakýkoli požadavek, který končí příponou .php nebo odpovídá všemu kromě / a $ (hledá se rekurzivně).

Umístění soketu PHP-FPM:Používá se v žádostech o základní aktiva Craft CMS, tato hodnota by měla odpovídat názvu souboru soketu php-fpm ve vašem hlavním konfiguračním souboru /etc/php/7.4{5,6}-fpm.conf

Uložte a zavřete soubor a poté ověřte, že funguje spuštěním:

sudo nginx -t

Ukázkový výstup:

Pokud nejsou žádné chyby, můžete restartovat Nginx pomocí příkazu níže:

sudo systemctl reload nginx

Přístup k CMS CMS

Nyní, když jsou soubory nakonfigurovány, máme přístup k instalaci Craft CMS. Nasměrujte svůj prohlížeč na http://craft.example.com a měla by se zobrazit uvítací obrazovka:

Klikněte na 'přejít na váš ovládací panel', vyplňte údaje o svém administrátorovi a klikněte na „přihlásit se“. Měli byste vidět výchozí řídicí panel.

Pokud jste narazili na zprávu „503 nedostupné“ takto:

Ujistěte se, že máte nejnovější aktualizace Craft, Craft téma a Craft plugin. Pokud to nepomůže, zkuste následující kroky:ujistěte se, že oprávnění složky Craft jsou správná, jak je popsáno v tomto článku. Tyto soubory by měl vlastnit root a craft by neměl mít oprávnění k zápisu do žádné ze svých složek.

Závěr

gratuluji! Nyní jste úspěšně nainstalovali CraftCMS na Ubuntu 20.04. Pojďme udělat nějaké webové stránky! Jako vždy neváhejte zanechat komentáře nebo návrhy níže.


Ubuntu
  1. Jak nainstalovat WordPress s Nginx na Ubuntu 18.04

  2. Jak nainstalovat phpMyAdmin s Nginx na Ubuntu 18.04

  3. Jak nainstalovat MediaWiki s Nginx na Ubuntu 16.04

  1. Jak nainstalovat Grav CMS s Nginx na Ubuntu 16.04

  2. Jak nainstalovat SuiteCRM s Nginx na Ubuntu 16.04

  3. Jak nainstalovat Magento s Nginx na Ubuntu 15.10

  1. Jak nainstalovat Mailpile s Nginx na Ubuntu 15.10

  2. Jak nainstalovat Redmine 3 s Nginx na Ubuntu 15.10

  3. Jak nainstalovat Piwik s Nginx na Ubuntu 15.10