erdequake
(usa Ubuntu)
Enviado em 21/09/2019 - 12:44h
Passo 1 — Instalação do Apache e Atualização do Firewall
sudo apt update
sudo apt install apache2
Ajustar o Firewall para Permitir Tráfego Web
Agora, assumindo que você seguiu as instruções de configuração inicial do servidor para habilitar o firewall UFW, certifique-se de que seu firewall permite tráfego HTTP e HTTPS. Você pode certificar-se de que o UFW tem um perfil de aplicativo para o Apache assim:
$ sudo ufw app list
Output #sairá algo desse tipo
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
Se você olhar para o perfil Apache Full, ele deve mostrar que ele habilita tráfego para as portas 80 e 443:
Se você olhar para o perfil Apache Full, ele deve mostrar que ele habilita tráfego para as portas 80 e 443:
sudo ufw app info "Apache Full"
Output
Profile: Apache Full
Title: Web Server (HTTP,HTTPS)
Description: Apache v2 is the next generation of the omnipresent Apache web
server.
Ports:
80,443/tcp
Permita o tráfego entrante HTTP e HTTPS para esse perfil:
sudo ufw allow in "Apache Full"
$ sudo ufw app info "Apache Full"
Output
Profile: Apache Full
Title: Web Server (HTTP,HTTPS)
Description: Apache v2 is the next generation of the omnipresent Apache web
server.
Ports:
80,443/tcp
Permita o tráfego entrante HTTP e HTTPS para esse perfil:
$ sudo ufw allow in "Apache Full"
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 abaixo do próximo cabeçalho para descobrir qual é o seu endereço IP público se você ainda não tiver essa informação):
http://ip_do_seu_servidor
http://assets.digitalocean.com/articles/how-to-install-lamp-ubuntu-18/small_apache_default_1804.png
Se você ver esta página, então seu servidor web agora está corretamente instalado e acessível através do seu firewall.
Como Encontrar o Endereço IP Público do seu Servidor
Se você não sabe qual é o endereço IP público do seu servidor, há uma série de maneiras pelas quais você pode encontrá-lo. Geralmente, esse é o endereço que você utiliza para se conectar ao seu servidor através do SSH.
A partir da linha de comando, você pode encontrar isso de algumas maneiras. Primeiro, você pode utilizar as ferramentas iproute2 para obter seu endereço digitando isso:
$ ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
Esse comando vai lhe retornar duas ou três linhas. Todos são endereços corretos, mas seu computador só poderá utilizar um deles, portanto, sinta-se livre para tentar cada um.
Um método alternativo é usar o utilitário curl para entrar em contato com algum meio externo para lhe dizer como ele vê o seu servidor. Você pode fazer isso perguntando a um servidor específico qual é o seu IP:
$ sudo apt install curl
$ curl
http://icanhazip.com
Independentemente do método que você usa para obter seu endereço IP, digite-o na barra de endereço do seu navegador web para ver a página padrão do Apache.
Instalação do MySQL
Agora que temos nosso servidor web pronto e funcionando, é hora de instalar o MySQL. O MySQL é um sistema de gerenciamento de bancos de dados. Basicamente, ele irá organizar e fornecer acesso às bases de dados onde nosso site pode armazenar informação.
Novamente, utilize o apt para obter e instalar este software:
$ sudo apt install mysql-server
Nota: Neste caso, você não tem que executar sudo apt update antes do comando. Isso é porque o executamos recentemente através dos comandos acima para instalar o Apache. O índice de pacotes em nosso computador já deve estar atualizado.
Novamente, será mostrada uma lista dos pacotes que serão instalados, juntamente com a quantidade de espaço em disco que irão ocupar. Digite Y para continuar.
Quando a instalação estiver concluída, execute um script de segurança simples que vem pré-instalado com o MySQL e que irá remover alguns padrões perigosos e bloquear o acesso ao seu sistema de banco de dados. Inicie o script interativo executando:
$ sudo mysql_secure_installation
Você será perguntado se você quer configurar o VALIDATE PASSWORD PLUGIN.
Nota: A habilitação dessa funcionalidade é algo que deve ser avaliado. Se habilitado, senhas que não seguem o critério especificado serão rejeitadas pelo MySQL com um erro. Isso irá causar problemas se você utilizar uma senha fraca juntamente com software que configura automaticamente as credenciais de usuário do MySQL, tais como os pacotes do Ubuntu para o phpMyAdmin. É seguro deixar a validação desativada, mas você deve sempre utilizar senhas fortes e exclusivas para as credenciais do banco de dados.
Responda Y para Sim, ou qualquer outra coisa para continuar sem a habilitação.
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 de senha. Tenha em mente que se você digitar 2, para o nível mais forte, você receberá erros quando tentar configurar qualquer senha que não contenha números, letras maiúsculas e minúsculas, e caracteres especiais, ou que seja baseada 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ê escolher configurar o VALIDATE PASSWORD PLUGIN, seu servidor em seguida irá solicitar que você selecione e confirme a senha para o usuário root do MySQL. Esta é uma conta administrativa no MySQL que possui privilégios avançados. Pense nela como sendo similar à conta de root para o próprio servidor (embora esta que você está configurando agora é uma conta específica do MySQL). Certifique-se de que esta é uma senha forte e exclusiva, e não a deixe em branco.
Se você habilitou a validação de senha, será mostrado a força da senha de root atual, e será perguntado se você quer alterar aquela senha. Se você estiver satisfeito com sua senha atual, digite N para “não” no prompt:
Using existing password for root.
Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : n
Para o restante das perguntas, pressione Y e aperte a tecla Enter para cada prompt. Isso irá remover alguns usuários anônimos e o banco de dados de teste, desabilitar logins remotos de root, e carregar essas novas regras de forma que o MySQL respeite imediatamente as alterações que fizemos.
Nesse ponto, seu sistema de banco de dados está agora configurado e podemos seguir em frente para a instalação do PHP, o componente final da pilha LAMP.
nstalação do PHP
O PHP é o componente da nossa configuração que irá processar código para exibir o conteúdo dinâmico. Ele pode executar script, conectar às nossas bases de dados MySQL para obter informações, e entregar o conteúdo processado para o nosso servidor web exibir.
Uma vez mais, aproveite o sistema apt para instalar o PHP. Adicionalmente, inclua alguns pacotes auxiliares dessa vez para que o código PHP possa rodar sob o servidor Apache e falar com o seu banco de dados MySQL:
sudo apt install php libapache2-mod-php php-mysql
Isto irá instalar o PHP sem problemas. Vamos testar isso em instantes.
Na maioria do casos, vamos querer modificar a forma com a qual o Apache serve arquivos quando uma pasta é requisitada. Atualmente, se um usuário requisita uma pasta do servidor, o Apache irá olhar primeiramente para um arquivo chamado index.html. Queremos informar ao nosso servidor web para dar preferência aos arquivos PHP, então faremos o Apache olhar para um arquivo index.php primeiro.
Para fazer isto, digite este comando para abrir o arquivo dir.inf em um editor de texto com privilégios de root:
sudo nano /etc/apache2/mods-enabled/dir.conf
Ele terá esta aparência:
/etc/apache2/mods-enabled/dir.conf
/etc/apache2/mods-enabled/dir.conf
<IfModule mod_dir.c>
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>
Mova o arquivo de índice PHP (em destaque acima) para a primeira posição depois da especificação DirectoryIndex , como segue:
/etc/apache2/mods-enabled/dir.conf
/etc/apache2/mods-enabled/dir.conf
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
Quando você tiver concluído, salve e feche o arquivo pressionando CTRL-X. Confirme a gravação digitando Y e em seguida pressione ENTER para confirmar a localização de salvamento do arquivo.
Após isso, reinicie o servidor web Apache de forma que nossas alterações sejam reconhecidas. Você pode fazer isto digitando o seguinte:
sudo systemctl restart apache2
Você pode também verificar o status do serviço apache2 utilizando systemctl:
sudo systemctl status apache2
Sample Output
● apache2.service - LSB: Apache2 web server
Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since Tue 2018-04-23 14:28:43 EDT; 45s ago
Docs: man:systemd-sysv-generator(8)
Process: 13581 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
Process: 13605 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)
Tasks: 6 (limit: 512)
CGroup: /system.slice/apache2.service
├─13623 /usr/sbin/apache2 -k start
├─13626 /usr/sbin/apache2 -k start
├─13627 /usr/sbin/apache2 -k start
├─13628 /usr/sbin/apache2 -k start
├─13629 /usr/sbin/apache2 -k start
└─13630 /usr/sbin/apache2 -k start
Para melhorar a funcionalidade do PHP, você tem a opção de instalar alguns módulos adicionais. Para ver as opções disponíveis para os módulos e bibliotecas PHP, direcione os resultados do comando apt search para o comando less, um paginador que lhe permite percorrer a saída de outros comandos:
apt search php- | less
Use as teclas de seta para rolar para cima e para baixo e Q para sair.
O resultado são todos os componentes opcionais que você pode instalar. Ele lhe dará uma breve descrição de cada um:
bandwidthd-pgsql/bionic 2.0.1+cvs20090917-10ubuntu1 amd64
Tracks usage of TCP/IP and builds html files with graphs
bluefish/bionic 2.2.10-1 amd64
advanced Gtk+ text editor for web and software development
cacti/bionic 1.1.38+ds1-1 all
web interface for graphing of monitoring systems
ganglia-webfrontend/bionic 3.6.1-3 all
cluster monitoring toolkit - web front-end
golang-github-unknwon-cae-dev/bionic 0.0~git20160715.0.c6aac99-4 all
PHP-like Compression and Archive Extensions in Go
haserl/bionic 0.9.35-2 amd64
CGI scripting program for embedded environments
kdevelop-php-docs/bionic 5.2.1-1ubuntu2 all
transitional package for kdevelop-php
kdevelop-php-docs-l10n/bionic 5.2.1-1ubuntu2 all
transitional package for kdevelop-php-l10n
…
:
Para aprender mais sobre o que cada módulo faz, você pode pesquisar na internet para maiores informações sobre eles. Alternativamente, veja a descrição longa do pacote digitando:
apt show nome_do_pacote
Haverá uma grande quantidade de saída, com um campo chamado Description que terá uma explicação mais longa da funcionalidade que o módulo oferece.
Por exemplo, para encontrar o que o módulo php-cli faz, você pode digitar isto:
apt show php-cli
Juntamente com várias outras informações, você vai encontrar algo parecido com isto:
Output
…
Description: command-line interpreter for the PHP scripting language (default)
This package provides the /usr/bin/php command interpreter, useful for
testing PHP scripts from a shell or performing general shell scripting tasks.
.
PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used
open source general-purpose scripting language that is especially suited
for web development and can be embedded into HTML.
.
This package is a dependency package, which depends on Ubuntu's default
PHP version (currently 7.2).
…
Se, após pesquisar, você decidir que gostaria de instalar um pacote, você pode fazê-lo utilizando o comando apt install assim como fizemos para nossos outros softwares.
Se decidir que o php-cli é algo que você precisa, você poderia digitar:
sudo apt install php-cli
Se você quiser instalar mais de um módulo, você pode fazer isso listando cada um, separado por um espaço, seguindo o comando apt install, como abaixo:
sudo apt install pacote1 pacote2 ...
Nesse ponto, sua pilha LAMP está instalada e configurada. Antes de fazer mais alterações ou implantar um aplicativo, seria útil testar proativamente sua configuração do PHP, para o caso de haver algum problema que deva ser resolvido.
Testando o Processamento PHP no seu Servidor Web
A fim de testar se seu sistema está corretamente configurado para o PHP, crie um script PHP bem básico denominado info.php. Para que o Apache possa encontrar o arquivo e servi-lo corretamente, ele deve ser salvo em um diretório muito específico, o qual é chamado de “web root”.
No Ubuntu 18.04, este diretório está localizado em /var/www/html. Crie o arquivo neste local digitando:
sudo nano /var/www/html/info.php
Isto vai abrir um arquivo em branco. Coloque o texto a seguir, que é um código PHP válido, dentro do arquivo:
info.php
<?php
phpinfo();
?>
Quando você tiver concluído, salve e feche o arquivo.
Agora você pode testar se seu servidor web pode exibir corretamente o conteúdo gerado por esse script PHP. Para testar isso, visite esta página em seu navegador web. Você vai precisar novamente do endereço IP público do seu servidor.
O endereço que você vai querer visitar é:
http://ip_do_seu_servidor/info.php
A página que você deve ver deve se parecer com isto:
https://assets.digitalocean.com/articles/how-to-install-lamp-ubuntu-18/small_php_info_1804.png