Como instalar um servidor web LAMP no Debian 9

Um servidor web é um ponto de início básico para poder instalar e usar uma série de outros softwares e serviços, como galeria de fotos, blog, fórum ou apenas um simples site HTML.
O LAMP é, basicamente, um web server Linux, que inclui o Apache, um banco de dados e suporte à linguagem de programação PHP.

O assunto já rendeu várias tags LAMP e posts diversos, neste mesmo site.
No decorrer do texto, sugiro clicar nos links, sempre que tiver alguma dúvida e queira se aprofundar um pouco mais em um ponto específico.
O conceito é bastante flexível, como podemos ver a seguir

O que é um servidor web LAMP

Como conceito, o LAMP inclui estas 4 “peças”:

  • Você pode usar uma das diversas opções Linux disponíveis. Neste texto, estamos nos baseando no Debian 9 Stretch — que é uma versão LTS do sistema operacional, ou seja, vai ter suporte prolongado até 2022, após quase 2 anos de desenvolvimento — uma ótima opção, portanto, a ser usada em um servidor. A gama de sistemas operacionais, contudo, inclui o FreeBSD e até mesmo o Windows. Neste último caso, o servidor leva o nome de WIMP (Windows, IIS, MySQL e PHP) e, como você pode ver no link para o Urban Dictionary, o termo costuma ter sentido pejorativo.
    Como alternativas, já escrevi sobre como instalar o LAMP no Ubuntu e no OpenSUSE.
  • O servidor web, de que falamos aqui, é o Apache. Alternativas comuns são o Nginx e o Lighttpd.
  • O banco de dados MySQL foi a escolha perfeita deste quarteto, por muito tempo. Hoje, há um processo de migração para o MariaDB em curso — e o Debian está seguindo esta tendência.
  • Por último, temos a escolha da linguagem de programação, até onde se estende a flexibilidade do conceito.
    As escolhas mais comuns são, pela ordem, PHP, Python e Perl — que coincidentemente começam com a letra ‘P’.
    Entretanto, se quiser rodar apps web importantes, como o WordPress, e-commerce ou Piwigo, você vai precisar do PHP.
    Servidores Linux, contudo, já costumam incluir suporte ao Perl e ao Python.
    Se você tem interesse no uso de alguma destas duas opções, verifique se estão presentes no servidor com os seguintes comandos:

    
    perl --version
    
    This is perl 5, version 24, subversion 1 (v5.24.1) built for x86_64-linux-gnu-thread-multi
    (with 67 registered patches, see perl -V for more detail)
    
    Copyright 1987-2017, Larry Wall
    
    ...
    
    
    python --version
    
    Python 3.5.3
    

    Tenha em conta que o Python pode ter 2 versões independentes instaladas, em muitas distribuições GNU/Linux.

Como instalar o servidor web no Debian

O Debian tem uma ferramenta que automatiza a instalação de meta pacotes para o seu sistema.
Sugiro ler sobre o tasksel, mais tarde, para ver o que mais o utilitário pode fazer por você.
Para ter o Apache instalado e rodando, em poucos minutos, rode o seguinte comando:


sudo tasksel install web-server

debian tasksel web-server
Debian tasksel web-server install
Para verificar se o seu web server está funcionando direito, execute o seguinte:


sudo service apache2 status

[sudo] senha para justincase: 
● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; 
   Active: active (running) since Sun 2017-07-16 12:26:00 -03; 15
 Main PID: 6524 (apache2)
    Tasks: 55 (limit: 4915)
   CGroup: /system.slice/apache2.service
           ├─6524 /usr/sbin/apache2 -k start
           ├─6526 /usr/sbin/apache2 -k start
           └─6527 /usr/sbin/apache2 -k start

jul 16 12:26:00 ultra-5 systemd[1]: Starting The Apache HTTP Serv
jul 16 12:26:00 ultra-5 apachectl[6513]: AH00558: apache2: Could 
jul 16 12:26:00 ultra-5 systemd[1]: Started The Apache HTTP Serve
lines 1-13/13 (END)

Procure por “active (running)“.
Debian test web-server Apache
Você também pode testar o Apache invocando o daemon diretamente (ops!), da seguinte forma:


sudo apachectl -v

Server version: Apache/2.4.25 (Debian)
Server built:   2017-06-20T19:29:11

Outro método de verificar se tudo está OK, é acessar o servidor via web: abra o endereço http://localhost em seu navegador.

Até agora, já temos o Apache rodando no sistema.
Falta o banco de dados e o PHP…

Como instalar o MariaDB no Debian

O banco de dados pode ser instalado via apt:


sudo apt install mariadb-server mariadb-client 

Ainda existe a necessidade de instalar uma pequena biblioteca para ajudar na integração entre o PHP e o banco de dados, que iremos ver no próximo tópico.
Por enquanto, faremos uma rápida checagem:


mariadb --version

mariadb  Ver 15.1 Distrib 10.1.23-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

ou pode usar o service, como fez, anteriormente, com o Apache:


sudo service mariadb status

● mariadb.service - MariaDB database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2017-07-16 15:17:52 -03; 15min ago
 Main PID: 9974 (mysqld)
   Status: "Taking your SQL requests now..."
   CGroup: /system.slice/mariadb.service
           └─9974 /usr/sbin/mysqld

jul 16 15:17:50 ultra-5 systemd[1]: Starting MariaDB database server...
jul 16 15:17:51 ultra-5 mysqld[9974]: 2017-07-16 15:17:51 139788240409152 [Note] /usr/sbin/mysqld (mysqld 10.1.23-MariaDB-9+deb9u1) starting as proces
jul 16 15:17:52 ultra-5 systemd[1]: Started MariaDB database server.

Se o serviço não estiver active, ative-o assim:


systemctl start {apache2,mariadb}

Como instalar o PHP no Debian

Alguns tutoriais recomendam a instalação do PHP primeiro. Isto pouparia o tempo de reiniciar o Apache. Fora isso, o resultado é o mesmo.
O Debian 9 já usa, não somente, o MariaDB como padrão, como o PHP 7.0 em seus repositórios.
Tradicionalmente, a instalação é feita assim:


sudo apt install php php-mysqli apache2-mod-php7.0

Instale o phpmyadmin

Por fim, o phpmyadmin cumpre duas funções neste processo, como um todo.
É raro realizar operações diretamente no banco de dados, se você pretende usar aplicativos como o WordPress — uma vez que há plugins para isso.
Mas nem todo mundo gosta de confiar tarefas de manutenção do banco de dados a ferramentas de terceiros.
Além disto, os plugins acrescentam “peso” ao seu site e o “manual das boas práticas” manda não abusar do recurso.

O phpmyadmin, permite realizar tarefas administrativas nos bancos de dados MySQL/MariaDB.
A ferramenta representa um meio-termo entre a simplicidade dos plugins e a complexidade da linha de comando (CLI).

A segunda função do aplicativo é ajudar a verificar se toda a instalação, feita até aqui, ocorreu bem.


sudo apt install phpmyadmin


Isto feito, não se esqueça de reiniciar o serviço do Apache:


sudo systemctl restart apache2

O fato é que se ficou faltando alguma coisa, nos passos anteriores, a instalação do phpmyadmin irá cuidar de garantir que todas as dependências estejam instaladas e configuradas.
phpmyadmin frontscreen
Basta abrir a página http://localhost/phpmyadmin, para ver se tudo está bem ou não.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Como instalar a adb shell no Linux para se conectar a dispositivos Android

O Android Debug Bridge é uma ferramenta de linha comando que permite a comunicação com o seu dispositivo Android, através de uma instância de emulador.
O utilitário responde pelo apelido abreviado adb e trata-se de um programa cliente-servidor.
Em uma tradução livre, Android Debug Bridge responde por “ponte de depuração Android”.
O adb é um aplicativo voltado para desenvolvedores e tem os seguintes componentes:

  • Um cliente que envia comandos e roda na máquina de desenvolvimento.
    Possibilita executar um programa cliente, a partir da shell do Linux rodando um comando adb.
    Outras ferramentas Android, como o DDMS, também criam clientes adb.
  • Um daemon, que tem a função de rodar comandos dentro do dispositivo Android — usalmente, em background, como processo, em cada emulador ou instância do dispositivo.
  • Um servidor, que gerencia a comunicação entre o cliente e o daemon.
    O servidor roda como um processo em segundo plano na sua máquina de desenvolvimento.

O adb permite conectar ao seu dispositivo Android do seu computador.

Havendo apenas um emulador rodando ou um dispositivo conectado, o comando adb vai se referir apenas a este dispositivo, como padrão.
Já, havendo múltiplos emuladores em execução ou conectados, será necessário usar algumas opções na shell para especificar o alvo dos seus comandos.

Como instalar o adb shell no Linux

como encontrar adb nos repositórios.
Para escrever este post, uso o Debian 9 Stretch. Os comandos dados para a instalação são muito semelhantes à outras distribuições. Portanto, fica fácil adaptar a partir dos meus exemplos.
É importante saber que, do lado do celular, é necessário ativar o modo de depuração USB — para criar uma ponte entre os dispositivos.
Use o apt search, no Debian, no Ubuntu e nas distribuições derivadas, para encontrar o pacote de instalação ou tente apenas instalar direto:


sudo apt install adb

O pacote recomenda a instalação do “android-sdk-platform-tools-common” que contém as regras udev para dispositivos Android. Sem este pacote, você precisará rodar o adb e o fastboot com privilégios administrativos.
Fica a seu critério instalar ou não os pacotes recomendados, claro.
Uma vez instalado, basta conectar o dispositivo Android, via USB, ao seu computador e rodar o adb.
Para sair da shell, use o comando exit.
Clique na tag adb shell para ler outros posts relacionados ao assunto.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Referências

https://developer.android.com/studio/command-line/adb.html.

Ative o menu de opções de desenvolvedor no seu Android

Os dispositivos Android têm um menu “escondido” com opções voltadas para programadores.
Elas abrem possibilidades novas de uso do aparelho — e também podem abrir brechas de segurança, que podem comprometer seriamente o uso do aparelho e de seus dados.
Os procedimentos, descritos neste post, não são voltados para usuários inexperientes.

Como sempre, se não sabe o que está fazendo, então não faça.
Se é usuário iniciante do Android, o menu do desenvolvedor não tem nada que possa te interessar.
brincar com outra coisa.

Para ativar o recurso, abra o painel de configurações (ou config) do seu dispositivo Android e siga o passo a passo:

  1. Role a tela e encontre o item Sobre o telefone ou Sobre o dispositivo
  2. Role até o fim do menu até chegar ao item Versão do kernel ou Número de compilação
  3. Toque 7 vezes sobre este item, até aparecer a mensagem de aviso “O modo de desenvolvedor foi ativado”

Fique atento às diferenças nas nomenclaturas que pode haver entre aparelhos de marcas e modelos diferentes.
modo desenvolvedor android
Aparelhos da Motorola/Lenovo usam o termo “versão do kernel” para o mesmo item que se chama “número de compilação” em aparelhos Samsung.
Trata-se da mesma coisa.
modo desenvolvedor android
Após a ativação, volte ao menu anterior e veja que o item “Opções do desenvolvedor” foi ativado.
Quer saber quais são as possibilidades do aparelho, a partir de agora?
Então clique na tag Android desenvolvedor ou use recurso de pesquisa do site.
Conheça estas opções do painel do desenvolvedor que alteram o desempenho ou o visual do seu sistema.

Ative a depuração USB no Android para acessar funções avançadas.

Ferramentas de desenvolvimento ou hacking tools frequentemente irão requerer a ativação do USB debugging em seu dispositivo Android.
Este é um dos primeiros passos a ser dado, antes de realizar o processo de rooting em seu celular, por exemplo.
Como padrão de fábrica, este item vem sempre desativado nos aparelhos Android.
Sem ele, as ferramentas não conseguem estabelecer uma conexão entre o dispositivo e o seu PC.

Dependendo do fabricante, o recurso pode ter nomes “USB debug”, “depurador USB”, “modo de desenvolvedor”, “developer mode” etc.

Saiba mais sobre o modo de depuração USB do Android

Sua principal função é estabelecer uma ponte de conexão entre o dispositivo Android e um computador com o kit de desenvolvimento Android instalado.
No modo USB debug, é possível trocar arquivos diretamente com o celular e realizar alterações mais profundas no funcionamento do aparelho — via USB, bluetooth ou Wi-FI.
Há outras funções importantes, que podem ser exercidas através do USB debug, como acessar o dispositivo através da adb shell, o que permite rootear o aparelho, rodar comandos avançados dentro dele, recuperar aparelhos brickados etc.
Como você pode perceber, a ferramenta não é voltada para iniciantes.
aviso depuração usb android
Existem algumas razões (de segurança, inclusive) para se evitar deixar o modo de depuração ligado constantemente:

  1. Se você perder o aparelho ou ele for roubado, o USB debug irá permitir que ele seja acessado por pessoas não autorizadas, mesmo que a tela esteja bloqueada. Trata-se de um backdoor (porta dos fundos).
    Por uma questão de segurança, não ative esta função ou desative-a logo depois de se desconectar do aparelho.
  2. Há relatos, nos fóruns sobre Android, de usuários que tiveram problemas para ler mídia externa no dispositivo, enquanto o modo de depuração estava ligado.
    Se isto acontecer com você, já sabe de onde veio.

Como ativar o modo de depuração USB ou USB debug mode

A primeira coisa a ser feita é ativar o menu do desenvolvedor no seu dispositivo Android.
Depois disto, siga o passo a passo:

  1. Dentro do menu principal de configurações, abra o painel de opções do desenvolvedor (ou programador).
  2. Em seguida, ative a “depuração USB” ou “USB debug mode“.
  3. Leia o aviso e clique OK.

android usb debug
Uma vez ativo, já é possível testar o modo de depuração com o adb shell.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Como sair do editor vim

Sair do editor Vim, embora seja fácil, parece ser uma tarefa ingrata para muitos usuários novatos.
Tenho alguns textos sobre como usar e configurar o vim e, recentemente, me surpreendi com a quantidade de pessoas que perguntam justamente como se faz para finalizar o editor.
A resposta curta é a que segue.
Comece por teclar ‘Esc’, para sair do modo de inserção do editor. Em seguida:

  • tecle :wq e ‘Enter’, para gravar (write) e sair (quit) ou
  • tecle :q! e ‘Enter’, para sair arbitrariamente do editor — ele sequer vai pedir confirmação.

Como sair do editor vim

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.


Seja como for, não entre em desespero.
O método, no vídeo abaixo, é totalmente inadequado para terminar o vim… ou qualquer outro programa.