GNU/Linux >> Znalost Linux >  >> Rocky Linux

Jak nainstalovat NEOS CMS s Nginx a nechat šifrovat SSL na Rocky Linux 8

Neos je bezplatný a otevřený systém pro správu obsahu (CMS), který vám umožňuje snadno vytvářet složité webové stránky bez nutnosti kódování. Pomocí něj můžete vytvořit blog, zpravodajský web, stránku portfolia nebo firemní web. Nabízí bohatou sadu funkcí, jako je inline editace, podporuje více webových stránek na jednu instalaci, vestavěné nástroje SEO, lidské adresy URL, správce pluginů, náhled zařízení a podporuje více šablon. Podporuje moderní technologie, jako je REST API, JSON, GraphQL a oEmbed.

V tomto tutoriálu se naučíte, jak nainstalovat Neos CMS na server s operačním systémem Rocky Linux 8.

Předpoklady

  • Server se systémem Rocky Linux 8.

  • Uživatel sudo bez oprávnění root.

  • Ujistěte se, že je vše aktualizováno.

    Aktualizace $ sudo dnf
  • Nainstalujte základní balíčky nástrojů. Některé z nich již mohou být nainstalovány.

    $ sudo dnf install wget curl nano unzip yum-utils -y

Krok 1 – Konfigurace brány firewall

Prvním krokem je konfigurace firewallu. Rocky Linux používá Firewalld Firewall. Zkontrolujte stav brány firewall.

$ sudo firewall-cmd --staterunning

Firewall pracuje s různými zónami a veřejná zóna je výchozí zóna, kterou budeme používat. Seznam všech služeb a portů aktivních na bráně firewall.

$ sudo firewall-cmd --permanent --list-services

Měl by ukazovat následující výstup.

cockpit dhcpv6-client ssh

Povolit porty HTTP a HTTPS.

$ sudo firewall-cmd --permanent --add-service=http$ sudo firewall-cmd --permanent --add-service=https

Znovu zkontrolujte stav brány firewall.

$ sudo firewall-cmd --permanent --list-services

Měli byste vidět podobný výstup.

cockpit dhcpv6-client http https ssh

Chcete-li změny povolit, znovu načtěte bránu firewall.

$ sudo firewall-cmd --reload

Krok 2 – Instalace Nginx

Rocky Linux se dodává se starší verzí Nginx. Chcete-li nainstalovat nejnovější verzi, musíte si stáhnout oficiální úložiště Nginx.

Vytvořte a otevřete /etc/yum.repos.d/nginx.repo soubor pro vytvoření oficiálního úložiště Nginx.

$ sudo nano /etc/yum.repos.d/nginx.repo

Vložte do něj následující kód.

[nginx-stable]name=nginx stable repobaseurl=http://nginx.org/packages/centos/$releasever/$basearch/gpgcheck=1enabled=1gpgkey=https://nginx.org/keys/nginx_signing. keymodule_hotfixes=true[nginx-mainline]name=nginx mainline repobaseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/gpgcheck=1enabled=0gpgkey=https://nginx.org/keys/ nginx_signing.keymodule_hotfixes=true

Uložte soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni.

Nainstalujte Nginx.

$ sudo dnf nainstalovat nginx

Ověřte instalaci.

$ nginx -verze vnginx:nginx/1.20.2

Povolte a spusťte službu Nginx.

$ sudo systemctl povolit nginx --now

Krok 3 – Instalace PHP a rozšíření

Pro náš tutoriál musíme nainstalovat nejnovější verzi PHP pomocí úložiště Remi. Prvním krokem je získat úložiště Epel.

$ sudo dnf nainstalovat epel-release

Dále nainstalujte úložiště Remi.

instalace $ sudo dnf https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Zkontrolujte dostupné streamy PHP.

$ seznam modulů dnf php -yPoslední kontrola vypršení platnosti metadat:před 0:00:12 v pátek 3. prosince 2021 09:39:32 UTC.Rocky Linux 8 - AppStreamName Přehled profilů streamuphp 7.2 [d] běžné [d], devel, minimální PHP skriptovací jazykphp 7.3 společný [d], devel, minimální PHP skriptovací jazykphp 7.4 společný [d], devel, minimální PHP skriptovací jazyk Modulární úložiště Remi pro Enterprise Linux 8 - x86_64Name Stream Profiles Summaryphp remi-7.2 common [d], devel , minimální PHP skriptovací jazykphp remi-7.3 běžné [d], devel, minimální PHP skriptovací jazykphp remi-7.4 společné [d], devel, minimální PHP skriptování languagephp remi-8.0 běžné [d], devel, minimální skriptovací jazyk PHPphp remi-8.1 běžné [d], devel, minimální skriptovací jazyk PHPHint:[d]výchozí, [e]povoleno, [x]vypnuto, [i]nainstalováno 

Výchozí verze je 7.2. Povolte úložiště Remi's PHP 8.0.

Reset modulu $ sudo dnf php$ modul sudo dnf povolit php:remi-8.0

Dále nainstalujte PHP a jeho rozšíření požadovaná Neos spolu s ImageMagick.

$ sudo dnf nainstalovat php-fpm php-mbstring php-xml php-curl php-mysqlnd php-zip php-cli php-imagick ImageMagick php-intl

Ověřte instalaci.

$ php --versionPHP 8.0.14 (cli) (vytvořeno:16. prosince 2021 03:01:07) ( NTS gcc x86_64 )Autorská práva (c) The PHP GroupZend Engine v4.0.14, Copyright (c) Zend Technologies 

Krok 4 – Instalace a konfigurace serveru MySQL

K ukládání dat použijeme databázi MySQL. Repozitář Appstream společnosti Rocky Linux je dodáván s nejnovější verzí MySQL.

Nainstalujte MySQL.

$ sudo dnf nainstalovat mysql-server

Povolte a spusťte službu MySQL.

$ sudo systemctl povolit mysqld --now

Bezpečná instalace MySQL.

$ sudo mysql_secure_installation

V prvním kroku budete dotázáni, zda chcete nastavit modul Validate Password Plugin, pomocí kterého můžete otestovat sílu svého hesla MySQL. Vyberte Y pokračovat. V dalším kroku budete požádáni o výběr úrovně ověření hesla. Vyberte 2 což je nejsilnější úroveň a bude vyžadovat, aby vaše heslo mělo alespoň osm znaků a obsahovalo kombinaci velkých, malých písmen, čísel a speciálních znaků.

Zabezpečení nasazení serveru MySQL.Připojení k MySQL pomocí prázdného hesla. K testování hesel a zlepšení zabezpečení lze použít KOMPONENTU OVĚŘENÍ HESLA. Kontroluje sílu hesla a umožňuje uživatelům nastavit pouze ta hesla, která jsou dostatečně bezpečná. Chcete nastavit komponentu OVĚŘENÍ HESLA? Stiskněte y|Y pro Ano, libovolnou jinou klávesu pro Ne:YExistují tři úrovně zásad ověřování hesla:NÍZKÁ Délka>=8 STŘEDNÍ Délka>=8, numerická, malá a velká písmena a speciální znaky SILNÁ Délka>=8, číslice, velká a malá písmena, speciální znaky a soubor slovníkuZadejte prosím 0 =NÍZKÁ, 1 =STŘEDNÍ a 2 =SILNÁ:2

V dalším kroku budete požádáni o výběr hesla uživatele root. Vyberte si silné heslo, které splňuje požadavky pluginu pro ověření hesla. V dalším kroku budete dotázáni, zda chcete pokračovat se zvoleným heslem. Stiskněte y pokračovat.

Zde prosím nastavte heslo pro root.Nové heslo:Znovu zadejte nové heslo:Odhadovaná síla hesla:100Přejete si pokračovat se zadaným heslem?(Stiskněte y|Y pro Ano, jakoukoli jinou klávesu pro Ne) :Ano

Stiskněte Y a poté ENTER klíč pro všechny následující výzvy k odstranění anonymních uživatelů a testovací databáze, zakázání přihlášení root a načtení nově nastavených pravidel.

...Odebrat anonymní uživatele? (Stiskněte y|Y pro Ano, jakoukoli jinou klávesu pro Ne) :YÚspěch....Zakázat vzdálené přihlášení root? (Stiskněte y|Y pro Ano, jakoukoli jinou klávesu pro Ne) :YÚspěch....Odebrat testovací databázi a získat k ní přístup? (Stiskněte y|Y pro Ano, libovolnou jinou klávesu pro Ne) :Y - Vyřazení testovací databáze...Úspěch. - Odebrání oprávnění testovací databázi...Úspěch. Opětovné načtení tabulek oprávnění zajistí, že všechny dosud provedené změny se okamžitě projeví.... Znovu načíst tabulky oprávnění nyní? (Stiskněte y|Y pro Ano, jakoukoli jinou klávesu pro Ne) :YÚspěch. Vše hotovo!

Vstupte do prostředí MySQL. Pokračujte zadáním hesla uživatele root.

$ mysql -u root -p

Vytvořte neos uživatel. Ujistěte se, že heslo splňuje výše nastavené požadavky.

mysql> VYTVOŘTE UŽIVATELE 'neos'@'localhost' IDENTIFIKOVANÉHO PODLE 'Vaše_heslo2';

Vytvořte neosdb databáze.

mysql> VYTVOŘIT DATABÁZI neosdb SADA ZNAKŮ utf8mb4 COLLATE utf8mb4_unicode_ci;

Udělte uživatelská oprávnění na neosdb databáze.

mysql> UDĚLEJTE VŠECHNA PRIVILEGIA NA neosdb.* TOMU 'neos'@'localhost';

Opusťte Shell.

mysql> exit

Krok 5 – Instalace aplikace Composer

Composer je nástroj pro správu závislostí pro PHP a je vyžadován Neos CMS, aby fungoval.

Stáhněte si instalační skript Composer.

$ curl -sS https://getcomposer.org/installer -o creator-setup.php

Spuštěním následujících příkazů ověřte instalační program.

$ HASH=`curl -sS https://composer.github.io/installer.sig`$ echo $HASH$ php -r "if (hash_file('SHA384', 'composer-setup.php') ==='$HASH') { echo 'Instalátor ověřen'; } else { echo 'Instalátor je poškozen'; unlink('composer-setup.php'); } echo PHP_EOL;"

Výše uvedené příkazy vezmou hodnotu hash instalačního programu a porovnejte ji se staženým skriptem. Pokud je spuštění instalačního programu bezpečné, měli byste vidět následující výstup.

Instalátor ověřen

Nainstalujte Composer.

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

Ověřte instalaci kontrolou její verze.

$ skladatel --versionComposer verze 2.2.3 2021-12-31 12:18:53

Krok 6 – Instalace Neos CMS

Vytvořte kořenový adresář pro instalaci Neos.

$ sudo mkdir -p /var/www/neos

Změňte vlastnictví kořenového adresáře na aktuálně přihlášeného uživatele.

$ sudo chown -R $USER:$USER /var/www/neos

Přepněte se do kořenového adresáře.

$ cd /var/www/neos

K instalaci Neos a jeho závislostí použijte Composer.

$ creator-project --no-dev neos/neos-base-distribution .

Nezapomeňte na tečku na konci příkazu, která říká Composeru, aby jej nainstaloval do aktuálního adresáře. Během instalace se mohou zobrazit následující varování. Zadejte y pokračovat. Instalace kvůli tomu nebude narušena.

 - Instalace neos/composer-plugin (2.1.3):Rozbalení archiveneos/composer-plugin obsahuje plugin Composer, který momentálně není ve vaší konfiguraci allow-plugins. Viz https://getcomposer.org/allow-pluginsDůvěřujete „neos/composer-plugin“ ke spuštění kódu a přejete si jej nyní povolit? (zapíše "allow-plugins" do souboru skladatel.json) [y,n,d,?] y - Instalace skladatele/package-versions-deprecated (1.11.99.4):Rozbalení archivecomposer/package-versions-deprecated obsahuje plugin Composer, který aktuálně není ve vaší konfiguraci allow-plugins. Viz https://getcomposer.org/allow-pluginsDůvěřujete „composer/package-versions-deprecated“ ve spouštění kódu a přejete si jej nyní povolit? (zapíše "allow-plugins" do souboru skladatel.json) [y,n,d,?] y

Změňte vlastnictví kořenového adresáře na nginx .

$ sudo ./flow core:setfilepermissions $USER nginx nginx

Přidejte aktuálně přihlášeného uživatele do nginx skupina.

$ sudo usermod -a -G nginx $USER

To je prozatím vše. Zbývající konfigurace provedeme později.

Krok 7 – Konfigurace oprávnění SELinux

Použijte chcon SELinuxu příkaz ke změně kontextu zabezpečení souboru pro obsluhovaný webový obsah z /var/www/neos adresář.

$ sudo chcon -t httpd_sys_content_t /var/www/neos -R$ sudo chcon -t httpd_sys_rw_content_t /var/www/neos -R

Nakonfigurujte SELinux tak, aby umožňoval síťová připojení pro Neos CMS.

$ sudo setsebool -P httpd_can_network_connect on

Krok 8 – Instalace a konfigurace SSL

Pro instalaci SSL certifikátu pomocí Let's Encrypt si musíme stáhnout nástroj Certbot. K instalaci Certbota potřebujeme úložiště Epel, ale tento krok můžeme přeskočit, protože jsme jej nainstalovali dříve v tutoriálu.

Nainstalujte Certbot.

$ sudo dnf nainstalovat certbot

Zastavte server Nginx, protože narušuje nástroj Certbot.

$ sudo systemctl stop nginx

Vygenerujte certifikát SSL.

$ sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [e-mail chráněný] -d neos.example.com

Výše uvedený příkaz stáhne certifikát do /etc/letsencrypt/live/neos.example.com adresář na vašem serveru.

Vytvořte skupinu Diffie-Hellman certifikát.

$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

Vytvořte webový kořenový adresář výzvy pro automatické obnovení Let's Encrypt.

$ sudo mkdir -p /var/lib/letsencrypt

Vytvořte úlohu Cron pro obnovení SSL. Poběží každý den, aby se zkontroloval certifikát a v případě potřeby se obnoví. Nejprve vytvořte soubor /etc/cron.daily/certbot-renew a otevřete jej pro úpravy.

$ sudo nano /etc/cron.daily/certbot-renew

Vložte následující kód.

#!/bin/shcertbot renew --cert-name neos.example.com --webroot -w /var/lib/letsencrypt/ --post-hook "systemctl reload nginx"

Uložte soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni.

Změňte oprávnění k souboru úlohy, aby byl spustitelný.

$ sudo chmod +x /etc/cron.daily/certbot-renew

Krok 9 – Konfigurace Nginx a PHP

Konfigurace PHP-FPM

Otevřete soubor /etc/php-fpm.d/www.conf .

$ sudo nano /etc/php-fpm.d/www.conf

Musíme nastavit unixového uživatele/skupinu PHP procesů na nginx . Najděte user=www-data a group=www-data řádků v souboru a změňte je na nginx .

...; Unix uživatel/skupina procesů; Poznámka:Uživatel je povinný. Pokud skupina není nastavena, výchozí skupina uživatele; bude použito.; RPM:uživatel apache vybraný pro poskytování přístupu ke stejným adresářům jako httpduser =nginx; RPM:Ponechejte skupině povolené zapisovat do protokolu dir.group =nginx...

Uložte soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni.

Spusťte službu PHP.

$ sudo systemctl start php-fpm

Nakonfigurujte Nginx

Vytvořte a otevřete soubor /etc/nginx/conf.d/neos.conf pro úpravy.

$ sudo nano /etc/nginx/conf.d/neos.conf

Vložte do něj následující kód.

server { poslouchat 443 ssl http2; poslouchej [::]:443 ssl http2; název_serveru neos.example.com; access_log /var/log/nginx/neos.access.log; error_log /var/log/nginx/neos.error.log; # SSL ssl_certificate /etc/letsencrypt/live/neos.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/neos.example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/neos.example.com/chain.pem; ssl_session_timeout 5m; ssl_session_cache shared:MozSSL:10m; ssl_session_tickets off; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-POLSHA13HEDCHA25050 -RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1; ssl_stapling on; ssl_stapling_verify on; ssl_dhparam /etc/ssl/certs/dhparam.pem; resolver 8.8.8.8; root /var/www/neos/Web/; index index.php; umístění / { try_files $uri $uri/ /index.php?$args; } # Předat skripty PHP do umístění serveru FastCGI ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_pass unix:/run/php-fpm/www.sock; # Závisí na verzi PHP fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param FLOW_REWRITEURLS 1; fastcgi_param FLOW_CONTEXT Výroba; fastcgi_param X-Forwarded-For $proxy_add_x_forwarded_for; fastcgi_param X-Forwarded-Port $proxy_port; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_NAME $http_host; fastcgi_read_timeout 300; fastcgi_buffer_size 128k; fastcgi_buffers 256 16k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; zahrnout fastcgi_params; try_files $uri =404; } umístění ~ /_Resources/ { access_log off; log_not_found off; vyprší max; if (!-f $request_filename) { rewrite "/_Resources/Persistent/([a-z0-9]{40})/.+\.(.+)" /_Resources/Persistent/$1.$2 break; přepište "/_Resources/Persistent(?>/[a-z0-9]{5}){8}/([a-f0-9]{40})/.+\.(.+)" /_Resources/ Trvalé/přerušení 1,2 $; } }}# vynutit HTTPSserver { poslouchat 80; poslouchej [::]:80; název_serveru neos.example.com; vrátit 301 https://$host$request_uri;}

Všimněte si, že kořenový adresář, který se má použít v konfiguraci Nginx, je /var/www/neos/Web/ a ne /var/www/neos/ .

Uložte soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni po dokončení.

Otevřete soubor /etc/nginx/nginx.conf pro úpravy.

$ sudo nano /etc/nginx/nginx.conf

Přidejte následující řádek před řádek include /etc/nginx/conf.d/*.conf; .

server_names_hash_bucket_size 64;

Uložte soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni.

Ověřte syntaxi konfiguračního souboru Nginx.

$ sudo nginx -tnginx:syntaxe konfiguračního souboru /etc/nginx/nginx.conf je oknginx:konfigurační soubor /etc/nginx/nginx.conf test byl úspěšný

Restartujte službu Nginx, abyste povolili novou konfiguraci.

$ sudo systemctl restart nginx

Krok 10 – Dokončete instalaci Neos

Spusťte adresu URL https://neos.example.com ve vašem prohlížeči a zobrazí se následující obrazovka nastavení.

Klikněte na Přejít na nastavení tlačítko pro pokračování. Budete přesměrováni na přihlašovací obrazovku.

Spusťte v terminálu následující příkaz a získejte heslo.

$ cat /var/www/neos/Data/SetupPassword.txt Heslo pro nastavení je:SCPUYmmQPo úspěšném přihlášení bude tento soubor z bezpečnostních důvodů automaticky smazán. Heslo pro nastavení si uložte pro pozdější použití.

Zadejte heslo a klikněte na Přihlásit se pokračovat. Neos zkontroluje knihovny obrázků PHP.

Pokračujte kliknutím na Další Budete požádáni o zadání přihlašovacích údajů k databázi. Zadejte přihlašovací údaje vytvořené v kroku 4. Po ověření přihlašovacích údajů získáte Připojení navázáno zpráva na obrazovce.

Pokračujte kliknutím na Další . Budete požádáni o nastavení účtu správce. Vyplňte své údaje.

Klikněte na Další pokračovat. Dále budete požádáni, abyste vybrali, zda chcete importovat demo web nebo vytvořit nový web. Pokud chcete vytvořit nový web od začátku, musíte vyplnit obě pole. Pokud například vytváříte zpravodajský web, vyplňte pole tak, jak je uvedeno. Pamatujte, že pokud začnete od nuly, na webu nebudou žádné CSS a budete to muset udělat sami.

Název balíčku:Neos.HowtoForgeNewsNázev webu:HowtoForgeNews

Pro náš tutoriál se budeme držet demo webu. Chcete-li importovat ukázkový web, ponechte všechna pole prázdná.

Klikněte na Další pokračovat. Zobrazí se obrazovka dokončení nastavení.

Klikněte na Přejít na backend tlačítko pro otevření přihlašovací obrazovky ovládacího panelu. Zadejte své uživatelské jméno a heslo a klikněte na Přihlásit se otevřete administrační panel.

Protože jsme importovali ukázkový web, prvním krokem je smazání Vyzkoušet umožňuje komukoli nastavit backendové účty s právy upravovat web.

Přepněte na Vyzkoušet z levého postranního panelu a klikněte na Smazat tlačítko zvýrazněné na snímku obrazovky níže.

Klikněte na oranžovou šipku napravo od položky Publikováno – živě otevřete rozevírací nabídku a klikněte na Publikovat vše pro uložení změn.

Vaše instalace Neos CMS je připravena k použití.

Závěr

V tomto tutoriálu jste nainstalovali a nakonfigurovali Neos CMS pomocí zásobníku LEMP na serveru založeném na Rocky Linux 8. Pokud máte nějaké dotazy, napište je do komentářů níže.


Rocky Linux
  1. Jak nainstalovat Let’s Encrypt SSL pro NGINX na Rocky Linux 8

  2. Jak nainstalovat Nextcloud s Nginx a nechat šifrovat SSL na Ubuntu 20.04 LTS

  3. Jak nainstalovat WordPress s LEMP (Nginx, MariaDB a PHP) na Rocky Linux 8?

  1. Jak nainstalovat Shopware s NGINX a Lets Encrypt na CentOS 7

  2. Jak nainstalovat Shopware s NGINX a Lets Encrypt na Fedoře 30

  3. Jak nainstalovat WonderCMS s Nginx a nechat šifrovat SSL na CentOS 7

  1. Nainstalujte Automad CMS s Nginx a Lets Encrypt SSL na Ubuntu 18.04

  2. Jak nainstalovat Pico CMS s Nginx a Lets Encrypt na CentOS 7

  3. Nainstalujte Automad CMS s Nginx a Lets Encrypt SSL na Debian 10