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.3Tenha 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
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)“.
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.
Basta abrir a página http://localhost/phpmyadmin, para ver se tudo está bem ou não.
[blog_subscription_form]
9 replies on “Como instalar um servidor web LAMP no Debian 9”
[…] contextualizar, o post é baseado em um servidor LAMP, com um blog WordPress instalado em uma máquina Debian 9 Stretch. Obtive os mesmos […]
Parabéns! Excelente tutorial, salvou meu dia. Muito obrigado
Obg, funcionou perfeito
Oi Elias, tive esse problema no phpmyadmin:
#1698 – Access denied for user ‘root’@’localhost’
mysqli_real_connect(): (HY000/1698): Access denied for user ‘root’@’localhost’
passou por isso também ?
Sim e escrevi sobre o assunto aqui: https://elias.praciano.com/2017/07/como-resolver-o-erro-1698-de-acesso-negado-no-mysql-e-mariadb/. 😉
Segui os passos conforme você passou, mas meu phpmyadmin parece nao funcionar. Quando tento acessar http://localhost/phpmyadmin eu recebo aviso de erro 404. Pode me ajudar?
tambem preciso dessa ajuda pfvr
Gente tem a incluir uma linha no arquivo apache2.conf
da um locate apache2.conf
abre com o nano ou vi e inclui essa linha no final do arquivo
e salva
Include /etc/phpmyadmin/apache.conf
caso nao consiga fazer login com o usário phpmyadmin usa essa comando e reconfigura.
dpkg-reconfigure -plow phpmyadmin
obs: o comando locate parece ter sido erro de grafia.. pra mim funcionou com o comando ‘locale apache2.conf’