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.
- Nome di dominio non www (Es. itzgeek.net)>> A punto di registrazione all'IP del tuo server
- 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 --nginx1. 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-joomlaConclusione
È tutto. Spero che tu abbia imparato come installare Joomla con Nginx su Debian 11.