Brazil Inglês
Megadicas.top
Home Artigos Notícias Sobre Downloads Regras Contato


Introdução

Uma pilha “LAMP” é um grupo de softwares de código aberto que normalmente é instalado em conjunto, para permitir que um servidor hospede sites dinâmicos e aplicativos web escritos em PHP. Este termo é uma sigla que representa o sistema operacional Linux com o servidor Web do Apache. Os dados do site são armazenados em uma base de dados MySQL e o conteúdo dinâmico é processado pelo PHP.

Neste guia, instalaremos uma pilha LAMP em um servidor Ubuntu 20.04.

Pré-requisitos

Para completar este tutorial, você precisa ter um servidor Ubuntu 20.04 com uma conta de usuário não root com o sudo habilitado e um firewall básico. Isso pode ser configurado usando nosso guia de configuração inicial de servidor para Ubuntu 20.04.

Passo 1 — Instalando o Apache e atualizando o firewall

O servidor Web Apache está entre os servidores Web mais populares no mundo. Ele está bem documentado, tem uma comunidade ativa de usuários e tem sido amplamente utilizado durante grande parte da história da web, o que o torna uma ótima escolha padrão para hospedar um site.

Instale o Apache usando o gerenciador de pacotes do Ubuntu, apt:

sudo apt update
sudo apt install apache2

Se essa é a primeira vez que você está usando o sudo nesta sessão, você será solicitado a fornecer a senha do seu usuário para confirmar que você tem os privilégios corretos para gerenciar os pacotes de sistema com o apt. Você também será solicitado a confirmar a instalação do Apache pressionando Y e, depois, ENTER.

Assim que a instalação terminar, você precisa ajustar suas configurações de firewall para permitir o tráfego HTTP e HTTPS. O UFW tem diferentes perfis de aplicações que você pode aproveitar para conseguir isso. Para listar todos os perfis de aplicações atualmente disponíveis no UFW, você pode executar:

sudo ufw app list

Você verá um resultado como este:

Output
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH

Aqui está o que cada um desses perfis significa:

Apache: Este perfil abre apenas a porta 80 (normal, tráfego web não criptografado).
Apache Full: Este perfil abre ambas as portas 80 (normal, tráfego web não criptografado) e 443 (tráfego TLS/SSL criptografado).
Apache Secure: Este perfil abre apenas a porta 443 (tráfego TLS/SSL criptografado).

Você pode fazer uma verificação imediata para verificar se tudo correu como planejado visitando o endereço IP público do seu servidor no seu navegador web (veja a nota sob o título seguinte para descobrir qual é o seu endereço IP público, se você ainda não possui essas informações):

http://seu-ip ou http://seusite.com.br (se ja estiver configurado seu DNS)

Você verá a página web padrão do Apache para o Ubuntu, que está lá para fins informativos e de testes. Ela deve se parecer com isto:

página web padrão do Apache para o Ubuntu
Se ver essa página, seu servidor Web agora está instalado corretamente e é acessível através do seu firewall.

Como Encontrar o Endereço IP Público do seu Servidor

Se não sabe qual é o endereço IP público do seu servidor, há uma série de maneiras para encontrá-lo. Normalmente, este é o endereço que você usa para se conectar ao seu servidor através do SSH.

Existem algumas maneiras de fazer isso a partir da linha de comando. Primeiro, poderia usar as ferramentas iproute2 para obter seu endereço IP digitando:

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

Isso retornará a você duas ou três linhas. Todos os endereços são corretos, mas seu computador consegue usar apenas um deles, então sinta-se à vontade para testar cada um.

Passo 2 — Instalando o MySQL

Agora que você tem um servidor web funcionando, você precisa instalar um sistema de banco de dados, para conseguir armazenar e gerenciar os dados do seu site. O MySQL é um sistema de gerenciamento de banco de dados popular, usado em ambientes PHP.

Novamente, utilize o apt para adquirir e instalar este software:

sudo apt install mysql-server

Quando solicitado, confirme a instalação digitando Y e, depois, ENTER.

Quando a instalação terminar, é recomendável que você execute um script de segurança que vem pré-instalado com o MySQL. Esse script removerá algumas configurações padrão inseguras e irá bloquear o acesso ao seu sistema de banco de dados. Inicie o script interativo executando:

sudo mysql_secure_installation

Este script irá perguntar se você deseja configurar o VALIDATE PASSWORD PLUGIN.

Nota: ativar esta característica é uma decisão sua. Se habilitada, as senhas que não corresponderem o critério especificado serão rejeitadas pelo MySQL com um erro. É seguro deixar a validação desativada, mas sempre utilize senhas fortes e únicas para as credenciais do banco de dados.

Responda Y para sim, ou qualquer outra coisa para continuar sem a habilitar.

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No:

Se você responder “yes”, você será solicitado a selecionar um nível de validação por senha. Lembre-se de que se você digitar 2 para o nível mais forte você receberá erros ao tentar definir qualquer senha que não contenha números, letras maiúsculas e minúsculas e caracteres especiais, ou que baseiam-se em palavras comuns do dicionário.

There are three levels of password validation policy:

LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1

Independentemente de você ter escolhido VALIDATE PASSWORD PLUGIN, seu servidor irá pedir a você para selecionar e confirmar uma senha para o root user do MySQL. Isso não deve ser confundido com o root do sistema. O usuário raiz do banco de dados é um usuário administrativo com privilégios totais sobre o sistema de banco de dados. Embora o método de autenticação predefinido para o root user dispense o uso de uma senha, mesmo quando uma senha está definida, você deve definir uma senha forte aqui como uma medida de segurança adicional. Vamos falar sobre isso em breve.

Se você habilitar a validação por senha, será apresentado a você a força da senha para a senha root e o seu servidor perguntará se você deseja continuar com essa senha. Se estiver satisfeito com sua senha atual, digite Y para “yes” no prompt:

Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y

Para o resto das perguntas, pressione Y e pressione a tecla ENTER em cada prompt. Isso removerá alguns usuários anônimos e o banco de dados de teste, desativará os logins remotos para a raiz e carregará essas novas regras para que o MySQL respeite imediatamente as alterações que você fez.

Quando terminar, teste se você consegue fazer login no console do MySQL digitando:

sudo mysql

Isso conectará ao servidor MySQL como usuário administrativo root do banco de dados, o que é pressuposto pelo uso do sudo ao executar esse comando. Você deve ver um resultado como este:

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 22
Server version: 8.0.19-0ubuntu5 (Ubuntu)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Para sair do console do MySQL, digite:

exit

Agora, seu servidor MySQL está instalado e protegido. Em seguida, instalaremos o PHP, o componente final na pilha LAMP.

Passo 3 — Instalando o PHP

Você instalou o Apache para servir seu conteúdo e instalou o MySQL para armazenar e gerenciar seus dados. O PHP é o componente de nossa configuração que processará códigos para a exibição de conteúdo dinâmico para o usuário final. Além do pacote php, você precisará do php-mysql, um módulo PHP que permite que o PHP se comunique com os bancos de dados baseados em MySQL. Você também precisará do libapache2-mod-php para habilitar o Apache a lidar com arquivos PHP. Os pacotes básicos do PHP serão instalados automaticamente como dependências.

Para instalar esses pacotes, execute:

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

Assim que a instalação terminar, você pode executar o seguinte comando para confirmar sua versão PHP:

$ php -v

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

Neste ponto, sua pilha LAMP está totalmente operacional, mas antes de testar sua configuração com um script PHP, é melhor configurar um Apache Virtual Host para armazenar os arquivos e as pastas do seu site. Vamos fazer isso no próximo passo.

Passo 4 — Criando um Virtual Host para seu Website

Ao usar o servidor web Apache, você pode criar virtual hosts (similares a blocos de servidor no Nginx) para encapsular detalhes de configuração e hospedar mais de um domínio em um único servidor. Neste guia,vamos configurar um domínio chamado your_domain, mas você deve substituí-lo por seu próprio nome de domínio.

O Apache no Ubuntu tem um bloco de servidor habilitado por padrão que está configurado para servir documentos do diretório /var/www/html. Enquanto isso funciona bem para um único site, ele pode tornar-se indevido se você estiver hospedando vários sites. Em vez de modificar o /var/www/html, vamos criar uma estrutura de diretórios dentro do /var/www para o site your_domain, deixando o /var/www/html intocado como o diretório padrão para ser servido se uma solicitação de cliente não corresponder a nenhum outro site.

Crie o diretório para o your_domain como segue:

sudo mkdir /var/www/your_domain (Exempleo: sudo mkdir /var/www/seusite.com.br)

Em seguida, atribua a propriedade do diretório com a variável de ambiente $USER, que deve fazer referência ao seu usuário de sistema atual:

sudo chown -R $USER:$USER /var/www/seusite.com.br

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

sudo nano /etc/apache2/sites-available/seusite.com.br.conf

Isso criará um novo arquivo em branco. Cole nele a seguinte configuração:

/etc/apache2/sites-available/seusite.com.br.conf

<VirtualHost *:80>
ServerName seusite.com.br
ServerAlias www.seusite.com.br
ServerAdmin email@seusite.com.br
DocumentRoot /var/www/seusite.com.br
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Com esta configuração de VirtualHost, estamos dizendo ao Apache para servir seusite.com.br usando o /var/www/seusite.com.br como o diretório web root. Se você quiser testar o Apache sem um nome de domínio, você pode remover ou comentar as opções ServerName e ServerAlias adicionando um caractere # no início da linha de cada opção.

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

sudo a2ensite seusite.com.br

Você pode querer desativar o site padrão que vem instalado com o Apache. Isso é necessário se você não estiver usando um nome de domínio personalizado, pois, neste caso, a configuração padrão do Apache iria sobrepor seu virtual host. 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

Agora, seu novo site está ativo, mas o web root /var/www/seusite.com.br ainda está vazio. Crie um arquivo index.html naquele local para que possamos testar se o virtual host funciona conforme esperado:

nano /var/www/seusite.com.br/index.html

Inclua o conteúdo a seguir neste arquivo:

<h1>SITE ONLINE!</h1>

<p>Esta é a página de destino do<strong>seusite.com.br</strong>.</p>

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

http://seusite.com.br ou IP





Megadicas Networks © 2021 - 2024