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