Instalação Joomla · 8 min read · Nov 02, 2025

Como Instalar Joomla com Apache e Let's Encrypt SSL no Debian 10

Joomla é um sistema de gerenciamento de conteúdo gratuito e de código aberto usado para criar, modificar e gerenciar o conteúdo de um site. É simples e fácil de usar, então você não precisa ter nenhum conhecimento de HTML ou CSS para construir o site. É escrito em PHP e usa MySQL como banco de dados. Oferece uma ampla gama de recursos que o tornam um sistema de gerenciamento de conteúdo flexível desde o início. Vem com centenas de extensões gratuitas que permitem personalizar e expandir a funcionalidade.

Neste tutorial, vou mostrar como instalar o Joomla CMS com Apache e Let’s Encrypt no Debian 10.

Pré-requisitos

  • Um servidor rodando Debian 10.
  • Um nome de domínio válido apontado para o IP do seu servidor.
  • Uma senha de root configurada no servidor.

Começando

Primeiro, atualize os pacotes do sistema para a versão mais recente executando o seguinte comando:

apt-get update -y

Uma vez que todos os pacotes estejam atualizados, você pode prosseguir para o próximo passo.

Instalar Servidor LAMP

Em seguida, você precisará instalar o servidor web Apache, o banco de dados MariaDB, PHP e outras extensões PHP no seu sistema. Você pode instalar todos eles com o seguinte comando:

apt-get install apache2 mariadb-server php openssl php-imagick php-common php-curl php-gd php-imap php-intl php-json php-ldap php-mbstring php-mysql php-pgsql php-smbclient php-ssh2 php-sqlite3 php-xml php-zip -y

Uma vez que todos os pacotes estejam instalados, você pode prosseguir para o próximo passo.

Criar um Banco de Dados para Joomla

O Joomla usa MySQL ou MariaDB para armazenar seu conteúdo. Portanto, você precisará criar um banco de dados e um usuário para o Joomla.

Primeiro, conecte-se ao MariaDB com o seguinte comando:

mysql

Uma vez conectado, crie um banco de dados e um usuário com o seguinte comando:

MariaDB [(none)]> CREATE DATABASE joomladb;  
MariaDB [(none)]> GRANT ALL ON joomladb.* TO 'joomlauser'@'localhost' IDENTIFIED BY 'password';

Em seguida, limpe os privilégios e saia do MariaDB com o seguinte comando:

MariaDB [(none)]> FLUSH PRIVILEGES;  
MariaDB [(none)]> EXIT;

Uma vez que você tenha terminado, pode prosseguir para o próximo passo.

Instalar Joomla

Em seguida, baixe a versão mais recente do Joomla com o seguinte comando:

wget https://downloads.joomla.org/cms/joomla3/3-9-25/Joomla_3-9-25-Stable-Full_Package.tar.bz2

Uma vez que o download esteja completo, crie um diretório para o Joomla dentro do diretório raiz do Apache:

mkdir /var/www/html/joomla

Em seguida, execute o seguinte comando para extrair o arquivo baixado para o diretório Joomla:

bunzip2 Joomla_3-9-25-Stable-Full_Package.tar.bz2  
tar -xvf Joomla_3-9-25-Stable-Full_Package.tar -C /var/www/html/joomla/

Em seguida, defina as permissões e a propriedade adequadas para o diretório Joomla com o seguinte comando:

chown -R www-data:www-data /var/www/html/joomla  
chmod -R 755 /var/www/html/joomla

Uma vez que você tenha terminado, pode prosseguir para o próximo passo.

Configurar o Servidor Web Apache

Em seguida, você precisará criar um arquivo de configuração de host virtual do Apache para hospedar o Joomla.

Você pode criá-lo com o seguinte comando:

nano /etc/apache2/sites-available/joomla.conf

Adicione as seguintes linhas:


   ServerName joomla.example.com 
   ServerAdmin [email protected]
   DocumentRoot /var/www/html/joomla
   
        Allowoverride all
   

Salve e feche o arquivo, então ative o host virtual do Apache com o seguinte comando:

a2ensite joomla

Em seguida, reinicie o serviço Apache para aplicar as alterações:

systemctl restart apache2

Em seguida, verifique o status do Apache com o seguinte comando:

systemctl status apache2

Você deve obter a seguinte saída:

? apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2021-03-22 09:26:20 UTC; 4s ago
     Docs: https://httpd.apache.org/docs/2.4/
  Process: 14495 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
 Main PID: 14499 (apache2)
    Tasks: 6 (limit: 4701)
   Memory: 18.8M
   CGroup: /system.slice/apache2.service
           ??14499 /usr/sbin/apache2 -k start
           ??14500 /usr/sbin/apache2 -k start
           ??14501 /usr/sbin/apache2 -k start
           ??14502 /usr/sbin/apache2 -k start
           ??14503 /usr/sbin/apache2 -k start
           ??14504 /usr/sbin/apache2 -k start

Mar 22 09:26:20 debian10 systemd[1]: Starting The Apache HTTP Server...

Acessar Joomla

Agora, abra seu navegador web e acesse a interface web do Joomla usando a URL http://joomla.example.com. Você será redirecionado para a seguinte página:

Instalador do Joomla

Agora, forneça o nome do seu site, endereço de e-mail, nome de usuário do administrador, senha e clique no botão Próximo. Você deve ver a seguinte página:

Configuração do banco de dados

Forneça o nome do seu banco de dados, nome de usuário do banco de dados, senha e clique no botão Próximo. Você deve ver a seguinte página:

Finalizar instalação

Verificação pré-instalação

Agora, confirme todas as configurações e clique no botão Instalar para iniciar a instalação. Uma vez que a instalação tenha sido concluída, você deve ver a seguinte página:

Joomla instalado com sucesso

Clique em Remover pasta de instalação. Você deve ver a seguinte página:

Remover pasta de instalação

Agora, clique no botão Administrador, você deve ver a página de login do Joomla:

Login do Joomla

Forneça suas credenciais de administrador e clique no botão Login, você deve ver o Painel de Controle do Joomla na seguinte imagem:

Painel de Controle do Joomla

Proteger Joomla com Let’s Encrypt SSL

É sempre uma boa ideia proteger seu site com Let’s Encrypt SSL. Você precisará instalar o cliente Certbot para instalar e gerenciar o SSL. Você pode instalá-lo com o seguinte comando:

apt-get install python3-certbot-apache -y

Uma vez que o Certbot esteja instalado, execute o seguinte comando para proteger seu site com Let’s Encrypt SSL:

certbot --apache -d joomla.example.com

Você será solicitado a fornecer seu e-mail e aceitar os termos de serviço, conforme mostrado abaixo:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for joomla.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/joomla-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/joomla-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/joomla-le-ssl.conf

Em seguida, selecione se deseja ou não redirecionar o tráfego HTTP para HTTPS, conforme mostrado abaixo:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Digite 2 e pressione Enter para instalar o Let’s Encrypt SSL para seu site:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/joomla.conf to ssl vhost in /etc/apache2/sites-available/joomla-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://joomla.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=joomla.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/joomla.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/joomla.example.com/privkey.pem
   Your cert will expire on 2020-10-23. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all*
   of your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Conclusão

Parabéns! você instalou com sucesso o Joomla CMS no servidor Debian 10. Agora você pode construir seu próprio site facilmente usando o Joomla. Sinta-se à vontade para me perguntar se você tiver alguma dúvida.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.