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.

Remova as revisões do banco de dados para melhorar a performance do WordPress.

As revisões são versões ou cópias de segurança de seus posts no WordPress, gravadas a cada vez em que você salva um rascunho (ou draft).
Se você é do tipo que grava “preventivamente” um rascunho a cada parágrafo digitado, provavelmente terá várias revisões salvas para cada artigo criado em seu blog.
WordPress Oficial logo
O recurso é muito útil e pode salvar horas de trabalho, em caso de perda acidental de conexão (entre outras situações possíveis).
No que toca as revisões, o comportamento padrão do WordPress, é:

  • fazer uma gravação automática a cada 60 segundos — o que gera uma cópia do seu texto, como revisão e
  • guardar até 3 revisões.

Por que você deve remover as revisões do banco de dados

Este texto não trata da desativação do recurso de criar revisões, do WordPress.
As revisões continuarão a ser criadas, após a realização do procedimento.
Como já disse, é um recurso de segurança que o WordPress provê a seus usuários e que têm grande valor no momento em que você mais precisar.
Isto posto, é importante que se diga que ter várias versões de seus posts gravadas, nem de longe, equivale a uma política séria de fazer backup do seu site.
No máximo, as revisões ajudam a retomar um trabalho interrompido abruptamente a partir de um certo ponto ou de uma linha de pensamento.
Todas as revisões de artigos escritos há um ano ou mais, para a maioria das pessoas, não têm utilidade alguma, contudo.
Todos os registros que não tem utilidade, estão ocupando espaço à toa no seu banco de dados.
Portanto, com o objetivo de manter o seu banco enxuto — em prol da eficiência e da velocidade do seu site — é que este artigo propõe remover este “excesso de bagagem”.
O processo é simples e seguro.
Pode ser realizado por usuários leigos em MySQL, sem problema algum. Ainda assim, tenho 2 recomendações a fazer, antes de prosseguir:

  • Verifique se seus backups estão em dia. Se estiverem, faça mais uma cópia de segurança de todo o conteúdo do seu blog (só por precaução).
  • Se não se sentir seguro, consulte o administrador do banco de dados do seu provedor ou algum usuário mais experiente, antes de seguir em frente.

Além disto, sugiro que você leia o texto inteiro, antes de aplicar o procedimento.
Se você não sabe como acessar o banco de dados do seu site, este texto não é para você. Desculpe.

Como remover os registros de revisões do meu blog WordPress?

Você precisa acessar o banco de dados do seu site e executar uma query SQL, que vai realizar a tarefa de encontrar os posts marcados como ‘revision’ e apagá-los.
Uma das formas de acessar o banco de dados de um site WordPress é com o uso do PhpMyAdmin, presente em muitas instalações — mas você pode usar a que lhe for mais conveniente.
Captura de tela de 2015-12-05 11:11:29
Uma vez conectado ao seu banco de dados, siga os passos:

  • selecione a tabela que contém seus posts.
    Fique atento ao fato de que ela provavelmente terá um prefixo — portanto adeque o meu exemplo à sua realidade aí.
    O nome da minha tabela, que contém posts, é wp_bch4ind_posts — em destaque, o meu prefixo.
    Se você estiver usando o PhpMyAdmin, selecione a tabela de posts, clicando nela, no painel à esquerda.
  • Em seguida, clique no botão SQL, na barra de ferramentas superior do PhpMyAdmin.
  • Dentro do editor SQL, digite a seguinte declaração:
    DELETE FROM wp_posts WHERE post_type = "revision";
    

    Mais uma vez, não esqueça de substituir o termo wp_posts pelo nome correto da sua tabela.

O que esta query faz é remover todos os posts do seu banco de dados cujo tipo seja igual a ‘revision’.

Resultados que o procedimento oferece

Este procedimento deve ser adotado por quem deseja melhorar o desempenho do carregamento do seu blog para seus leitores.
Para saber quantas revisões você tem no banco de dados, use a seguinte declaração SQL:

SELECT * FROM wp_posts WHERE post_type = "revision";

Se você tiver menos de 1000 posts do tipo ‘revision’, provavelmente não sentirá diferença na velocidade de carregamento do conteúdo do site.
Ainda assim, manter o banco de dados enxuto deve fazer parte da política de manutenção do seu site.
Para obter melhorias significativas na performance do seu blog, várias outras medidas devem ser tomadas em conjunto com esta.
O plugin revisions, pode automatizar esta tarefa para você.
Mas, se você vem perseguindo a melhora de desempenho do seu site WordPress, instalar um novo plugin, talvez não seja a melhor ideia — embora você sempre possa desinstalá-lo, logo após o seu uso —. Você não vai precisar executar este procedimento mais de uma vez por ano, afinal.

Como fazer backup de um banco de dados MySQL, usando o phpMyAdmin

O phpMyAdmin é um aplicativo web presente em quase todos os servidores web, com MySQL. Ele torna fácil realizar uma série de tarefas administrativas em seus bancos de dados ou dentro das tabelas especificamente.

Artigos relacionados:

Neste texto, vou mostrar como é rápido e fácil fazer um backup do seu banco de dados, usando este aplicativo. Me acompanhe…

Encontre o endereço do phpMyAdmin

Em uma instalação local normal, o aplicativo pode ser acessado do seu navegador, no endereço http://localhost/phpmyadmin.
No servidor remoto, do seu provedor, ele terá outro endereço. Se você não souber, consulte o administrador ou leia a documentação oferecida pelo provedor de hospedagem do seu site.
phpmyadmin login screen - tela de autenticação
Após a autenticação, selecione o banco de dados que você deseja copiar, na coluna à esquerda. Em seguida, clique na guia “Exportar“.
O painel de exportação é um painel, inicialmente simples — lógico que tudo depende da versão do aplicativo que você está usando. Basicamente, há dois métodos de exportação:

  • Quick — uma versão espartana com poucas opções
  • Custom — uma versão completa com inúmeras opções para “montar” o seu backup de acordo com o seu gosto

Vamos optar pela primeira, usando o formato SQL, uma vez que o objetivo é somente fazer um backup completo e rápido do banco escolhido.
phpmyadmin exportar banco de dados do servidor atual - backup
Ao clicar em Executar, o sistema irá pedir o nome do arquivo de backup. Crie um, escolha o local para onde ele deve ser baixado e confirme. Se o seu banco de dados for extenso, o processo pode ser um pouco demorado – Aguarde. A velocidade da conexão também influi na demora para fazer o download do backup.
phpmyadmin nome do arquivo de backup

Como restaurar o backup pelo phpMyAdmin

Você pode restaurar o seu backup no mesmo servidor em que o fez ou em outro — caso você queira ter o banco de dados replicado em outro servidor, basta abrir o phpMyAdmin lá e seguir o procedimento, que serve para qualquer caso.
Clique na guia Importar, ao lado de Exportar. Em seguida, clique em Escolher arquivo e selecione o arquivo de backup, que vocẽ deseja restaurar.
phpmyadmin importar arquivo sql  backup
Isto é tudo.
A recomendação final é a de que você proceda com cautela, para evitar perda de dados por falta de atenção — pelo fato de ser uma tarefa simples.
Torne o backup um hábito frequente e lembre os seus amigos — comece compartilhando este post!

Como instalar um servidor LAMP no Debian Linux

LAMP é uma abreviatura para LINUX – APACHE – MYSQL – PHP (ou Perl, ou Python…). Um servidor LAMP é útil para quem deseja criar páginas para Internet aplicativos web, mas quer testar em seu próprio computador antes de fazer os uploads.
lamp
Se você já está usando o Debian 9, sugiro a leitura de um texto mais atual, neste post https://elias.praciano.com/2017/07/como-instalar-um-servidor-web-lamp-no-debian-9/.

Como instalar o Apache

O Apache é o servidor web mais usado no mundo e pode ser instalado de maneiras diferentes no Debian. Umas das maneiras mais simples é através do aplicativo tasksel:

  1. No terminal, execute o tasksel
  2. Na tela do aplicativo, marque a opção Servidor Web
  3. Use a tecla Tab para ir até o botão Ok e tecle Enter

Captura de tela de 2013-03-13 16:25:16
Algumas questões serão feitas durante o processo de instalação e é seguro optar pela resposta padrão até a finalização.
Você pode instalar e configurar tudo (Apache, MySQL e PHP), com o tasksel, também. Leia mais aqui.

Como testar o Apache

O Debian tem um navegador em modo texto, que pode ser usado para esta tarefa: o w3m — mas você pode usar qualquer outro navegador para isto.
Execute o seguinte comando:


w3m http://localhost/

Se tudo tiver corrido bem, você terá uma tela parecida com esta:
Captura de tela de 2013-03-13 16:38:25
Para sair do w3m, tecle ‘Q’ e, em seguida, confirme a saída com ‘y’.

Como instalar o PHP

Vamos instalar aqui o PHP 5 e a biblioteca de integração do Apache ao PHP:


apt-get install php5 libapache2-mod-php5

Como testar a instalação do PHP

Execute o seguinte comando (ou copie e cole com Ctrl+C, Ctrl+V):


su -c "echo '<?php echo phpinfo(); ?>' > /var/www/html/teste.php"

Novamente, rode o w3m para verificar a instalação do PHP:


w3m http://localhost/teste.php

Captura de tela de 2013-03-13 17:05:00
Se você vir uma tela, semelhante à da figura, com informações sobre a instalação atual do PHP, é por que este está funcionando.

Como instalar o MySQL

Para instalar o MySQL execute o comando, a seguir:


apt-get install mysql-server mysql-client php5-mysql

Quando o instalador pedir, forneça uma nova senha pro MySQL e confirme-a, quando for pedido.
Captura de tela de 2013-03-13 17:11:34

Como instalar o PhpMyAdmin

Esta não é uma ferramenta essencial, mas ajuda a gerenciar os seus bancos de dados e tabelas no servidor, sem ocupar espaço significante no seu sistema:


apt-get install phpmyadmin

Novamente, aceite as configurações padrão durante a instalação (teclar Enter em algumas telas será o suficiente). O PhpMyAdmin vai pedir a senha que você cadastrou anteriormente para acessar o MySQL e vai pedir uma senha nova pro PhpMyAdmin (que deverá ser confirmada em seguida).

Teste do PhpMyAdmin

Como a página do PhpMyAdmin usa frames, é indicado usar um navegador mais sofisticado para testá-lo. Neste caso, o Firefox ou Chromium devem dar conta do recado. A página a ser acessada é http://localhost/phpmyadmin
Captura de tela de 2013-03-13 17:48:47
Divirta-se!

Como instalar o Apache, MySQL e PHP no Linux

Ter um servidor Apache, MySQL e PHP rodando no seu PC é muito simples, consome pouco recurso do sistema e possibilita recriar um ambiente ideal para desenvolvedores de aplicativos web em PHP.
Algumas pessoas substituem o PHP por Perl — o que também é uma excelente escolha.
apache-asf_logo_feather-featured
Neste post, partimos do pressuposto de que você está usando uma máquina com o Ubuntu ou Debian instalado — o cenário ideal para o trabalho.
Vou mostrar como realizar esta tarefa, primeiro, com o aplicativo tasksel, um aplicativo de instalação de softwares que é parte integrante do instalador do Debian e também funciona no Ubuntu. Ele agrupa os pacotes de softwares necessários para realizar determinadas tarefas e permite personalizar a sua instalação a partir das atividades que vocẽ deseja que sejam realizadas na máquina.
Depois, vou mostrar como fazer a instalação através do comando apt-get.
Assim, você poderá escolher qual das duas metodologias prefere usar.

Método 1: Como instalar o Apache, MySQL e PHP com o tasksel

Com o tasksel, o administrador seleciona tarefas e não aplicativos para a instalação.
No Debian, este é o método mais simples e rápido, por que o aplicativo é padrão no sistema.
Se você quiser usar o tasksel no Ubuntu, vai precisar instalar. Veja como:

sudo apt-get update
sudo apt-get install tasksel

O tasksel precisa ser executado com privilégios administrativos. Veja exemplo:

sudo tasksel

Na tela inicial, selecione a opção LAMP server, com a barra de espaços do seu teclado e, em seguida, clique em OK.

Durante o processo de instalação será pedido para digitar e confirmar a nova senha de acesso ao servidor MySQL — cabe a você fazer esta escolha.

Veja esta outra forma de usar o comando tasksel, para instalar um servidor completo — Apache, MySQL e PHP:

sudo tasksel install lamp-server

Método 2: Como instalar fácil um servidor Apache, MySQL e PHP no Ubuntu

O Ubuntu não tem o tasksel instalado por padrão, mas você pode realizar uma operação semelhante com o comando apt-get.
Veja, no exemplo abaixo, como é simples:

sudo apt-get install lamp-server^

Fique atento, para responder algumas perguntas do instalador (a senha nova do MySQL, por exemplo).
Ao final, script já entrega o Apache funcionando.
Você pode verificar se ele está rodando, com o seguinte comando:

sudo service apache2 status

Se tudo estiver OK, a mensagem abaixo devera aparecer:

 * apache2 is running

Testando a instalação

Há outros testes que você deve fazer.
Para testar o PHP, comece por criar um arquivo /var/www/html/teste.php, assim:

sudo nano /var/www/html/teste.php

Digite o conteúdo que segue, dentro do arquivo:

<?php
phpinfo();
?>

Agora grave o arquivo (Ctrl + o, Ctrl + x).
Reinicie o Apache:

sudo apache2ctl restart

Uma outra forma de reiniciar o Apache:

sudo service apache2 restart

Agora abra o seu navegador e acesse o seguinte endereço:http://localhost/teste.php
Se tudo correu bem, você vai visualizar uma página semelhante à da figura abaixo.

Para finalizar os testes, vamos verificar se o MySQL está “up and running“. O processo é semelhante ao anterior, quando testamos o Apache. Veja:

sudo service mysql status

A mensagem abaixo, indica que o MySQL está rodando e o seu PID é 24675

mysql start/running, process 24675

Se o servidor de banco de dados MySQL não estiver rodando, você pode iniciá-lo com o seguinte comando:

sudo service mysql start
mysql start/running, process 17070

Note que o número do PID (processo) mudou…

Problemas com o Apache?

Leia aqui, como resolver o erro “Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName”.

Pós instalação

Para tornar a administração do MySQL mais fácil, instale o phpmyadmin:

sudo apt-get install phpmyadmin

Durante o processo de instalação, será pedida uma senha nova para o phpmyadmin e, em seguida, que você informe que o servidor de Internet desejado é o Apache:

Após a instalação do phpMyAdmin faça a configuração do Apache.
Abra o arquivo /etc/apache2/apache2.conf para edição:

sudo nano /etc/apache2/apache2.conf

Acrescente ao arquivo, a linha Include /etc/phpmyadmin/apache.conf
A seguir, reinicie o servidor:

sudo service apache2 restart

Para testar o phpMyAdmin aponte para o seguinte endereço no seu navegador: http://localhost/phpmyadmin.
Se uma página semelhante a esta (abaixo) aparecer, é provável que tudo tenha corrido bem por aqui:

LEIA MAIS:

  • tasksel — conheça melhor este aplicativo de instalação robusta do Debian, que você pode usar no Ubuntu
  • Problemas com o Apache? — Leia aqui, como resolver o erro “Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName”.
  • Leia artigos sobre MySQL, neste site.
  • Leia artigos sobre PHP, neste site.