Neste guia quickstart, instalaremos uma pilha LAMP em um servidor Ubuntu 20.04.
Para obter uma versão mais detalhada deste tutorial, com mais explicações sobre cada passo, consulte o tutorial How To Install Linux, Apache, MySQL, PHP (LAMP) Stack on Ubuntu 20.04
Para seguir este guia, você precisará ter acesso a um servidor Ubuntu 20.04 como um usuário sudo
.
Atualize o cache do seu gerenciador de pacotes e, em seguida, instale o Apache com:
- sudo apt update
- sudo apt install apache2
Assim que a instalação terminar, você precisará ajustar suas configurações de firewall para permitir o tráfego HTTP em seu servidor. Execute o seguinte comando para permitir o acesso externo na porta 80
(HTTP):
- sudo ufw allow in "Apache"
Com a nova regra de firewall adicionada, você poderá testar se o servidor está em funcionamento, acessando o endereço IP público do seu servidor ou nome de domínio do seu navegador Web. Você verá uma página como esta:
Agora, vamos instalar o MySQL, um popular sistema de gerenciamento de banco de dados utilizado em ambientes PHP.
Novamente, utilize o apt
para adquirir e instalar este software:
- sudo apt install mysql-server
Quando a instalação terminar, é recomendável que você execute um script de segurança que vem pré-instalado com o MySQL. Inicie o script interativo executando:
- sudo mysql_secure_installation
Este script irá perguntar se você deseja configurar o VALIDATE PASSWORD PLUGIN
. Responda Y
para sim, ou qualquer outra coisa para continuar sem a habilitar. Se você responder “yes”, você será solicitado a selecionar um nível de validação por senha.
Em seguida, seu servidor pedirá que você escolha e confirme uma senha para o root user do MySQL. 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.
Para o resto das perguntas, pressione Y
e pressione a tecla ENTER
em cada prompt.
Nota: no momento em que este artigo foi escrito, a biblioteca nativa do PHP para o MySQL mysqlnd
não suporta o caching_sha2_authentication
, o método de autenticação padrão para o MySQL 8. Por essa razão, ao criar usuários de banco de dados para aplicações PHP no MySQL 8, você precisará garantir que eles estejam configurados para usar o mysql_native_password
. Consulte o passo 6 do nosso guia LAMP detalhado no Ubuntu 20.04 para aprender a fazer isso.
Para instalar o PHP e suas dependências, 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
OutputPHP 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 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 20.04 tem um bloco de servidor habilitado por padrão que está configurado para servir documentos do diretório /var/www/html
. 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
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/your_domain
Em seguida, abra um novo arquivo de configuração no diretório sites-available
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 nele a seguinte configuração:
<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 o nano
, você pode fazer isto pressionando CTRL+X
, depois Y
e ENTER
.
Agora, você pode usar a2ensite
para habilitar o novo virtual host:
- 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
Agora, seu novo site está ativo, mas o web root /var/www/your_domain
ainda está vazio. Crie um arquivo index.html
naquele local para que possamos testar se o virtual host funciona conforme esperado:
- nano /var/www/your_domain/index.html
Inclua o conteúdo a seguir neste arquivo:
<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á até seu navegador e acesse o nome de domínio ou o endereço IP do seu servidor novamente:
http://server_domain_or_IP
Você verá uma página como esta:
Agora, vamos criar um script de teste PHP para confirmar que o Apache consegue lidar e processar solicitações para arquivos PHP.
Crie um novo arquivo chamado info.php
dentro de sua pasta web root personalizada:
- nano /var/www/your_domain/info.php
Isso abrirá um arquivo em branco. Adicione o conteúdo a seguir ao arquivo:
<?php
phpinfo();
Quando você terminar, salve e feche o arquivo.
Vá para seu navegador Web e acesse o nome de domínio ou o endereço IP do seu servidor seguido pelo nome do script, que neste caso é info.php
:
http://server_domain_or_IP/info.php
Você verá uma página parecida com esta:
Após verificar as informações relevantes sobre seu servidor PHP através dessa página, é melhor remover o arquivo que você criou, uma vez que ele contém informações confidenciais sobre seu ambiente PHP e seu servidor Ubuntu. Você pode usar o rm
para fazer isso:
- sudo rm /var/www/your_domain/info.php
Aqui estão os links para os guias mais detalhados relacionados a este tutorial:
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!