GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat Joomla s Nginx a Let's Encrypt SSL na Debian 11

Joomla! je vedle WordPressu jedním z nejpopulárnějších systémů pro správu obsahu (CMS). S Joomlou můžete vytvářet blogy, diskusní fóra a další webové stránky.

Je zdarma, s otevřeným zdrojovým kódem a funguje dobře s téměř jakoukoli webhostingovou službou, takže je jednou z nejjednodušších k instalaci a použití.

Pokud ještě nemáte žádný webhosting, doporučujeme nainstalovat Joomlu na váš místní systém Debian nebo VPS.

Zde uvidíme, jak nainstalovat Joomla s Nginx na Debian 11.

Předpoklady

Instalovat LEMP Stack

Pomocí níže uvedených odkazů nainstalujte LEMP stack na váš systém Debian pro instalaci Joomly.

Nainstalujte EMP (Nginx, MariaDB a PHP) na Debian 11

Nainstalujte rozšíření PHP

Použijte příkaz apt k instalaci rozšíření PHP požadovaných pro Joomla.

sudo apt update

sudo apt install -y php-gd php-xmlrpc php-curl php-intl php-imagick php-mysql php-zip php-xml php-mbstring php-bcmath

Nakonfigurujte nastavení PHP pro Joomla

Joomla vyžaduje několik konfigurací PHP, jako je dočasný adresář PHP, maximální povolená velikost pro správné fungování nahraných souborů. Upravte tedy php.ini soubor.

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

Poté aktualizujte níže uvedené hodnoty podle svých požadavků.

output_buffering = off # Required for Joomla

upload_tmp_dir = "/tmp"

upload_max_filesize = 64M

post_max_size = 64M

Nastavení virtuálního hostitele Nginx pro Joomla

Začneme vytvořením virtuálního hostitele pro instalaci Joomly. Všechny konfigurační soubory virtuálního hostitele Nginx najdete pod /etc/nginx/conf.d adresář.

Soubor virtuálního hostitele obvykle obsahuje název domény, číslo portu, kořen dokumentu, umístění protokolu, rychlé CGI atd.

U tohoto článku předpokládám následující:

Název domény:itzgeek.net, www.itzgeek.net
Číslo portu:80
Kořenový adresář dokumentu:/usr/share/nginx/www.itzgeek.net/html
Protokoly:/usr/share/nginx/www.itzgeek.net/logs

Nejprve vytvořte konfiguraci virtuálního hostitele.

sudo nano /etc/nginx/conf.d/www.itzgeek.net.conf

Poté vložte následující obsah do výše uvedeného konfiguračního souboru. Budete muset změnit server_name podle vašeho požadavku.

server {
	server_name itzgeek.net www.itzgeek.net;
	root /usr/share/nginx/www.itzgeek.net/html;

	index index.php index.html;

	access_log /usr/share/nginx/www.itzgeek.net/logs/access.log;
	error_log /usr/share/nginx/www.itzgeek.net/logs/error.log;

	# Prevent access to certain file extensions
	location ~\.(ini|log|conf)$ {
		deny all;
	}

	location ~ \.php$ {
        # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
        include fastcgi_params;
        fastcgi_intercept_errors on;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	}

}

Vytvořte kořenový adresář dokumentů a adresář protokolů.

sudo mkdir -p /usr/share/nginx/www.itzgeek.net/html/

sudo mkdir -p /usr/share/nginx/www.itzgeek.net/logs/

Ověřte konfigurační soubor Nginx pomocí níže uvedeného příkazu.

sudo nginx -t

Pokud se zobrazí následující, znamená to, že konfigurace virtuálního hostitele je správná.

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

Restartujte služby Nginx a PHP-FPM.

sudo systemctl reload nginx php7.4-fpm

Nainstalujte Let's Encrypt SSL certifikát

Vytvořit záznam DNS

Přejděte ke svému registrátorovi domény a vytvořte záznam DNS [A a CNAME (volitelné, pokud nechcete používat subdoménu www)] pro svou doménu.

  1. Název domény bez www (např. itzgeek.net)>> A zaznamenat bod k IP serveru
  2. Název domény www (např. www.itzgeek.net)>> CNAME rekordní bod na itzgeek.net

Pro toto demo jsem vytvořil dva záznamy, takže moje webová stránka Joomla bude přístupná na adrese www.itzgeek.net.

Nainstalujte klienta Certbot

Klient Certbot, který nám pomáhá generovat a instalovat certifikát Let’s Encrypt SSL, je nyní k dispozici jako snap balíček pro operační systém Debian. Nejprve tedy nainstalujte snapd do systému.

sudo apt update

sudo apt install -y snapd

Poté aktualizujte snapd na nejnovější verzi.

sudo snap install core && sudo snap refresh core

Nakonec nainstalujte klienta Certbot pomocí příkazu snap.

sudo snap install --classic certbot

sudo ln -s /snap/bin/certbot /usr/bin/certbot

Nainstalujte certifikát SSL

Použijte certbot příkaz k vygenerování a instalaci certifikátu Let’s Encrypt SSL pro webový server Nginx.

sudo certbot --nginx
1. Zadejte e-mailovou adresu dostávat upozornění na naléhavé obnovení a bezpečnostní upozornění
2. Napište Y a stiskněte Enter zaregistrovat se na serveru ACME
3. Zadejte A nebo N k zasílání e-mailů o novinkách, kampaních a newsletterech EFF.
4. Certbot automaticky detekuje doménu Joomla a požádá vás o povolení aktivovat HTTPS pro váš web Joomla. Zadejte 1 nebo vhodná čísla oddělená čárkou v případě, že máte více webových stránek.
Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1. itzgeek.net
2: www.itzgeek.net
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1,2

Počkejte na dokončení instalace SSL. Nyní budete mít přístup k webu pomocí HTTPS.

Poznámka: Pokud nyní vstoupíte na webovou stránku, dostanete zakázanou chybu 403, protože jste ještě nevložili instalační soubor Joomly.

Přesměrujte požadavky HTTP bez www na www HTTPS pomocí Nginx

Možná budete chtít nakonfigurovat server Nginx tak, aby přesměroval provoz z webu bez www HTTP na web WWW HTTPS, tj. http://itzgeek.net>> https://www.itzgeek.net. Toto můžete přeskočit, pokud ve své doméně nepoužíváte www.

Automaticky obnovit certifikát SSL

Klient Certbot nyní zahrnuje automatickou obnovu SSL certifikátů prostřednictvím systemd. Nebudete tedy muset obnovovat certifikáty ručně.

Nainstalujte Joomla s Nginx

Vytvořit databázi pro instalaci Joomly

Nejprve se přihlaste k databázovému serveru MariaDB/MySQL.

sudo mysql -u root -p

Poté vytvořte databázi pro instalaci Joomly spolu s uživatelem databáze a heslem.

CREATE DATABASE joomladb;

CREATE USER 'joomlauser'@'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON joomladb.* TO 'joomlauser'@'localhost';

EXIT

Stáhněte si balíček Joomla

Stáhněte si nejnovější verzi balíčku Joomla pomocí následujícího příkazu v terminálu.

mkdir /tmp/joomla && cd /tmp/joomla

wget https://downloads.joomla.org/cms/joomla4/4-0-3/Joomla_4-0-3-Stable-Full_Package.tar.gz?format=gz -O Joomla_4-0-3-Stable-Full_Package.tar.gz

Poté rozbalte stažený soubor.

tar -zxvf Joomla_4-0-3-Stable-Full_Package.tar.gz

A pak přesuňte soubory do kořenového adresáře dokumentů vašeho webu.

sudo mv * /usr/share/nginx/www.itzgeek.net/html/

Aktualizujte vlastnictví a skupinu adresáře webu Joomla.

sudo chown -R www-data:www-data /usr/share/nginx/www.itzgeek.net/

Nainstalujte Joomla CMS

Otevřete svůj prohlížeč a navštivte doménu svého webu Joomla a proveďte instalaci Joomly.

https://your-joomla-web

1. Vyberte jazyk pro instalační program a zadejte Název webu pro váš web Joomla a poté klikněte na Nastavit přihlašovací údaje

2. Zadejte Joomla Administrator jméno, uživatelské jméno, heslo a e-mailovou adresu a poté klikněte na Nastavit datové  připojení

3. Vyberte typ databáze MySQL (PDO) a poté zadejte podrobnosti databáze Joomla [Ponechte předponu tabulky a Šifrování připojení jak to je] a poté klikněte na Instalovat Joomla

4. Nyní dostaneteGratulujeme! Váš web Joomla je připraven. Na web se dostanete kliknutím na Dokončit a otevřít web nebo back-end Joomla kliknutím naDokončit a otevřít správce. Pokud chcete, můžete také přidat další jazyk pro front-end a back-end svého webu kliknutím naInstalovat další jazyky.

5. K back-endu Joomly se můžete dostat kdykoli tak, že přejdete na https://your-joomla-website/administrator

Přístup k webu Joomla

Nyní budete mít přístup k webu pomocí názvu vaší domény.

https://your-joomla-web

Závěr

To je vše. Doufám, že jste se naučili, jak nainstalovat Joomla s Nginx na Debian 11.


Debian
  1. Nainstalujte Lets Encrypt and Secure Nginx pomocí SSL/TLS v Debianu 9

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

  3. Jak nainstalovat Let's Encrypt SSL na Ubuntu 18.04 s Nginx

  1. Jak nainstalovat OpenCart s Nginx a Lets Encrypt na Debian 10

  2. Jak nainstalovat Drupal 9 s Nginx a nechat šifrovat SSL na Debian 10

  3. Jak nainstalovat Joomla s Apache a nechat šifrovat SSL na Debian 10

  1. Jak nainstalovat Drupal s Apache a nechat šifrovat SSL na Debian 11

  2. Jak nainstalovat AbanteCart s Nginx a SSL na Debian 11

  3. Jak nainstalovat diskusní fórum s Nginx a zdarma umožňuje šifrovat SSL na Debian 11