Grav je rychlá, jednoduchá a flexibilní webová platforma založená na souborech. Řídí se podobnými principy jako ostatní platformy CMS s plochým souborem, ale má odlišnou filozofii designu než většina ostatních. Grav je dodáván s výkonným systémem správy balíčků, který umožňuje jednoduchou instalaci a upgrade pluginů a motivů a také jednoduchou aktualizaci samotného Gravu.
Základní architektura Grav je navržena tak, aby používala dobře zavedené a nejlepší technologie ve své třídě, aby bylo zajištěno, že se Grav snadno používá a snadno rozšíří. Některé z těchto klíčových technologií zahrnují:
- Twig Templating:pro výkonné ovládání uživatelského rozhraní
- Markdown:pro snadné vytváření obsahu
- YAML:pro jednoduchou konfiguraci
- Parsedown:pro rychlou podporu Markdown a Markdown Extra
- Doctrine Cache:vrstva pro výkon
- Pimple Dependency Injection Container:pro rozšiřitelnost a udržovatelnost
- Symfony Event Dispatcher:pro zpracování událostí pluginu
- Konzola Symfony:pro rozhraní CLI
- Gregwar Image Library:pro dynamickou manipulaci s obrázky
V této příručce vás provedeme krok za krokem instalačním procesem Grav CMS v operačním systému Debian 9 za použití Nginx jako webového serveru a acme.sh a Let's Encrypt for HTTPS.
Požadavky
- Webový server (Apache, Nginx, LiteSpeed, Lightly nebo IIS). V této příručce budeme používat NGINX.
- PHP 7.1.3 nebo vyšší s následujícími rozšířeními PHP: curl, ctype, dom, gd, json, mbstring, openssl, session, simplexml, xml, zip, apcu (volitelné), opcache (volitelné).
Předpoklady
- Operační systém se systémem Debian 9.
- Uživatel bez oprávnění root s právy sudo.
Počáteční kroky
Zkontrolujte svou verzi Debianu:
lsb_release -ds
# Debian GNU/Linux 9.9 (stretch)
Nastavte časové pásmo:
sudo dpkg-reconfigure tzdata
Aktualizujte balíčky operačního systému (software). Toto je důležitý první krok, protože zajišťuje, že máte nejnovější aktualizace a opravy zabezpečení pro výchozí softwarové balíčky vašeho operačního systému:
sudo apt update && sudo apt upgrade -y
Nainstalujte některé základní balíčky, které jsou nezbytné pro základní správu operačního systému Debian:
sudo apt install -y curl wget vim git unzip socat apt-transport-https
Krok 1 – Instalace rozšíření PHP a PHP
Grav CMS vyžaduje PHP verze 7.1 nebo vyšší. Debian má ve výchozím repozitáři PHP verze 7, takže k instalaci novější verze budete muset použít repo třetí strany.
sudo apt install apt-transport-https lsb-release ca-certificates
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt update
Nainstalujte PHP 7.2 a také potřebná rozšíření PHP:
sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-curl php7.2-gd php7.2-json php7.2-mbstring php7.2-xml php7.2-zip php7.2-opcache php-apcu
Zkontrolujte verzi PHP:
php --version
# PHP 7.2.18-1+0~20190503103213.21+stretch~1.gbp101320 (cli) (built: May 3 2019 10:32:13) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.18-1+0~20190503103213.21+stretch~1.gbp101320, Copyright (c) 1999-2018, by Zend Technologies
Služba PHP-FPM se automaticky spouští a povoluje při restartu systému Debian 9, takže ji není třeba spouštět a povolovat ručně. Můžeme přejít k dalšímu kroku, kterým je nastavení SSL.
Krok 2 – Nainstalujte klienta Acme.sh a získejte certifikát Let's Encrypt (volitelné)
Zabezpečení webu pomocí protokolu HTTPS není nutné, ale je dobrým zvykem zabezpečit provoz na webu. K získání certifikátu TLS od Let's Encrypt použijeme klienta Acme.sh. Acme.sh je čistě unixový shell software pro získávání certifikátů TLS z Let's Encrypt s nulovými závislostmi.
Stáhněte a nainstalujte Acme.sh:
sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~
Zkontrolujte verzi Acme.sh:
/etc/letsencrypt/acme.sh --version
# v2.8.0
Získejte RSA a ECC/ECDSA certifikáty pro vaši doménu/název hostitele:
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength ec-256
Po spuštění výše uvedených příkazů budou vaše certifikáty a klíče bude v:
- Pro RSA :
/etc/letsencrypt/example.com
adresář. - Pro ECC/ECDSA :
/etc/letsencrypt/example.com_ecc
adresář.
Krok 3 – Instalace a konfigurace NGINX
Nainstalujte webový server NGINX:
sudo apt install -y nginx
Zkontrolujte verzi NGINX:
nginx -v
# nginx version: nginx/1.10.3
Spusťte sudo vim /etc/nginx/sites-available/grav.conf
a naplňte soubor s následující konfigurací:
server {
listen 80;
server_name example.com;
root /var/www/grav;
index index.html index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~* /(\.git|cache|bin|logs|backup|tests)/.*$ { return 403; }
location ~* /(system|vendor)/.*\.(txt|xml|md|html|yaml|yml|php|pl|py|cgi|twig|sh|bat)$ { return 403; }
location ~* /user/.*\.(txt|md|yaml|yml|php|pl|py|cgi|twig|sh|bat)$ { return 403; }
location ~ /(LICENSE\.txt|composer\.lock|composer\.json|nginx\.conf|web\.config|htaccess\.txt|\.htaccess) { return 403; }
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
}
}
Aktivujte nový grav.conf
konfiguraci propojením souboru s sites-enabled
adresář.
sudo ln -s /etc/nginx/sites-available/grav.conf /etc/nginx/sites-enabled
Zkontrolujte konfiguraci NGINX, zda neobsahuje chyby syntaxe:
sudo nginx -t
Znovu načtěte službu NGINX:
sudo systemctl reload nginx.service
Krok 4 – Instalace Grav CMS
Vytvořte kořenový adresář dokumentu, kde by měl být Grav:
sudo mkdir -p /var/www/grav
Změňte vlastnictví /var/www/grav
do adresáře {váš_uživatel}. Nahraďte {your_user} v příkazu níže uživatelským jménem, pod kterým jste aktuálně přihlášeni do Debianu.:
sudo chown -R {your_user}:{your_user} /var/www/grav
Přejděte do kořenového adresáře dokumentu:
cd /var/www/grav
Stáhněte si nejnovější verzi z oficiální stránky a rozbalte soubor zip:
wget https://getgrav.org/download/core/grav-admin/1.6.9
unzip 1.6.9
mv grav-admin/* . && mv grav-admin/.* .
rm -rf grav-admin 1.6.9
POZNÁMKA: Aktualizujte adresu URL pro stažení, pokud existuje novější vydání.
Změňte vlastnictví /var/www/grav
do adresáře www-data:
sudo chown -R www-data:www-data /var/www/grav
Krok 5 – Dokončete nastavení Grav
Otevřete svůj web ve webovém prohlížeči a měla by se zobrazit stránka, která vás požádá o vytvoření účtu správce Grav. Vytvořte jej a pokračujte kliknutím na tlačítko "Vytvořit uživatele":
To je vše. Vaše instalace Grav je dokončena.
Odkazy
- https://getgrav.org/
- https://github.com/getgrav/grav