Jak nastavit Joomla pomocí Nginx a šifrovat certifikáty na Ubuntu 16.04 | 18.04

  • Matthew Stevenson
  • 0
  • 3810
  • 236

Nedávno jsme vám ukázali, jak nakonfigurovat Joomla CMS s certifikáty Apache2 a Let's Encrypt… Pro studenty a nové uživatele, kteří chtějí místo toho konfigurovat Let's Encrypt s Nginx, by jim měl pomoci následující krok…

Také jsme vám řekli, že pokud budete budovat nový web nebo blog Joomla, ujistěte se, že je kompatibilní s HTTPS!

Google a další vyhledávače také hodnotí weby HTTPS lépe než HTTP a vaše soukromí uživatelů bude zajištěno také ... Do budoucna vždy vytvářejte své weby tak, aby byly kompatibilní s HTTPS!

Tento krátký tutoriál studentům a novým uživatelům ukáže podrobný návod, jak nastavit webové stránky Joomla pomocí Nginx a používat Let's Encrypt bezplatné SSL / TLS certifikáty a bezpečnostní funkce, které pomohou zlepšit výkon jejich webových stránek a chránit před škodlivými herci…

Dokončení tohoto nastavení může chvíli trvat a níže uvedený proces by měl fungovat i na jiných webech ... Nemusí to být Joomla ... Toto nastavení by mělo fungovat na jiných CMS a na obyčejných stránkách HTML po vybalení z krabice ... Až budete připraveni Chcete-li nastavit Joomla a Let's Encrypt, postupujte takto:

Krok 0: Získejte své doménové jméno

Pojďme zašifrovat funguje s platnou doménou a fungujícím serverem, na který doména směřuje ... Toto nastavení předpokládá, že se název vaší domény nazývá example.com a ukazuje na váš server s IP adresou 192.168.1.2

Nezapomeňte se také ujistit www CNAME ukazuje na název domény…. Mělo by vypadat jako něco níže:

example.com A ==========> 192.168.1.2 www CNAME ==========> example.com 

Krok 1: Nainstalujte a nakonfigurujte Joomla

Nyní, když jste nakonfigurovali svou doménu tak, aby odkazovala na váš server, pokračujte níže nastavením Joomly a Let's Encrypt…

Nejprve nainstalujte server HTTP Nginx, protože pro tento příspěvek používáme Nginx ... Chcete-li nainstalovat server Nginx, spusťte následující příkazy:

sudo apt aktualizace sudo apt nainstalovat nginx

Po instalaci Nginx lze pomocí následujících příkazů zastavit, spustit a povolit, aby se služba Nginx vždy spouštěla ​​se spuštěním serveru ...

sudo systemctl stop nginx.service sudo systemctl start nginx.service sudo systemctl povolit nginx.service 

Nyní, když je nainstalován Nginx ... Chcete-li otestovat, zda webový server funguje, otevřete prohlížeč a přejděte na adresu URL níže ...

https: // localhost

Pokud se zobrazí výše uvedená stránka, je Nginx úspěšně nainstalován ...

Krok 2: Nainstalujte databázový server MariaDB

Joomla také vyžaduje, aby databázový server ukládal svůj obsah ... Pokud hledáte skutečně otevřený databázový server, je MariaDB skvělým místem pro spuštění ... Chcete-li nainstalovat MariaDB, spusťte následující příkazy:

sudo apt-get install mariadb-server mariadb-client

Po instalaci MariaDB lze pomocí níže uvedených příkazů zastavit, spustit a povolit, aby se služba MariaDB spouštěla ​​vždy při spuštění serveru ...

Spusťte je na Ubuntu 16.04 LTS

sudo systemctl stop mysql.service sudo systemctl start mysql.service sudo systemctl povolit mysql.service 

Spusťte je na Ubuntu 19.04 a 18.04 LTS

sudo systemctl stop mariadb.service sudo systemctl start mariadb.service sudo systemctl povolit mariadb.service 

Dále spusťte níže uvedené příkazy, abyste zabezpečili databázový server heslem root, pokud k tomu nebudete vyzváni během instalace…

sudo mysql_secure_installation

Po zobrazení výzvy postupujte podle pokynů níže.

  • Zadejte aktuální heslo pro root (zadejte pro žádné): Stačí stisknout Enter
  • Nastavit heslo uživatele root? [Y / n]: Y
  • Nové heslo: Zadejte heslo
  • Znovu zadejte nové heslo: Opakujte heslo
  • Odebrat anonymní uživatele? [Y / n]: Y
  • Zakázat vzdálené přihlášení rootem? [Y / n]: Y
  • Odebrat testovací databázi a přístup k ní? [Y / n]: Y
  • Znovu načíst tabulky oprávnění? [Y / n]: Y

Nyní, když je nainstalována MariaDB, můžete otestovat, zda byl databázový server úspěšně nainstalován, spuštěním následujících příkazů ...

sudo mysql -u root -p

po výzvě zadejte heslo uživatele root

Pokud vidíte podobnou obrazovku, jak je uvedeno výše, byl server úspěšně nainstalován ...

Krok 3: Nainstalujte PHP 7.2-FPM a související moduly

Joomla CMS je CMS založený na PHP a je vyžadováno PHP ... Avšak PHP 7.2-FPM nemusí být k dispozici ve výchozích úložištích Ubuntu ... Chcete-li spustit PHP 7.2-FPM na Ubuntu 16.04 a předchozích, budete možná muset spustit následující příkazy:

sudo apt-get install software-properties-common sudo add-apt-repository ppa: ondrej / php

Poté proveďte aktualizaci a upgrade na PHP 7.2-FPM

sudo apt aktualizace

Dále spusťte níže uvedené příkazy a nainstalujte PHP 7.2-FPM a související moduly.

sudo apt install php7.2-fpm php7.2-common php7.2-mysql php7.2-gmp php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-gd php7. 2-xml php7.2-cli php7.2-zip

Po instalaci PHP 7.2 spusťte níže uvedené příkazy a otevřete výchozí konfigurační soubor PHP pro Nginx…

sudo nano /etc/php/7.2/fpm/php.ini 

Řádky níže jsou dobrým nastavením pro většinu CMS založených na PHP ... Aktualizujte pomocí nich konfigurační soubor a uložte ... .

file_uploads = On allow_url_fopen = On short_open_tag = On memory_limit = 256M cgi.fix_pathinfo = 0 upload_max_filesize = 100M max_execution_time = 360 date.timezone = America / Chicago

Pokaždé, když provedete změny v konfiguračním souboru PHP, měli byste také restartovat webový server Nginx ... Chcete-li to provést, spusťte následující příkazy:

sudo systemctl restart nginx.service

Nyní, když je PHP nainstalováno, otestujte, zda funguje, vytvořte testovací soubor s názvem phpinfo.php ve výchozím kořenovém adresáři Nginx…. ( / var / www / html /)

sudo nano /var/www/html/phpinfo.php

Poté zadejte obsah níže a soubor uložte.

Dále otevřete prohlížeč a přejděte na název hostitele serveru nebo IP adresu a poté phpinfo.php

http: //localhost/phpinfo.php

Měla by se zobrazit výchozí testovací stránka PHP ...

Krok 4: Vytvořte databázi Joomla

Nyní, když jste nainstalovali všechny balíčky, které jsou vyžadovány pro fungování Joomly, pokračujte níže a začněte konfigurovat servery. Nejprve spusťte níže uvedené příkazy a vytvořte prázdnou databázi Joomla.

Chcete-li se přihlásit k databázovému serveru MariaDB, spusťte níže uvedené příkazy.

sudo mysql -u root -p

Poté vytvořte databázi s názvem joomla

VYTVOŘIT DATABÁZE joomla;

Vytvořte volaného uživatele databáze joomlauser s novým heslem

VYTVOŘIT UŽIVATELE 'joomlauser' @ 'localhost' IDENTIFIKOVÁNO 'new_password_here';

Poté uživateli poskytněte plný přístup k databázi.

GRANTOVAT VŠE NA joomla. * TO 'joomlauser' @ 'localhost' IDENTIFIKOVÁNO 'user_password_here' S GRANTOVOU MOŽNOSTÍ;

Nakonec uložte změny a ukončete.

VÝPLATNÉ PRIVILEGY; VÝSTUP;

Krok 5: Stáhněte si nejnovější verzi Joomla

Chcete-li získat nejnovější verzi Joomly, musíte přejít na její oficiální stránku ke stažení a získat ji odtud ... Níže uvedený odkaz najdete, kde najdete nejnovější verze archivů Joomla ...

https://downloads.joomla.org/

V době psaní tohoto článku je nejnovější verze 3.9.5... Budoucí verze bude mít různé odkazy ke stažení od ... .

Spuštěním následujících příkazů stáhněte a extrahujte verzi Joomla 3.9.5

cd / tmp wget https://downloads.joomla.org/cms/joomla3/3-9-5/joomla_3-9-5-stable-full_package-zip sudo unzip -d /var/www/html/example.com / tmp / joomla_3-9-5-stable-full_package-zip

Poté spusťte níže uvedené příkazy, abyste nastavili správná oprávnění pro kořenový adresář Joomla a poskytli Nginx kontrolu… .

sudo chown -R www-data: www-data /var/www/html/example.com/ sudo chmod -R 755 /var/www/html/example.com/ 

Krok 6: Konfigurace Nginx

Dále nakonfigurujte konfigurační soubor webu Nginx pro Joomla ... Tento soubor bude řídit, jak uživatelé přistupují k obsahu Joomla. Spuštěním níže uvedených příkazů vytvořte nový konfigurační soubor s názvem example.com

sudo nano /etc/nginx/sites-available/example.com

Poté zkopírujte a vložte níže uvedený obsah do souboru a uložte jej. Nahraďte zvýrazněný řádek vlastním názvem domény a kořenovým umístěním adresáře.

server naslouchat 80; poslouchat [::]: 80; název_serveru example.com www.example.com; root /var/www/html/example.com; index index.php; access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; client_max_body_size 100M; autoindex vypnutý; umístění / try_files $ uri $ uri / /index.php?$args;  umístění ~ \ .php $ include snippets / fastcgi-php.conf; fastcgi_pass unix: /var/run/php/php7.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; zahrnout fastcgi_params;  

Uložte soubor a ukončete.

V tomto okamžiku by měl být Nginx nakonfigurován a připraven reagovat přes HTTP… Ještě nepodporuje HTTPS.

Krok 7: Instalace a konfigurace Pojďme šifrovat

Nyní, když je náš web Nginx povolen a připraven k použití, spusťte níže uvedené příkazy k instalaci a konfiguraci Let's Encrypt k zabezpečení webu Nginx ...

Nejprve nainstalujte Certbot… Certbot je plně vybavený a snadno použitelný nástroj, který může automatizovat úkoly při získávání a obnovování certifikátů SSL SSL…

Chcete-li jej nainstalovat, spusťte následující příkazy:

sudo apt nainstalovat certbot

Po instalaci Certbot vytvořte soubor pro Let's Encrypt to the Webroot plugin to validate our domain in the $ webroot-path /. dobře známá / acme-challenge adresář… .

Chcete-li to provést, vytvořte adresář a poskytněte mu přístup Nginx ...

sudo mkdir -p /var/lib/letsencrypt/.well-known sudo chgrp www-data / var / lib / letsencrypt sudo chmod g + s / var / lib / letsencrypt

Dále vytvořte známý soubor výzvy s níže uvedenými konfiguracemi ...

sudo nano / etc / nginx / snippets / well-known

Poté zkopírujte a vložte níže uvedený obsah do souboru a uložte…

umístění ^ ~ /.well-known/acme-challenge/ povolit vše; root / var / lib / letsencrypt /; default_type "text / plain"; try_files $ uri = 404; 

Uložte soubor a ukončete

Krok 8: Získejte zdarma certifikát

V tomto okamžiku by vaše doména měla směřovat na IP vašeho serveru ... Nginx HTTP server nainstalován a nakonfigurován a Certbot nainstalován připraven k získání vašeho certifikátu ...

Než požádáte o bezplatný certifikát, otevřete konfigurační soubor Nginx příkladu.com vytvořený výše ... .

sudo nano / etc / nginx / sites-available /example.com

Když se soubor otevře, přidejte zvýrazněno řádek níže do souboru a uložit…

server naslouchat 80; poslouchat [::]: 80; název_serveru example.com www.example.com; root /var/www/html/example.com; index index.php; zahrnout úryvky / dobře známé; access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; client_max_body_size 100M; autoindex vypnutý; umístění / try_files $ uri $ uri / /index.php?$args;  umístění ~ \ .php $ include snippets / fastcgi-php.conf; fastcgi_pass unix: /var/run/php/php7.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; zahrnout fastcgi_params; 

Uložte soubor a ukončete

Až budete hotovi, povolte web a restartujte server Nginx HTTP spuštěním následujících příkazů ...

sudo ln -s /etc/nginx/sites-available/example.com / etc / nginx / sites-enabled / sudo systemctl restart nginx.service 

V tomto okamžiku je vše nastaveno a jste připraveni získat váš certifikát ... Chcete-li to provést, spusťte níže uvedené příkazy:

sudo certbot certonly --ree-tos --email [email protected] --webroot -w / var / lib / letsencrypt / -d example.com -d www.example.com

Let's Encrypt should connect validate your domain and server, then install the domain certificate… If everything is successful, you should see a similar message as below:

DŮLEŽITÉ POZNÁMKY: - Gratulujeme! Váš certifikát a řetězec byly uloženy na: /etc/letsencrypt/live/example.com/fullchain.pem Váš klíčový soubor byl uložen na: /etc/letsencrypt/live/example.com/privkey.pem Platnost vašeho certifikátu vyprší dne 2019-08-18. Chcete-li v budoucnu získat novou nebo vylepšenou verzi tohoto certifikátu, jednoduše znovu spusťte certbot. Chcete-li neinteraktivně obnovit * všechny * své certifikáty, spusťte „certbot obnovit“ - Pokud se vám Certbot líbí, zvažte prosím podporu naší práce: Darováním na ISRG / Pojďme šifrovat: https://letsencrypt.org/donate Darováním na EFF: https://eff.org/donate-le 

V tomto okamžiku máte certifikát, nyní přejděte a přidejte jej do konfigurace Nginx pro doménu example.com…

Nejprve vygenerujme certifikát výměny klíčů Diffie-Hellman (DH) pro bezpečnou výměnu kryptografických klíčů… Chcete-li to provést, spusťte níže uvedené příkazy a vygenerujte certifikát s 2048 bitem…

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

Dále otevřete example.com konfigurační soubor a vytvořte jej tak, aby vypadal podobně jako ten níže:

sudo nano /etc/nginx/sites-available/example.com

Nakonfigurujte soubor tak, aby vypadal podobně jako ten níže

server naslouchat 80; název_serveru www.example.com example.com; zahrnout úryvky / dobře známé; vrátit 301 https: // $ host $ request_uri;  server naslouchat 443 ssl http2; poslouchat [::]: 443 ssl http2; název_serveru example.com www.example.com; root /var/www/html/example.com; index index.html; if ($ host! = "example.com") return 301 https: //example.com$request_uri;  zahrnout úryvky / dobře známé; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; ssl_dhparam /etc/ssl/certs/dhparam.pem; sl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305: ECDHE-RSA-CHACHA20-POLY1305: ECDHE-ECDSA-AES128-GCM-SHA256: ECDHE-RSA-AES128-GCM-SHA256: ECDHE-ECH-ECH RSA-AES256-GCM-SHA384: DHE-RSA-AES128-GCM-SHA256: DHE-RSA-AES256-GCM-SHA384: ECDHE-ECDSA-AES128-SHA256: ECDHE-RSA-AES128-SHA258: ECDHE12 SHA: ECDHE-RSA-AES256-SHA384: ECDHE-RSA-AES128-SHA: ECDHE-ECDSA-AES256-SHA384: ECDHE-ECDSA-AES256-SHA: ECDHE-RSA-AES256-SHA: DHE-RSA-AES6 DHE-RSA-AES128-SHA: DHE-RSA-AES256-SHA256: DHE-RSA-AES256-SHA: ECDHE-ECDSA-DES-CBC3-SHA: ECDHE-RSA-DES-CBC3-SHA: EDH-RSA-DES- CBC3-SHA: AES128-GCM-SHA256: AES256-GCM-SHA384: AES128-SHA256: AES256-SHA256: AES128-SHA: AES256-SHA: DES-CBC3-SHA:! DSS '; ssl_prefer_server_ciphers na; ssl_stapling on; ssl_stapling_verify zapnuto; resolver 8.8.8.8 8.8.4.4 platný = 300s; resolver_timeout 30 s; access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; client_max_body_size 100M; autoindex vypnutý; umístění / try_files $ uri $ uri / /index.php?$args;  umístění ~ \ .php $ include snippets / fastcgi-php.conf; fastcgi_pass unix: /var/run/php/php7.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; zahrnout fastcgi_params; 

Uložte výše uvedené změny a restartujte Nginx, aby se výše uvedená nastavení projevila ...

sudo systemctl restart nginx

Chcete-li nastavit proces pro automatické obnovení certifikátů, přidejte úlohu cron k provedení procesu obnovy.

sudo crontab -e

Poté přidejte řádek níže a uložte.

0 1 * * * / usr / bin / certbot obnovit &> / dev / null

Úloha cron se pokusí obnovit 30 dní před vypršením platnosti

Krok 9: Nakonfigurujte Joomla

Poté otevřete prohlížeč a přejděte na název domény serveru. Měl by se zobrazit průvodce instalací Joomla. Pečlivě prosím sledujte průvodce.

http://example.com/

Poté postupujte podle pokynů na obrazovce ... Vyberte jazyk instalace a konfiguraci hlavní stránky a účet administrátora back-endu, poté pokračujte kliknutím na Další ... .

Dále zadejte výše vytvořené informace o databázi a pokračujte kliknutím na Další ...

Potvrďte správnost údajů o webu a ujistěte se, že jsou doporučená nastavení označena zeleně… Poté spusťte instalaci kliknutím na Instalovat…

Po krátké chvíli by měl být váš web nainstalován a připraven k použití…. Zabezpečte svůj web kliknutím na Odebrat instalační složku ...

Dále se přihlaste na back-endový panel pomocí účtu superadministrátora, který jste vytvořili výše ... .

Užívat si!

Nezapomeňte odstranit instalační adresář, pokud jste to neudělali výše ...

sudo rm -rf / var / www / html / joomla / instalace

Gratulujeme! Úspěšně jste nainstalovali Joomla CMS s podporou Cloudflare na Ubuntu 16.04 | 18.04




Zatím žádné komentáře

Sbírka užitečných informací o operačním systému Linux a nových technologiích
Nejnovější články, praktické tipy, podrobné recenze a průvodci. Ve světě operačního systému Linux se budete cítit jako doma