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ánoVý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.0Dá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-intlOvěř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 TechnologiesKrok 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-serverPovolte a spusťte službu MySQL.
$ sudo systemctl povolit mysqld --nowBezpečná instalace MySQL.
$ sudo mysql_secure_installationV 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. Vyberte2
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Á:2V 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) :AnoStiskně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 -pVytvoř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> exitKrok 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.phpSpuš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ěřenNainstalujte Composer.
$ sudo php creator-setup.php --install-dir=/usr/local/bin --filename=composerOvěřte instalaci kontrolou její verze.
$ skladatel --versionComposer verze 2.2.3 2021-12-31 12:18:53Krok 6 – Instalace Neos CMS
Vytvořte kořenový adresář pro instalaci Neos.
$ sudo mkdir -p /var/www/neosZměňte vlastnictví kořenového adresáře na aktuálně přihlášeného uživatele.
$ sudo chown -R $USER:$USER /var/www/neosPřepněte se do kořenového adresáře.
$ cd /var/www/neosK 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,?] yZměňte vlastnictví kořenového adresáře na
nginx
.$ sudo ./flow core:setfilepermissions $USER nginx nginxPřidejte aktuálně přihlášeného uživatele do
nginx
skupina.$ sudo usermod -a -G nginx $USERTo 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 -RNakonfigurujte SELinux tak, aby umožňoval síťová připojení pro Neos CMS.
$ sudo setsebool -P httpd_can_network_connect onKrok 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 certbotZastavte server Nginx, protože narušuje nástroj Certbot.
$ sudo systemctl stop nginxVygenerujte 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.comVýš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 2048Vytvořte webový kořenový adresář výzvy pro automatické obnovení Let's Encrypt.
$ sudo mkdir -p /var/lib/letsencryptVytvoř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-renewVlož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-renewKrok 9 – Konfigurace Nginx a PHP
Konfigurace PHP-FPM
Otevřete soubor
/etc/php-fpm.d/www.conf
.$ sudo nano /etc/php-fpm.d/www.confMusíme nastavit unixového uživatele/skupinu PHP procesů na nginx . Najděte
user=www-data
agroup=www-data
řádků v souboru a změňte je nanginx
....; 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-fpmNakonfigurujte Nginx
Vytvořte a otevřete soubor
/etc/nginx/conf.d/neos.conf
pro úpravy.$ sudo nano /etc/nginx/conf.d/neos.confVlož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.confPř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 nginxKrok 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:HowtoForgeNewsPro 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.
Jak nastavit připojení NFS na Rocky Linux 8 Jak nastavit ukončení Varnish SSL s webovým serverem Nginx na Rocky Linux 8Rocky Linux