GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare Joomla con Nginx e Let's Encrypt SSL su Debian 11

Joomla! è uno dei sistemi di gestione dei contenuti (CMS) più popolari accanto a WordPress. Con Joomla puoi creare blog, forum di discussione e altri siti Web.

È gratuito, open source e funziona bene con quasi tutti i servizi di web hosting, rendendolo uno dei più facili da installare e utilizzare.

Se non hai ancora alcun web hosting, ti consigliamo di installare Joomla sul tuo sistema Debian o VPS locale.

Qui vedremo come installare Joomla con Nginx su Debian 11.

Prerequisiti

Installa lo stack LEMP

Segui i link sottostanti per installare lo stack LEMP sul tuo sistema Debian per l'installazione di Joomla.

Installa EMP (Nginx, MariaDB e PHP) su Debian 11

Installa estensioni PHP

Usa il comando apt per installare le estensioni PHP richieste per 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

Configura le impostazioni PHP per Joomla

Joomla richiede alcune configurazioni PHP come la directory temporanea PHP, la dimensione massima consentita per il corretto funzionamento dei file caricati. Quindi, modifica il php.ini file.

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

Quindi, aggiorna i valori seguenti in base alle tue esigenze.

output_buffering = off # Required for Joomla

upload_tmp_dir = "/tmp"

upload_max_filesize = 64M

post_max_size = 64M

Configura l'host virtuale Nginx per Joomla

Inizieremo con la creazione di un host virtuale per un'installazione di Joomla. Puoi trovare tutti i file di configurazione dell'host virtuale di Nginx in /etc/nginx/conf.d directory.

In genere il file host virtuale contiene un nome di dominio, numero di porta, radice del documento, posizione del registro, CGI veloce, ecc.

Per questo articolo, presumo quanto segue:

Nome di dominio:itzgeek.net, www.itzgeek.net
Porta n.:80
Radice del documento:/usr/share/nginx/www.itzgeek.net/html
Registri:/usr/share/nginx/www.itzgeek.net/logs

Innanzitutto, crea una configurazione di host virtuale.

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

Quindi, inserisci il seguente contenuto nel file di configurazione sopra. Dovrai cambiare server_name secondo il vostro requisito.

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;
	}

}

Crea una radice del documento e una directory dei registri.

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

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

Verifica il file di configurazione di Nginx con il comando seguente.

sudo nginx -t

Se ottieni quanto segue, significa che la configurazione dell'host virtuale è corretta.

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

Riavvia i servizi Nginx e PHP-FPM.

sudo systemctl reload nginx php7.4-fpm

Installa il certificato SSL Let's Encrypt

Crea record DNS

Vai al registrar del tuo dominio e crea un record DNS [A e CNAME (opzionale se non desideri utilizzare il sottodominio www)] per il tuo dominio.

  1. Nome di dominio non www (Es. itzgeek.net)>> A punto di registrazione all'IP del tuo server
  2. www Nome di dominio (Es. www.itzgeek.net)>> CNAME record punta a itzgeek.net

Per questa demo, ho creato due record in modo che il mio sito Web Joomla sia accessibile all'indirizzo www.itzgeek.net.

Installa il client Certbot

Il client Certbot, che ci aiuta a generare e installare il certificato SSL Let's Encrypt, è ora disponibile come pacchetto snap per il sistema operativo Debian. Quindi, per prima cosa, installa snapd sul tuo sistema.

sudo apt update

sudo apt install -y snapd

Quindi, aggiorna lo snap all'ultima versione.

sudo snap install core && sudo snap refresh core

Infine, installa il client Certbot utilizzando il comando snap.

sudo snap install --classic certbot

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

Installa certificato SSL

Usa il certbot comando per generare e installare il certificato Let's Encrypt SSL per il server web Nginx.

sudo certbot --nginx
1. Inserisci l'indirizzo email ricevere la notifica su rinnovi urgenti e avvisi di sicurezza
2. Digita Y e premi Invio per registrarsi al server ACME
3. Digita Y o N per ricevere e-mail su notizie, campagne, newsletter EFF.
4. Certbot rileverà automaticamente il dominio Joomla e ti chiederà il permesso di attivare HTTPS per il tuo sito Joomla. Digita 1 o numeri appropriati separati da una virgola nel caso tu abbia più siti web.
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

Attendi il completamento dell'installazione SSL. Ora sarai in grado di accedere al sito Web con HTTPS.

Nota: Se accedi al sito ora, riceverai un errore 403 vietato perché devi ancora posizionare il filer di installazione di Joomla.

Reindirizza le richieste HTTP non www a www HTTPS con Nginx

Potresti voler configurare il server Nginx per reindirizzare il traffico dal sito HTTP non www al sito HTTPS WWW, ovvero http://itzgeek.net>> https://www.itzgeek.net. Puoi ignorarlo se non utilizzi www nel tuo dominio.

Rinnovo automatico del certificato SSL

Il client Certbot ora include il rinnovo automatico dei certificati SSL tramite systemd. Quindi, non dovrai rinnovare i certificati manualmente.

Installa Joomla con Nginx

Crea database per l'installazione di Joomla

Innanzitutto, accedi al server del database MariaDB/MySQL.

sudo mysql -u root -p

Quindi, crea il database per l'installazione di Joomla insieme all'utente e alla password del database.

CREATE DATABASE joomladb;

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

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

EXIT

Scarica il pacchetto Joomla

Scarica l'ultima versione del pacchetto Joomla utilizzando il seguente comando nel terminale.

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

Quindi, estrai il file scaricato.

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

E poi, sposta i file nella directory principale del documento del tuo sito web.

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

Aggiorna la proprietà e un gruppo della directory del sito Joomla.

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

Installa Joomla CMS

Apri il browser e visita il dominio del tuo sito Web Joomla per eseguire l'installazione di Joomla.

https://il-tuo-sito-joomla

1. Seleziona lingua per il programma di installazione e digita il Nome sito per il tuo sito Web Joomla, quindi fai clic su Imposta dati di accesso

2. Inserisci nome amministratore Joomla, nome utente, password e indirizzo email , quindi fai clic su Imposta connessione dati

3. Seleziona il tipo di database come MySQL (PDO) e quindi inserisci Dettagli database Joomla [Lascia il prefisso tabella e Crittografia connessione così com'è] e quindi fare clic su Installa Joomla

4. Ora riceverai Congratulazioni! Il tuo sito Joomla è pronto. È possibile accedere al sito Web facendo clic su Completa e apri sito o back-end Joomla facendo clic suCompleta e apri amministratore. Se lo desideri, puoi anche aggiungere una lingua aggiuntiva per il front-end e il back-end del tuo sito Web facendo clic su Installa lingue aggiuntive.

5. Puoi accedere al back-end di Joomla in qualsiasi momento andando su https://your-joomla-website/administrator

Accedi al sito web di Joomla

Ora potrai accedere al sito con il tuo nome di dominio.

https://il-tuo-sito-joomla

Conclusione

È tutto. Spero che tu abbia imparato come installare Joomla con Nginx su Debian 11.


Debian
  1. Installa Lets Encrypt e Secure Nginx con SSL/TLS in Debian 9

  2. Installa Automad CMS con Nginx e Lets Encrypt SSL su Debian 10

  3. Come installare OpenCart con Nginx e Lets Encrypt su Debian 10

  4. Come installare Drupal 9 con Nginx e Lets Encrypt SSL su Debian 10

  5. Come installare Let's Encrypt SSL su Ubuntu 18.04 con Nginx

Come installare Let's Encrypt SSL in Apache su Debian 11

Come installare Drupal con Nginx e Let's Encrypt SSL su Debian 11

Come installare Let's Encrypt SSL in Nginx su Debian 11

Come installare WordPress con Nginx e Let's Encrypt SSL su Debian 11

Come installare Nginx con Let's Encrypt TLS/SSL su Ubuntu 20.04

Come installare Nginx con Let's Encrypt SSL su Fedora 35