Instalação Joomla · 7 min read · Sep 12, 2025

Como Instalar Joomla com Nginx no Servidor Ubuntu 24.04

Joomla é um sistema de gerenciamento de conteúdo flexível e de código aberto para a construção de sites e publicações online. Alimentado por PHP, pode ser usado para múltiplos cenários, como fóruns, galerias de fotos, e-commerce e outras aplicações baseadas na web.

Neste guia, vamos mostrar como instalar o Joomla no servidor Ubuntu 24.04. Você executará o Joomla com o Nginx como servidor web, MariaDB como servidor de banco de dados e PHP-FPM. Você também irá proteger o Joomla com HTTPS.

Pré-requisitos

Para completar este guia, certifique-se de que você possui o seguinte:

  • Um servidor Ubuntu 24.04.
  • Um usuário não-root com privilégios de administrador.
  • Um nome de domínio apontado para um endereço IP do servidor.

Instalando dependências

Joomla é um sistema de gerenciamento de conteúdo baseado em PHP. Para instalá-lo, você deve instalar o PHP em seu sistema. Nesta seção, você instalará a pilha LEMP (Linux, Nginx, MariaDB e PHP-FPM) como dependências para o Joomla.

Primeiro, execute o comando abaixo para atualizar o índice de pacotes do Ubuntu.

sudo apt update

atualizar repositório

Instale as dependências da pilha LEMP com o comando abaixo. Digite ‘ Y ‘ para confirmar a instalação.

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

instalar deps

Após a instalação ser concluída, verifique o status do serviço Nginx com o seguinte:

sudo systemctl is-enabled nginx  
sudo systemctl status nginx

Você pode ver que o serviço Nginx está em execução.

verificar nginx

Agora verifique o serviço MariaDB para garantir que o serviço está em execução e habilitado com o comando abaixo:

sudo systemctl is-enabled mariadb  
sudo systemctl status mariadb

verificar mariadb

Por último, execute o seguinte comando para verificar o serviço PHP-FPM. O PHP-FPM deve estar em execução por padrão no arquivo sock.

sudo systemctl is-enabled php8.3-fpm  
sudo systemctl status php8.3-fpm

verificar php-fpm

Configurando PHP-FPM

Agora que a pilha LEMP está instalada, você irá configurar a instalação do PHP-FPM e mudar algumas configurações padrão conforme necessário para o Joomla.

Abra o arquivo de configuração do PHP-FPM ‘ /etc/php/8.3/fpm/php.ini ‘ com o editor ‘ nano ‘.

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

Altere a configuração padrão com o seguinte:

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

Salve o arquivo e saia do editor.

Agora reinicie o serviço PHP-FPM para aplicar suas alterações.

sudo systemctl restart php8.3-fpm

Por último, você pode verificar o arquivo sock do PHP para o serviço PHP-FPM com o comando abaixo.

ss -pl | grep php

Você pode ver abaixo que o arquivo sock para PHP-FPM está localizado em ‘ /var/run/php/php8.3-fpm.sock ‘.

arquivo sock php-fpm

Configurando o servidor MariaDB

Nesta seção, você irá proteger a instalação do servidor MariaDB e, em seguida, criar um novo banco de dados e usuário para o Joomla. Você usará o ‘mariadb-secure-installation’ para proteger o servidor MariaDB e, em seguida, através do cliente ‘mariadb’ para criar um novo banco de dados e usuário.

Para proteger o servidor MariaDB, execute o comando ‘ mariadb-secure-installation ‘ abaixo.

sudo mariadb-secure-installation

Agora você será solicitado a configurar o servidor MariaDB com o seguinte:

  • Para a instalação padrão do servidor MariaDB sem uma senha de root, pressione ENTER quando perguntado sobre a senha.
  • A autenticação local para usuários root do MariaDB é protegida por padrão, insira ‘n’ quando perguntado se deseja mudar o método de autenticação para ‘unix_socket’.
  • Insira ‘Y’ para criar uma nova senha de root do MariaDB. Em seguida, insira a senha forte para seu usuário root do MariaDB e repita.
  • Quando perguntado se deseja desabilitar a autenticação remota para o usuário root do MariaDB, insira ‘Y’ para concordar.
  • A instalação padrão do servidor MariaDB vem com o banco de dados ‘test’ e permite que um usuário anônimo acesse.
  • Insira ‘Y’ para ambas as configurações para remover o banco de dados padrão ‘test’ e remover o privilégio anônimo.
  • Por último, insira ‘Y’ para confirmar o recarregamento dos privilégios da tabela.

Uma vez que o MariaDB esteja seguro, você criará um novo banco de dados e usuário para o Joomla.

Faça login no servidor MariaDB com o comando ‘ mariadb ‘ abaixo. Digite sua senha de root do MariaDB quando solicitado.

sudo mariadb -u root -p

Agora execute as seguintes consultas para criar um novo banco de dados ‘ joomladb ‘, e um novo usuário ‘ joomla ‘ com a senha ‘ p4ssword ‘.

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

criar db usuário

Em seguida, execute a consulta abaixo para verificar os privilégios do usuário ‘ joomla ‘. Você verá que o usuário ‘ joomla ‘ pode acessar o banco de dados ‘ joomladb ‘.

SHOW GRANTS FOR joomla@localhost;

Por último, digite ‘ quit ‘ para sair do servidor MariaDB.

mostrar privilégios do usuário

Baixando o código-fonte do Joomla

Neste ponto, você instalou e configurou as dependências para o Joomla. Agora você irá baixar o código-fonte do Joomla e configurar o diretório document-root/webroot para a instalação do Joomla.

Vá para o diretório ‘/var/www’ e baixe o código-fonte do Joomla com o comando ‘wget’ abaixo. Verifique a página de download do Joomla e pegue o link para a versão mais recente.

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

Agora execute o comando ‘unzip’ abaixo para extrair o código-fonte do Joomla para o diretório ‘joomla’.

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

Por último, execute o comando ‘chmod’ abaixo para mudar a propriedade do diretório ‘/var/www/joomla’ para o usuário ‘www-data’.

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

Configurando o bloco do servidor Nginx

Agora você irá criar uma nova configuração de bloco de servidor Nginx para executar o Joomla. Portanto, certifique-se de que você tem seu nome de domínio pronto e apontado para o endereço IP do servidor.

Crie um novo arquivo de servidor Nginx ‘ /etc/nginx/sites-available/joomla ‘ com o editor ‘ nano ‘.

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

Insira a configuração abaixo e altere a opção ‘ server_name ‘ com seu nome de domínio.

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;  
  
# Suporte API  
location /api/ {  
try_files $uri $uri/ /api/index.php?$args;  
}  
  
# Suporte a URLs Limpos (também conhecidas como Amigáveis para SEO)  
location / {  
try_files $uri $uri/ /index.php?$args;  
}  
  
# adicionar cabeçalho global x-content-type-options  
add_header X-Content-Type-Options nosniff;  
  
# negar execução de scripts dentro de diretórios graváveis  
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;  
}  
  
# cache de arquivos  
location ~* \.(ico|pdf|flv)$ {  
expires 1y;  
}  
  
location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {  
expires 14d;  
}  
  
}

Salve o arquivo e saia do editor.

Agora execute o comando abaixo para ativar o bloco de servidor ‘ joomla ‘ e verificar sua configuração do Nginx. Se você tiver as configurações corretas do Nginx, verá uma saída ‘ Syntax is OK ‘.

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

Por último, execute o comando ‘systemctl’ abaixo para reiniciar o serviço Nginx e aplicar suas alterações.

sudo systemctl restart nginx

configurar nginx

Protegendo o Joomla com HTTPS

Neste guia, você irá proteger o Joomla com HTTPS. Se você estiver usando um domínio público, pode proteger o Joomla através de certificados SSL/TLS via Certbot e Letsencrypt.

Instale o ‘Certbot’ e o plugin Certbot Nginx com o comando ‘apt’ abaixo. Digite ‘Y’ para confirmar a instalação.

sudo apt install certbot python3-certbot-nginx

Após a instalação ser concluída, execute o seguinte comando ‘certbot’ para gerar certificados SSL/TLS e proteger sua instalação do Joomla com HTTPS. Certifique-se de alterar o nome do domínio e o endereço de e-mail com suas informações.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d howtoforge.local

Quando terminar, sua instalação do Joomla estará protegida com HTTPS através de certificados SSL/TLS da Letsencrypt.

Instalando o Joomla

Abra seu navegador web e visite seu nome de domínio Joomla, como https://howtoforge.local/. Você verá o assistente de instalação do Joomla.

Selecione seu idioma padrão e insira o nome do seu site.

configurar idioma

Insira o novo usuário administrador, e-mail e senha para o Joomla.

novo usuário administrador

Insira os detalhes do seu banco de dados MariaDB e usuário, e clique em ‘ Instalar Joomla ‘ para prosseguir com a instalação.

detalhes db

Após a instalação ser concluída, clique em ‘ Abrir Site ‘ para abrir a página inicial padrão, ou ‘ Abrir Administrador ‘ para acessar o painel de administração do Joomla.

instalação concluída

Para a página inicial padrão do Joomla, você verá o seguinte.

página inicial

Agora insira seu usuário administrador e senha e clique em ‘ Login ‘.

login

Se você tiver o usuário e a senha corretos, verá o seguinte painel de administração do Joomla.

painel

Conclusão

Parabéns! Você instalou o Joomla no servidor Ubuntu 24.04. Você tem o Joomla em funcionamento com o servidor web Nginx, o servidor de banco de dados MariaDB e o PHP-FPM. Você também protegeu o Joomla com HTTPS através do Certbot e Letsencrypt.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.