Pesquisa de site

Como instalar Joomla com Apache2 e Lets Encrypt no Ubuntu 20.04


Este tutorial existe para estas versões do sistema operacional

  • Ubuntu 14.04 LTS (Trusty Tahr)

Nesta página

  1. Pré-requisitos
  2. Instalar servidor LAMP
  3. Criar um banco de dados
  4. Baixe e instale o Joomla
  5. Configurar Apache para Joomla
  6. Proteja Joomla com Lets Encrypt SSL
  7. Acessar Joomla CMS
  8. Conclusão

Joomla é um sistema de gerenciamento de conteúdo de código aberto usado para publicar aplicativos e sites online. Ele é escrito em PHP e usa MySQL/MariaDB como back-end de banco de dados. Ele é simples, fácil de usar e construído em uma estrutura de aplicativo da Web de controlador de exibição de modelo pronta para dispositivos móveis. O Joomla vem com uma tonelada de recursos e designs que o tornam uma boa aposta para a construção de sites profissionais.

Neste tutorial, mostraremos como instalar o Joomla CMS com Apache e proteger com Lets Encrypt SSL no Ubuntu 20.04.

Pré-requisitos

  • Um servidor rodando Ubuntu 20.04 com 2 GB de RAM.
  • Um nome de domínio válido apontado para o seu servidor.
  • Uma senha root é configurada em seu servidor.

Instalar servidor LAMP

Primeiro, você precisará instalar o servidor web Apache, MariaDB, PHP e outras extensões PHP em seu sistema. Você pode instalá-los usando o seguinte comando:

apt-get install apache2 mariadb-server php7.4 libapache2-mod-php7.4 php7.4-cli php7.4-mysql php7.4-json php7.4-opcache php7.4-mbstring php7.4-intl php7.4-xml php7.4-gd php7.4-zip php7.4-curl php7.4-xmlrpc unzip -y

Depois que todos os pacotes estiverem instalados, edite o arquivo php.ini e modifique algumas configurações.

nano /etc/php/7.4/apache2/php.ini

Altere os seguintes valores:

memory_limit = 512M
upload_max_filesize = 256M
post_max_size = 256M
output_buffering = Off
max_execution_time = 300
date.timezone = Asia/Kolkata

Salve e feche o arquivo quando terminar.

Criar um banco de dados

Primeiro, proteja a instalação do MariaDB e defina a senha root do MariaDB com o seguinte comando:

mysql_secure_installation

Responda a todas as perguntas, conforme mostrado abaixo:

Enter current password for root (enter for none):
Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Em seguida, faça login no shell MariaDB com o seguinte comando:

mysql -u root -p

Forneça sua senha de root do MariaDB quando solicitado e crie um banco de dados e um usuário para o Joomla com o seguinte comando:

MariaDB [(none)]> CREATE DATABASE joomladb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
MariaDB [(none)]> GRANT ALL ON joomladb.* TO 'joomla'@'localhost' IDENTIFIED BY 'password';

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

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

Baixe e instale o Joomla

Primeiro, baixe a versão mais recente do Joomla em seu site oficial com o seguinte comando:

wget https://downloads.joomla.org/cms/joomla3/3-9-18/Joomla_3-9-18-Stable-Full_Package.zip

Após a conclusão do download, descompacte o arquivo baixado no diretório raiz da Web do Apache com o seguinte comando:

unzip Joomla_3-9-18-Stable-Full_Package.zip -d /var/www/html/joomla

Em seguida, altere a propriedade do diretório joomla para www-data com o seguinte comando:

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

Depois de terminar, você pode prosseguir para a próxima etapa.

Configurar Apache para Joomla

Em seguida, crie um novo arquivo de configuração de host virtual Apache para servir o Joomla.

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

Adicione o seguinte conteúdo:

<VirtualHost *:80>
  ServerName joomla.linuxbuz.com
  DirectoryIndex index.html index.php
  DocumentRoot /var/www/html/joomla

  ErrorLog ${APACHE_LOG_DIR}/joomla-error.log
  CustomLog ${APACHE_LOG_DIR}/joomla-access.log combined

  <Directory /var/www/html/joomla>
      Options FollowSymLinks
      AllowOverride All
      Require all granted
  </Directory>

</VirtualHost>

Salve e feche o arquivo, ative o host virtual Apache e reinicie o serviço Apache usando o seguinte comando:

a2ensite joomla
systemctl restart apache2

Depois de terminar, você pode prosseguir para a próxima etapa.

Proteja Joomla com Lets Encrypt SSL

Primeiro, você precisará instalar o cliente Certbot para instalar e gerenciar o Lets Encrypt SSL. Você pode instalá-lo com o seguinte comando:

apt-get install certbot python3-certbot-apache -y

Depois que o Certbot estiver instalado, execute o seguinte comando para baixar e instalar o Lets Encrypt SSL em seu site:

certbot --apache -d joomla.linuxbuz.com

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

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

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

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for joomla.linuxbuz.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 concluir a instalação conforme mostrado abaixo.

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.linuxbuz.com

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

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/joomla.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/joomla.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-08-19. 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"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - 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

 - We were unable to subscribe you the EFF mailing list because your
   e-mail address appears to be invalid. You can try again later by
   visiting https://act.eff.org.

Neste ponto, seu site Joomla está protegido com Lets Encrypt SSL. Agora você pode prosseguir para a próxima etapa.

Acessar Joomla CMS

Agora, abra seu navegador e digite a URL https://joomla.linuxbuz.com. Você será redirecionado para o assistente de instalação baseado na web do Joomla:

Forneça seu nome de site, e-mail de administrador, senha e clique no botão Avançar. Você deve ver o assistente de configuração do banco de dados:

Forneça seu nome de banco de dados Joomla, nome de usuário do banco de dados, senha e clique no botão Avançar. Você deve ver a página de finalização do Joomla:

Selecione a opção desejada e clique no botão Instalar. Você deve ver a seguinte página:

Revise todas as configurações e clique no botão Instalar. Uma vez que o Joomla foi instalado, você deve ver a seguinte tela:

Agora, remova o diretório de instalação e clique no botão Administrador. Você deve ver a página de login do Joomla:

Forneça seu nome de usuário Joomla, senha e clique no botão Log in. Você deve ver o painel do Joomla na seguinte página:

Você também pode acessar seu site Joomla visitando o URL https://joomla.linuxbuz.com. Você deve ver seu site Joomla na seguinte página:

Conclusão

Parabéns! você instalou e protegeu com sucesso o Joomla com Lets Encrypt no Ubuntu 20.04. Agora você pode criar facilmente sua loja de comércio eletrônico, site pessoal, site social ou blog. Sinta-se à vontade para me perguntar se tiver alguma dúvida.

Artigos relacionados: