Grav je moderní webová aplikace, která nevyžaduje žádnou databázi. Je to webová platforma založená na souborech, která je jednoduchá, rychlá a nevyžaduje žádnou instalaci. Grav využívá moderní technologie včetně Twig Templating pro šablonování, Markdown pro tvorbu obsahu, YAML pro jednoduchou konfiguraci, Parsedown a Doctrine cache pro výkonnostní vrstvu atd. Nástroj je napsán v PHP a je dodáván s výkonným Package Management System, který vám umožňuje spravovat Systém Grav, včetně instalace a upgradu samotného Grav, stejně jako motivů a pluginů.
V tomto tutoriálu vám krok za krokem ukážu, jak nainstalovat a nakonfigurovat Grav CMS na Ubuntu 16.04. Vzhledem k tomu, že Grav je založená na webové aplikaci PHP, musíme do systému nainstalovat PHP a abychom získali vyšší výkon, budeme používat PHP-FPM s webovým prohlížečem Nginx.
Předpoklady
- Ubuntu 16.04
- Oprávnění uživatele root
Co uděláme:
- Nainstalujte Nginx
- Nainstalujte a nakonfigurujte PHP-FPM
- Nainstalujte PHP Composer
- Stáhněte si a nainstalujte Grav CMS
- Nakonfigurujte virtuálního hostitele Nginx pro Grav
- Testování
Krok 1 – Instalace webového serveru Nginx
V tomto prvním kroku nainstalujeme webový server Nginx z úložiště Ubuntu. Než to uděláme, musíme aktualizovat všechny balíčky a úložiště pomocí následujících příkazů apt.
sudo apt update
sudo apt upgrade
Nyní nainstalujte webový server Nginx.
sudo apt install nginx -y
Po dokončení instalace spusťte službu a povolte její spuštění při spouštění systému, což můžete provést pomocí následujících příkazů systemctl.
systemctl start nginx
systemctl enable nginx
Webový server Nginx byl nainstalován na Ubuntu 16.04 a běží na výchozím portu HTTP 80. Zkontrolujte jej pomocí příkazu netstat následujícím způsobem.
netstat -plntu
A dostanete výsledek, jak je ukázáno níže.
Krok 2 – Instalace a konfigurace PHP-FPM
Nyní nainstalujeme a nakonfigurujeme PHP-FPM pro naši instalaci Grav. Nainstalujte balíčky PHP a PHP-FPM (včetně všech požadovaných rozšíření) pomocí následujícího příkazu.
sudo apt install -y php7.0 php7.0-fpm php7.0-cli php7.0-gd php7.0-mbstring php-pear php7.0-curl php7.0-dev php7.0-opcache php7.0-xml php7.0-zip
Nyní musíme nakonfigurovat PHP-FPM.
– Nainstalujte další rozšíření
Toto je volitelné, ale je to nejlepší pro výkon Grav. Některá další rozšíření nainstalujeme ručně z úložiště rozšíření PHP pomocí příkazu PECL.
Nainstalujte rozšíření 'apcu' (pro zvýšení výkonu mezipaměti) pomocí příkazu 'pecl' níže.
sudo pecl install apcu
Nyní vytvořte novou konfiguraci rozšíření 'apcu.ini' v adresáři '/etc/php/7.0/mods-available/'.
sudo vim /etc/php/7.0/mods-available/apcu.ini
Zde vložte následující konfiguraci.
extension=apcu.so
Uložte a ukončete.
Dále aktivujte rozšíření pomocí níže uvedených příkazů.
sudo ln -s /etc/php/7.0/mods-available/apcu.ini /etc/php/7.0/fpm/conf.d/20-apcu.ini
sudo ln -s /etc/php/7.0/mods-available/apcu.ini /etc/php/7.0/cli/conf.d/20-apcu.ini
Nyní nainstalujeme rozšíření 'YAML', abychom dále zlepšili výkon Grav. Před instalací rozšíření však musíme nainstalovat některé balíčky pomocí následujícího příkazu apt.
sudo apt install libyaml-dev unzip -y
Dále nainstalujte rozšíření yaml pomocí příkazu pecl.
sudo pecl install yaml-2.0.0
Po dokončení instalace vytvořte nový konfigurační soubor 'yaml.ini'.
sudo vim /etc/php/7.0/mods-available/yaml.ini
Zde vložte následující konfiguraci.
extension=yaml.so
Uložte a ukončete.
Nyní aktivujte rozšíření YAML.
sudo ln -s /etc/php/7.0/mods-available/yaml.ini /etc/php/7.0/fpm/conf.d/20-yaml.ini
sudo ln -s /etc/php/7.0/mods-available/yaml.ini /etc/php/7.0/cli/conf.d/20-yaml.ini
Byla přidána nová další rozšíření PHP pro Grav.
– Konfigurace fondu PHP-FPM pro Grav
Před vytvořením nové konfigurace fondu PHP-FPM musíme do systému přidat nového uživatele s názvem 'grav', což můžete provést pomocí příkazu useradd.
useradd -m -s /bin/bash grav
passwd grav
Nyní přejděte do adresáře '/etc/php/7.0/fpm/pool.d' a zálohujte výchozí konfiguraci 'www.conf'.
cd /etc/php/7.0/fpm/pool.d/
mv www.conf www.conf.bak
Dále vytvořte novou konfiguraci fondu PHP-FPM - 'grav.conf' - pro Grav.
vim grav.conf
Zde vložte následující konfiguraci.
[grav]
user = grav
group = grav
listen = /run/php/php7.0-fpm.sock
listen.owner = www-data
listen.group = www-data
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
chdir = /
Uložte a ukončete.
Restartujte službu PHP-FPM a povolte její spuštění při spouštění systému.
systemctl restart php7.0-fpm
systemctl enable php7.0-fpm
PHP-FPM nyní běží pod souborem 'php7.0-fpm.sock' – zkontrolujte jej pomocí příkazu netstat následujícím způsobem.
netstat -pl | grep php
A měli byste získat výsledek, jak je uvedeno níže.
Poznámka:
Pokud chcete zkontrolovat rozšíření apcu a yaml, můžete použít následující příkazy php.
sudo php -m | grep apcu
sudo php -m | grep yaml
Instalace a konfigurace pro PHP-FPM byla dokončena.
Krok 3 – Instalace PHP Composer
Skladatel je správce balíčků na úrovni aplikace pro PHP. Používá se pro správu závislostí PHP.
Nainstalujte PHP Composer pomocí následujícího příkazu.
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
Po dokončení instalace zkuste spustit příkaz skladatel následujícím způsobem.
composer --version
PHP Composer byl nainstalován.
Krok 4 – Stáhnout a nainstalovat Grav
Nainstalujeme a spustíme nástroj jako 'grav' uživatel. Uživatel byl vytvořen v jednom z předchozích kroků.
Nejprve se přihlaste jako uživatel „grav“.
su - grav
Nyní vytvořte nový adresář 'www'.
mkdir -p ~/www
cd ~/www
Stáhněte si nejnovější verzi grav pomocí wget a přidejte do názvu souboru příponu '.zip'.
wget https://getgrav.org/download/core/grav/latest
mv latest latest.zip
Rozbalte soubor 'latest.zip' a přejmenujte adresář 'grav' na 'html'.
unzip latest.zip
mv grav/ html/
Nyní zpět ke kořenovým právům a změňte vlastníka skupiny na 'www-data'.
exit
cd /home/grav/www
sudo chown -R grav:www-data html/
Grav je nyní stažen a nainstalován uživatelem 'grav' do adresáře '/home/grav/www/html'.
Krok 5 – Konfigurace virtuálního hostitele Grav
V tomto kroku nakonfigurujeme virtuálního hostitele Nginx pro Grav. Vytvoříme nový soubor virtuálního hostitele s názvem 'grav' v adresáři 'sites-available' a poté aktivujeme virtuálního hostitele Grav.
Přejděte do konfiguračního adresáře '/etc/nginx' a vytvořte nový soubor 'grav' pomocí editoru vim.
cd /etc/nginx
vim sites-available/grav
Zde vložte následující konfiguraci virtuálního hostitele Grav Nginx.
server {
## Define Index
#listen 80;
index index.html index.php;
## Web root and Domain Name
root /home/grav/www/html;
server_name grav.hakase-labs.co;
## Begin - Index
# for subfolders, simply adjust the rewrite:
# to use `/subfolder/index.php`
location / {
try_files $uri $uri/ /index.php?$query_string;
}
## End - Index
## Begin - PHP-FPM Configuration
location ~ \.php$ {
# Choose either a socket or TCP/IP address
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
# fastcgi_pass 127.0.0.1:9000;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
}
## End - PHP
## Begin - Security
# deny all direct access for these folders
location ~* /(.git|cache|bin|logs|backups)/.*$ { return 403; }
# deny running scripts inside core system folders
location ~* /(system|vendor)/.*\.(txt|xml|md|html|yaml|php|pl|py|cgi|twig|sh|bat)$ { return 403; }
# deny running scripts inside user folder
location ~* /user/.*\.(txt|md|yaml|php|pl|py|cgi|twig|sh|bat)$ { return 403; }
# deny access to specific files in the root folder
location ~ /(LICENSE|composer.lock|composer.json|nginx.conf|web.config|htaccess.txt|\.htaccess) { return 403; }
## End - Security
}
Uložte a ukončete.
Dále aktivujte virtuálního hostitele a otestujte konfiguraci nginx.
ln -s /etc/nginx/sites-available/grav /etc/nginx/sites-enabled/
nginx -t
Poznámka: Ujistěte se, že se po testování konfigurace neobjeví žádná chyba Nginx.
Nyní restartujte služby Nginx a PHP-FPM.
systemctl restart nginx
systemctl restart php7.0-fpm
Konfigurace virtuálního hostitele Nginx Grav byla dokončena.
Krok 6 – Testování
Otevřete svůj webový prohlížeč a zadejte název domény webu Grav, moje je http://grav.hakase-labs.co/
A získáte výchozí domovskou stránku Grav, jak je uvedeno níže.
Instalace Grav Flat CMS pomocí PHP-FPM a webového serveru Nginx na Ubuntu 16.04 byla úspěšně dokončena.