GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Grav CMS s Nginx na Ubuntu 20.04

Grav je bezplatný, open-source a plochý CMS, který nevyžaduje žádnou databázi. Je založen na PHP a nabízí několik funkcí, které nemusí být dostupné pro jiné CMS, jako je WordPress, Joomla atd. Je jednoduchý, snadno použitelný a přichází s některými z klíčových technologií včetně Twig Templating, Markdown, YAML, Parsedown, Doctrine Cache, Gregwar Image Library a Symfony Console.

V tomto tutoriálu vám ukážu, jak nainstalovat Grav CMS s Nginx a Let's Encrypt SSL na serveru Ubuntu 20.04.

Předpoklady

  • Server se systémem Ubuntu 20.04.
  • Platný název domény s adresou IP vašeho serveru.
  • Na serveru je nakonfigurováno heslo uživatele root.

Začínáme

Nejprve aktualizujte systémové balíčky na aktualizovanou verzi spuštěním následujícího příkazu:

apt-get update -y

Jakmile jsou všechny balíčky aktualizovány, můžete přejít k dalšímu kroku.

Instalovat Nginx a PHP

Nejprve budete muset do svého systému nainstalovat webový server Nginx, PHP a další rozšíření PHP. Všechny je můžete nainstalovat pomocí následujícího příkazu:

apt-get install nginx php php-cli php-fpm php-common php-curl php-gd php-json php-mbstring php-xml php-zip php-opcache php-apcu unzip -y

Jakmile jsou všechny balíčky nainstalovány, ověřte verzi PHP pomocí následujícího příkazu:

php --version

Měli byste získat následující výstup:

PHP 7.4.3 (cli) (built: Jul  5 2021 15:13:35) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

Dále upravte soubor php.ini a proveďte nějaké změny:

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

Změňte následující řádky:

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
max_input_vars = 1500
date.timezone = America/Chicago

Uložte a zavřete soubor a poté restartujte službu PHP-FPM, aby se změny projevily:

systemctl restart php7.4-fpm

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Instalovat Grav CMS

Dále si budete muset stáhnout Grav CMS do kořenového webového adresáře Nginx. Můžete si jej stáhnout ze stránky stahování Grav pomocí následujícího příkazu:

cd /var/www/html
wget https://getgrav.org/download/core/grav-admin/1.7.17

Po dokončení stahování rozbalte stažený soubor pomocí následujícího příkazu:

unzip 1.7.17

Dále přejmenujte extrahovaný adresář na grav pomocí následujícího příkazu:

mv grav-admin grav

Dále nastavte správné vlastnictví adresáře grav:

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

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Konfigurace Nginx pro Grav CMS

Dále budete muset vytvořit konfigurační soubor virtuálního hostitele Nginx pro hostování Grav CMS. Můžete jej vytvořit pomocí následujícího příkazu:

nano /etc/nginx/conf.d/grav.conf

Přidejte následující řádky:

server {

listen 80;

server_name grav.example.com;
root /var/www/html/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.4-fpm.sock;
   fastcgi_split_path_info ^(.+\.php)(/.+)$;
   fastcgi_index index.php;
   include fastcgi_params;
   fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
 }

}

Po dokončení uložte a zavřete soubor a poté ověřte, zda Nginx neobsahuje nějakou chybu syntaxe:

nginx -t

Měli byste získat následující výstup:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Nakonec restartujte službu Nginx, aby se změny projevily:

systemctl restart nginx

Stav Nginx můžete také ověřit pomocí následujícího příkazu:

systemctl status nginx

Měli byste vidět následující výstup:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-07-09 06:45:28 UTC; 3s ago
       Docs: man:nginx(8)
    Process: 33099 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 33110 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 33111 (nginx)
      Tasks: 2 (limit: 2353)
     Memory: 2.6M
     CGroup: /system.slice/nginx.service
             ??33111 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??33112 nginx: worker process

Jul 09 06:45:28 node1 systemd[1]: Starting A high performance web server and a reverse proxy server...
Jul 09 06:45:28 node1 systemd[1]: Started A high performance web server and a reverse proxy server.

Jakmile je vše v pořádku, můžete přejít k dalšímu kroku.

Přístup k systému Grav CMS

Nyní máte přístup k webovému uživatelskému rozhraní Grav CMS pomocí adresy URL http://grav.example.com . Měli byste vidět následující obrazovku:

Nastavte své administrátorské uživatelské jméno, heslo a klikněte na Vytvořit uživatele knoflík. Budete přesměrováni na řídicí panel Grav CMS:

Stránka konfigurace

Stránka účtů

Stránka pluginů

Stránka nástrojů

Bezpečný Grav CMS s Let's Encrypt SSL

Dále budete muset nainstalovat klientský balíček Certbot, abyste mohli nainstalovat a spravovat Let's Encrypt SSL.

Nejprve nainstalujte Certbot pomocí následujícího příkazu:

apt-get install python3-certbot-nginx -y

Po dokončení instalace spusťte následující příkaz a nainstalujte Let's Encrypt SSL na svůj web:

certbot --nginx -d grav.example.com

Budete požádáni, abyste poskytli platnou e-mailovou adresu a přijali podmínky služby, jak je uvedeno níže:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for grav.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/grav.conf

Dále zvolte, zda chcete přesměrovat provoz HTTP na HTTPS, jak je uvedeno níže:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Zadejte 2 a stiskněte Enter pro dokončení instalace. Měli byste vidět následující výstup:

Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/grav.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://grav.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=grav.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/grav.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/grav.example.com/privkey.pem
   Your cert will expire on 2021-12-30. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

 - We were unable to subscribe you the EFF mailing list because your
   e-mail address appears to be invalid. You can try again later by
   visiting https://act.eff.org.

Nyní můžete přistupovat k Grav CMS bezpečně pomocí protokolu HTTPS.

Závěr

Gratulujeme! úspěšně jste nainstalovali Grav CMS s Nginx a Let's Encrypt SSL na serveru Ubuntu 20.04. Nyní můžete snadno vytvořit svůj web pomocí Grav CMS.


Ubuntu
  1. Jak nainstalovat Grav CMS na Ubuntu 15.04

  2. Jak nainstalovat Grav CMS na Ubuntu 18.04

  3. Jak nainstalovat PHP 7.4 s Nginx na Ubuntu 20.04

  1. Jak nainstalovat MediaWiki s Nginx na Ubuntu 16.04

  2. Jak nainstalovat Grav CMS 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