Instalando o Apache, MySql e PHP no Ubuntu 20.04

Guia rápido pra instalação do famoso LAMP (Linux, Apache, MySql e PHP) no Ubuntu 20.04.

Etapa 1 – Instale o Apache

Atualize o cache do gerenciador de pacotes e instale o Apache com:

sudo apt update
sudo apt install apache2

Depois que a instalação estiver concluída, você precisará ajustar as configurações do firewall para permitir o tráfego HTTP no servidor. Execute o seguinte comando para permitir acesso externo na porta 80(HTTP):

sudo ufw allow in "Apache"

Com a nova regra de firewall adicionada, você pode testar se o servidor está em funcionamento acessando o endereço IP público ou o nome de domínio do seu servidor no navegador da web. Você verá uma página como esta:

Ubuntu 20.04 Apache default

Etapa 2 – Instale o MySQL

Agora vamos instalar o MySQL, um sistema popular de gerenciamento de banco de dados usado em ambientes PHP.

Novamente, use aptpara adquirir e instalar este software:

sudo apt install mysql-server

Quando a instalação estiver concluída, é recomendável executar um script de segurança pré-instalado com o MySQL. Inicie o script interativo executando:

sudo mysql_secure_installation

Isso perguntará se você deseja configurar o VALIDATE PASSWORD PLUGIN. Responda Y sim, ou qualquer outra coisa para continuar sem ativar. Se você responder “sim”, será solicitado que você selecione um nível de validação de senha.

Em seguida, seu servidor solicitará que você selecione e confirme uma senha para o usuário root do MySQL . Mesmo que o método de autenticação padrão para o usuário root do MySQL dispense o uso de uma senha, mesmo quando uma estiver definida , você deve definir uma senha forte aqui como uma medida de segurança adicional.

Nas demais perguntas, pressione Y e pressione a ENTER tecla em cada prompt.

Nota: No momento da redação deste documento, a biblioteca PHP nativa do MySQL mysqlnd não suporta caching_sha2_authentication , o método de autenticação padrão para o MySQL 8. Por esse motivo, ao criar usuários de banco de dados para aplicativos PHP no MySQL 8, será necessário garantir que eles está configurado para usar em seu lugar mysql_native_password.

Etapa 3 – Instale o PHP

Para instalar o PHP e suas dependências, execute:

sudo apt install php libapache2-mod-php php-mysql

Após a conclusão da instalação, você pode executar o seguinte comando para confirmar sua versão do PHP:

php -v
Output
PHP 7.4.3 (cli) (built: Mar 26 2020 20:24:23) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

Etapa 4 – Crie um host virtual para o seu site

Neste guia, configuraremos um domínio chamado seu_domínio , mas você deve substituí-lo por seu próprio nome de domínio .

O Apache no Ubuntu 20.04 possui um bloco de servidor ativado por padrão, configurado para servir documentos do /var/www/htmldiretório. Em vez de modificar /var/www/html, criaremos uma estrutura de diretórios /var/wwwpara o site your_domain , mantendo /var/www/html-o como o diretório padrão a ser exibido se uma solicitação do cliente não corresponder a nenhum outro site.

Crie o diretório para o seu_domínio da seguinte maneira:

sudo mkdir /var/www/your_domain

Em seguida, atribua a propriedade do diretório à $USERvariável de ambiente, que fará referência ao usuário do sistema atual:

sudo chown -R $USER:$USER /var/www/your_domain

Em seguida, abra um novo arquivo de configuração no sites-available diretório do Apache usando seu editor de linha de comando preferido:

sudo nano /etc/apache2/sites-available/your_domain.conf

Isso criará um novo arquivo em branco. Cole na seguinte configuração básica:

/etc/apache2/sites-available/your_domain.conf

<VirtualHost *:80>
    ServerName your_domain
    ServerAlias www.your_domain 
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/your_domain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Salve e feche o arquivo quando terminar. Se você estiver usando nano, você pode fazer isso pressionando CTRL+XYe depois ENTER.

Agora você pode usar a2ensite para ativar o novo host virtual:

sudo a2ensite your_domain

Para desativar o site padrão do Apache, digite:

sudo a2dissite 000-default

Para garantir que seu arquivo de configuração não contenha erros de sintaxe, execute:

sudo apache2ctl configtest

Por fim, recarregue o Apache para que essas alterações entrem em vigor:

sudo systemctl reload apache2

Seu novo site agora está ativo, mas a raiz da web ainda está vazia. Crie um arquivo nesse local para que possamos testar se o host virtual funciona conforme o esperado:/var/www/your_domain/index.html

nano /var/www/your_domain/index.html

Inclua o seguinte conteúdo neste arquivo:

/var/www/seu_domínio/index.html

<html>
  <head>
    <title>your_domain website</title>
  </head>
  <body>
    <h1>Hello World!</h1>

    <p>This is the landing page of <strong>your_domain</strong>.</p>
  </body>
</html>

Agora vá para o seu navegador e acesse o nome de domínio ou endereço IP do seu servidor novamente:

http://server_domain_or_IP

Você verá uma página como esta:

Etapa 5 – Teste o PHP com Apache

Agora, criaremos um script de teste PHP para confirmar que o Apache é capaz de manipular e processar solicitações de arquivos PHP.

Crie um novo arquivo nomeado info.phpdentro da pasta raiz da web personalizada:

nano /var/www/your_domain/info.php

Isso abrirá um arquivo em branco. Adicione o seguinte conteúdo dentro do arquivo:

/var/www/seu_domínio/info.php

<?php
phpinfo();

cópia de

Quando terminar, salve e feche o arquivo.

Vá para o seu navegador da web e acesse o nome de domínio ou endereço IP do servidor, seguido pelo nome do script, que neste caso é info.php:

http://server_domain_or_IP/info.php

Você verá uma página semelhante a esta:

Ubuntu 20.04 PHP info

Após verificar as informações relevantes sobre o servidor PHP nessa página, é melhor remover o arquivo que você criou, pois contém informações confidenciais sobre o ambiente PHP e o servidor Ubuntu. Você pode usar rm para fazer isso:

sudo rm /var/www/your_domain/info.php

Leave a Reply

Your email address will not be published. Required fields are marked *

Translate »