Nesta postagem vou ensiná-los a fazer uma configuração simples para ter um servidor LAMP operando para configurações de servidores diversos!
| Se você apoia nosso site, desative o AdBlock quando visitá-lo, inclusive em Mobile!
Os anúncios são poucos e não invasivos. Se quiser contribuir com nosso trabalho, clique em qualquer banner de sua preferência, exceto dos Parceiros. Mais detalhes clicando aqui.
1. Introdução
Provavelmente em algum ponto da internet você ouviu falar de LAMP.
O “LAMP” é uma sigla que representa um conjunto de softwares independentes entre si mas que trabalham muito bem quando unidos.
Eles são o sistema operacional GNU/Linux, o servidor web Apache2, o serviço de banco de dados MySQL e as bibliotecas PHP.
Existem algumas variantes, como usar o MariaDB em vez do MySQL e o Python em vez do PHP, mas o objetivo comum é o mesmo: Ter todos os meios para ter um servidor de propósito geral funcional e eficiente.
Nesta postagem pretendo ensiná-los a fazer uma configuração de um servidor cujo propósito seja hospedagem de sites, bancos de dados, servidores de arquivos, dentre outros: propósito geral, com servidor essencialmente web funcionando.
L: Linux
A letra L que inicia a sigla LAMP representa o Linux, que aqui neste tutorial é o sistema operacional de sua preferência.
Eu particularmente utilizei o Ubuntu Server 20.04 LTS como base devido a sua simplicidade de ser configurado pelos usuários mais novatos e por abranger a maior gama de pacotes diretamente do repositório oficial da Canonical. Sendo menos específico, as configurações aqui ensinadas podem ser feitas sob qualquer sabor do Ubuntu de sua escolha inclusive: Kubuntu, Xubuntu, Ubuntu MATE, Lubuntu, e etc. – Lembre-se, essencialmente, qualquer sistema Linux, com ou sem interface, pode ser um servidor!
Apesar do foco do artigo ser o Ubuntu, podem efetuar os procedimentos em outras distros como Fedora e OpenSUSE, apenas cuidado que os comandos, pastas e diretórios serão um pouco diferentes. No Fedora por exemplo usa-se dnf em vez do apt, mas a nomenclatura dos pacotes é a mesma.
Faça a instalação normal do sistema. Funcionará com qualquer sabor, desde que seja uma LTS para prezarmos a estabilidade e segurança. Uma vez instalado, faça os ajustes que achar necessário como instalar ou purgar algum pacote específico, ao seu gosto dependendo do objetivo desse servidor.
A: Apache2
A letra A representa o Apache2, um popular servidor Web desenvolvido desde 1995 e base de pelo menos 80% dos websites na internet. Com ele você garante um acesso tranquilo e direto a uma página em .html ou .php. No momento em que você acessar o IP do seu servidor, a página será exibida graças ao serviço do Apache.
Instale o Apache2:
$sudo apt install apache2
Corrija a exibição de um erro de host local:
$ sudo nano /etc/apache2/apache2.conf
Adicione a seguinte linha ao final do arquivo:
ServerName DOMINIO
Sendo DOMINIO o nome local do PC.
Esse nome você encontra com o comando:
$ hostname
Ao fazer isso, faça o seguinte comando:
$ sudo apache2ctl configtest
Ao executar, ele deve retornar apenas o resultado “Syntax OK”.
Se exibiu Syntax Ok, prossiga!
Reinicie o servidor Apache2:
$ sudo systemctl restart apache2
Confira se o firewall permitiu o Apache, se ele aparece na lista:
$ sudo ufw app list
Confira as portas do Apache:
$ sudo ufw app info "Apache Full"
Permita tráfego de rede total para o Apache:
$ sudo ufw allow in "Apache Full"
A essa altura você deve ter o servidor rodando sem problemas!
Abra no navegador: http://ip-LAN-do-seu-servidor
Por exemplo: http://192.168.0.27
Esse IP você encontra com o comando:
$ ifconfig
Se tudo deu certo, ao abrir o endereço de IP no navegador você verá uma página como esta:
Página indicando que o servidor Web Apache está executando com sucesso!
Se você abriu corretamente as portas do seu modem, também terá acesso também via WAN a partir de agora.
Nas configurações do seu Modem, procure por “DMZ” (Demilitarized Zone) e adicione o IP local do seu servidor a ele, assim o modem vai mandar qualquer acesso externo direto para seu servidor.
Para ver seu IP WAN: www.ipleak.net
Caso você acesse seu site pela rede LAN, usando o endereço de IP externo, terá um falso positivo. O site vai abrir mas você não tem garantias de que ele está disponível na web globalmente.
Então a dica que dou é você abrir esse seu IP WAN num celular conectado ao 3G, e, caso você veja a página padrão do Apache, meus parabéns, seu servidor está 100% operante inclusive para a web e qualquer um poderá acessá-lo! Os próximos passos vão afina-lo para ter melhor suporte a sites, customizações e configurações.
M: MySQL
O M da sigla representa o MySQL, mas poderia ser o MariaDB: o ponto é que seja um serviço de bancos de dados, vital para gerenciamento de conteúdo de sites, e servidores de arquivos que utilizem recursos visuais com suporte cloud. O OwnCloud por exemplo faz uso disso.
Instale o MySQL:
$ sudo apt install mysql-server
Durante a instalação será pedido para você definir uma senha padrão que será de acesso root do servidor. O padrão é “root”, pense em uma senha forte e fácil de lembrar.
Agora digite:
$ mysql_secure_installation
Durante a execução deste comando, você será solicitado a usar o plugin de criação de senha segura. É recomendado negar (N) para não gerar conflitos caso você use uma senha fraca que não entre de acordo com as normas desse plugin (a exemplo das senhas default do phpMyAdmin, que será citado abaixo no tutorial).
Aqui você vai acabar de configurar a segurança do MySQL.
Será pedido para criar outra senha, dessa vez do usuário root do banco de dados (pode ser a mesma da anterior) alem de finalizar a correta instalação do MySQL e definição do novo banco de dados que será aplicado depois.
Terminou? terminado!
P: PHP
A letra P representa a linguagem PHP que é amplamente utilizada para gerenciar servidores web e no caso desses pacotes, eles adicionam plugins e recursos extras aos sites, com muitos elementos visuais para serem aplicados e enriquecer a experiência de usuário. Uma opção é o Python mas aqui, no nosso exemplo, utilizei o PHP.
Instale o PHP e seus plugins:
$ sudo apt install php libapache2-mod-php php-mcrypt php-mysql
A instalação deve ocorrer normalmente.
Agora, para a maioria dos usos, vamos trocar a tela inicial do servidor, que é index.html para index.php.
$ sudo nano /etc/apache2/mods-enabled/dir.conf
Você verá estas linhas:
<IfModule mod_dir.c> DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm </IfModule>
Troque para:
<IfModule mod_dir.c> DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm </IfModule>
Para salvar, tecle Ctrl+O
Para fechar, tecle Ctrl+X
Reinicie o Apache2:
$ sudo systemctl restart apache2
Verifique o status do servidor Apache:
$ sudo systemctl status apache2
Se nao tiver qualquer mensagem de erro, e as que estiver, estiverem verdes, está 100%!
1.1 Testando o Acesso
Edite:
$ sudo nano /var/www/html/info.php
Coloque as seguintes linhas dentro:
<?php phpinfo(); ?>
Para salvar, tecle Ctrl+O
Para fechar, tecle Ctrl+X
Acesse do seu PC local:
http://SEU-IP-LOCAL/info.php
Se você ver uma página como esta, então a configuração foi bem sucedida!
Se você tentar acessar via IP WAN, deverá também conseguir ver a nova página com informações do site demo em PHP. Se chegou até aqui, parabéns! Servidor LAMP executando 100%.
Agora basta configurar seu site/servidor e inserir o index.php (ou index.html) pela pasta /var/www/html para utiliza-lo em sua totalidade.
2. Considerações Finais
Recomendarei aqui o programa “phpmyadmin”, ele é completo para configuração local caso seu servidor faça uso de bancos de dados. Nele você fará uma gestão eficiente dos seus bancos de dados. Para instalar:
$ sudo apt install phpmyadmin
Ele vai perguntar se você quer configura-lo, diga Sim.
Ele vai se encaixar na atual configuração do PHP e poderá ser acessado via:
A negativa que você respondeu lá em cima, na configuração do MySQL, eliminará algum provável conflito que possa ocorrer nessa etapa, eliminando qualquer possível dor de cabeça.
O acesso ao programa se dará com o seguinte link:
http://seu-ip-local/phpmyadmin
3. Conclusão
É sabido que o Linux domina os servidores de data centers e hospedagem de sites por uma série de fatores, como segurança e estabilidade. O método LAMP é o método usado para hospedagem de 90% dos sites da internet! Existem variantes do LAMP como o MAMP (macOS) e o WAMP (Windows), mas a configuração e utilização deles é uma questão de preferência do sysadmin que estiver configurando e gerenciando o servidor.
#UrbanCompassPony
Autodidata, me aprofundei em sistemas operacionais baseados em UNIX®, principalmente Linux. Também procuro trazer assuntos correlacionados direta ou indiretamente, como automação, robótica e embarcados.