Cum se instalează Joomla cu Nginx pe serverul Ubuntu 24.04

Configurare noua (How To)

Situatie

Joomla este un sistem de management al conținutului bazat pe PHP. Pentru a-l instala, trebuie să instalați PHP pe sistemul dvs. În această secțiune, veți instala stiva LEMP (Linux, Nginx, MariaDB și PHP-FPM) ca dependențe pentru Joomla.

Mai întâi, rulați comanda de mai jos pentru a vă actualiza indexul pachetului Ubuntu.

sudo apt update


Instalați dependențele stivei LEMP cu comanda de mai jos. Introdu „ Y ” pentru a confirma instalarea.

sudo apt install nginx mariadb-server php-fpm php-curl php-common php-json php-intl php-xml php-gd php-mysql php-imagick php-mbstring php-zip

După finalizarea instalării, verificați starea serviciului Nginx cu următoarele:

sudo systemctl enable nginx 
sudo systemctl start nginx 
sudo systemctl status nginx

Puteți vedea că serviciul Nginx rulează.

Acum verificați serviciul MariaDB pentru a vă asigura că serviciul rulează și este activat cu comanda de mai jos:

sudo systemctl enable mariadb 
sudo systemctl start mariadb
sudo systemctl status mariadb

În cele din urmă, rulați următoarea comandă pentru a verifica serviciul PHP-FPM. PHP-FPM ar trebui să ruleze în mod implicit pe fișierul sock.

sudo systemctl enable php8.3-fpm 
sudo systemctl start php8.3-fpm 
sudo systemctl status php8.3-fpm

Configurarea PHP-FPM

Acum că stiva LEMP este instalată, veți configura instalarea PHP-FPM și veți modifica unele configurații implicite după cum este necesar pentru Joomla.

Deschideți configurația PHP-FPM „ /etc/php/8.3/fpm/php.ini ” cu editorul „ nano ”.

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

Modificați configurația implicită cu următoarele:

memory_limit=512M 
upload_max_filesize=64M 
post_max_size=64M 
max_execution_time=120 
output_buffering = Off 
extension=intl

Salvați fișierul și ieșiți din editor.

Acum reporniți serviciul PHP-FPM pentru a aplica modificările.

sudo systemctl restart php8.3-fpm

În cele din urmă, puteți verifica fișierul PHP sock pentru serviciul PHP-FPM cu comanda de mai jos.

ss -pl | grep php

Puteți vedea mai jos fișierul sock pentru PHP-FPM se află la „ /var/run/php/php8.3-fpm.sock ”.

Configurarea serverului MariaDB

În această secțiune, veți securiza instalarea serverului MariaDB, apoi veți crea o nouă bază de date și un utilizator pentru Joomla. Veți folosi „mariadb-secure-installation” pentru a securiza serverul MariaDB și apoi prin clientul „mariadb” pentru a crea o nouă bază de date și utilizator.

Pentru a securiza serverul MariaDB, rulați comanda „ mariab-secure-installation ” de mai jos.

sudo mariadb-secure-installation

Acum vi se va cere să configurați serverul MariaDB cu următoarele:

  • Pentru instalarea implicită a serverului MariaDB fără o parolă root, apăsați ENTER când sunteți întrebat despre parolă.
  • Autentificarea locală pentru utilizatorii root MariaDB este securizată în mod implicit, introduceți „n” când vi se cere să schimbați metoda de autentificare în „unix_socket”.
  • Introduceți „Y” pentru a crea o nouă parolă root MariaDB. Apoi, introduceți parola puternică pentru utilizatorul dvs. root MariaDB și repetați.
  • Când vi se cere să dezactivați autentificarea de la distanță pentru utilizatorul root MariaDB, introduceți „Y” pentru a fi de acord.
  • Instalarea implicită a serverului MariaDB vine cu baza de date „test” și permite unui utilizator anonim să o acceseze.
  • Introduceți „Y” pentru ambele setări pentru a elimina „testul” implicit al bazei de date și a elimina privilegiul anonim.
  • În cele din urmă, introduceți „Y” pentru a confirma privilegiile de reîncărcare a tabelului.

Odată ce MariaDB este securizat, veți crea o nouă bază de date și un utilizator pentru Joomla.

Conectați-vă la serverul MariaDB cu comanda „ mariadb ” de mai jos. Introduceți parola de root MariaDB când vi se solicită.

sudo mariadb -u root -p

Acum rulați următoarele interogări pentru a crea o nouă bază de date „ joomladb ” și un nou utilizator „ joomla ” cu parola „ p4ssword ”.

CREATE DATABASE joomladb;
CREATE USER joomla@localhost IDENTIFIED BY 'p4ssword';
GRANT ALL PRIVILEGES ON joomladb.* TO joomla@localhost;
FLUSH PRIVILEGES;


Apoi, executați interogarea de mai jos pentru a verifica privilegiile utilizatorului „ joomla ”. Veți vedea că utilizatorul „ joomla ” poate accesa baza de date „ joomladb ”.

SHOW GRANTS FOR joomla@localhost;

În cele din urmă, tastați „ quit ” pentru a ieși de pe serverul MariaDB.

Descărcarea codului sursă Joomla

În acest moment, ați instalat și configurat dependențe pentru Joomla. Acum veți descărca codul sursă Joomla și veți configura directorul document-root/webroot pentru instalarea Joomla. Accesați directorul „/var/www” și descărcați codul sursă Joomla cu comanda „wget” de mai jos. Verificați pagina de descărcare Joomla și luați linkul pentru cea mai recentă versiune.

cd /var/www/ 
wget https://downloads.joomla.org/cms/joomla5/5-1-4/Joomla_5-1-4-Stable-Full_Package.zip

Acum rulați comanda „unzip” de mai jos pentru a extrage codul sursă Joomla în directorul „joomla”.

unzip Joomla_5-1-4-Stable-Full_Package.zip -d joomla

În cele din urmă, rulați comanda „chmod” de mai jos pentru a schimba proprietatea directorului „/var/www/joomla” la utilizatorul „www-data”.

sudo chown -R www-data:www-data /var/www/joomla

Configurarea blocului serverului Nginx

Acum veți crea o nouă configurație de bloc de server Nginx pentru rularea Joomla. Așa că asigurați-vă că aveți numele de domeniu pregătit și că ați indicat adresa IP a serverului.

Creați un nou fișier server Nginx „ /etc/nginx/sites-available/joomla ” cu următorul editor „ nano ”.

sudo nano /etc/nginx/sites-available/joomla

Introduceți configurația de mai jos și modificați opțiunea „ server_name ” cu numele domeniului dumneavoastră.

server {
listen 80;
server_name howtoforge.local;
server_name_in_redirect off;

access_log /var/log/nginx/localhost.access_log;
error_log /var/log/nginx/localhost.error_log info;

root /var/www/joomla;
index index.php index.html index.htm default.html default.htm;

# Support API
location /api/ {
try_files $uri $uri/ /api/index.php?$args;
}

# Support Clean (aka Search Engine Friendly) URLs
location / {
try_files $uri $uri/ /index.php?$args;
}

# add global x-content-type-options header
add_header X-Content-Type-Options nosniff;

# deny running scripts inside writable directories
location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
return 403;
error_page 403 /403_error.html;
}

location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi.conf;
}

# caching of files
location ~* \.(ico|pdf|flv)$ {
expires 1y;
}

location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
expires 14d;
}

}

Salvați fișierul și ieșiți din editor.

Acum rulați comanda de mai jos pentru a activa blocul de server „ joomla ” și pentru a verifica configurația dvs. Nginx. Dacă aveți setări Nginx adecvate, veți vedea o ieșire „ Sintaxa este OK ”.

sudo ln -s /etc/nginx/sites-available/joomla /etc/nginx/sites-enabled/ 
sudo nginx -t

În cele din urmă, rulați comanda „systemctl” de mai jos pentru a reporni serviciul Nginx și a aplica modificările.

sudo systemctl restart nginx


Securizarea Joomla cu HTTPS

În acest ghid, veți securiza Joomla cu HTTPS. Dacă utilizați domeniul public, puteți securiza Joomla prin certificate SSL/TLS prin Certbot și Letsencerypt.

Instalați „Certbot” și pluginul Certbot Nginx cu comanda „apt” de mai jos. Introduceți „Y” pentru a confirma instalarea.

sudo apt install certbot python3-certbot-nginx

După finalizarea instalării, rulați următoarea comandă „certbot” pentru a genera certificate SSL/TLS și a vă asigura instalarea Joomla cu HTTPS. Asigurați-vă că schimbați numele domeniului și adresa de e-mail cu informațiile dvs.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email kyrie@howtoforge.local -d howtoforge.local

Când ați terminat, instalarea dvs. Joomla este securizată cu HTTPS prin certificate SSL/TLS de la Letsencrypt.

Instalarea Joomla

Deschideți browserul web și vizitați numele de domeniu Joomla, cum ar fi https://askit.local/ . Veți vedea asistentul de instalare Joomla.

Selectați limba implicită și introduceți numele site-ului.


Introduceți noul utilizator de administrator, adresa de e-mail și parola pentru Joomla.

Introduceți detaliile despre baza de date MariaDB și despre utilizator, apoi faceți click pe „ Instalare Joomla ” pentru a continua cu instalarea.

După finalizarea instalării, faceți clic pe „ Deschidere site ” pentru a deschide pagina de pornire implicită sau pe „ Deschidere administrator ” pentru a accesa tabloul de bord de administrare Joomla.

Pentru pagina de pornire Joomla implicită, veți vedea următoarele.

Acum introduceți utilizatorul și parola de administrator și faceți click pe „ Autentificare”.

Dacă aveți utilizatorul și parola corecte, veți vedea următorul tablou de bord de administrare Joomla.

Solutie

Tip solutie

Permanent

Voteaza

(3 din 8 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?