Existem algumas formas de instalar um servidor Web (ou HTTP) com suporte a PHP e MySQL no Linux, o que chamamos de LAMP. Podemos instalar pacote por pacote e depois fazer as configurações necessárias para integrá-los ou instalar um pacote completo como o XAMPP (ou LAMP), o que pode ser mais rápido porque este já vem pré-configurado para um servidor Web padrão. Vamos usar, inicialmente este procedimento, por ser mais rápido, prático e menos passível de erros.
Como estamos implementando um ambiente de desenvolvimento e testes, podemos usar um pacote de servidores como o XAMPP, mas, em um ambiente de produção, prefira instalar e configurar os pacotes Apache, PHP, MySQL e outros, manualmente, para ter um ambiente mais atualizado e seguro.
Como a maioria das operações, é possível baixar e instalar o XAMPP no Linux, mesmo sem acesso a uma interface gráfica, o que é bastante comum em servidores de médio e grande porte. Vamos aos passos:
Logue-se como "root" no terminal e digite o comando abaixo onde, acessamos o site do XAMPP pelo navegador "Links" instalado antes:
links https://apachefriends.org/pt-br/
Navegue pelo site do XAMPP usando as setas do teclado (▲ e ▼) e localize "Download" no menu, logo no começo;
Pressione [Enter] quando "Download" estiver selecionado;
Ainda usando as setas, role para baixo até encontrar a seção "XAMPP for Linux";
Aponte para "Download (64 bit)" da versão mais nova do XAMPP for Linux;
✋
Tem certeza que baixou o arquivo correto? Você precisa baixar a versão mais recente do XAMPP para o sistema Linux? Não, né? Hummmm... Faça novamente com o dobro de atenção!
Pressione [Enter], autorize o download e aguarde o XAMPP baixar completamente;
Saia do "Links" pressionando [Q] e em seguida [Enter];
De volta ao prompt de comandos, digite o comando abaixo para verificar se o XAMPP para "Linux" foi baixado. Este comando lista o conteúdo do diretório (pasta) atual do sistema:
ls -l
Observe a sequência de caracteres "-rw-r--r--" no começo da listagem. Essas são as permissões deste arquivo, e precisamos mudá-la para que este arquivo seja um executável.
Digite os comandos, alterando a versão do XAMPP se necessário:
chmod +x xampp-linux-x64-7.4.1-0-installer.run
ls -l
Observe que agora as permissões são "-rwxr-xr-x", onde "x" significa "executable" (executável);
Para instalar, comande:
./xampp-linux-x64-7.4.1-0-installer.run
Responda todas as perguntas com [Y] e [Enter], conforme a orientação da tela e aguarde a instalação;
Por padrão, o XAMPP é instalado na pasta "/opt/lampp", então, para executá-lo, comandamos:
/opt/lampp/lampp restart
Para testar, ainda no console, digite:
links http://localhost/
A página de boas vindas do XAMPP deve abrir no "Links";
Volte na interface gráfica ( [Ctrl]+[Alt]+[F7] ) e abra o navegador Web;
Acesse o mesmo endereço "http://localhost/" e verifique se a página de boas vindas do XAMPP abre;
Aproveite também para testar o acesso ao "PHPMyAdmin" pelo endereço "http://localhost/phpmyadmin/";
Para hospedar seus sites no XAMPP do Linux use o mesmo local usado no Windows, ou seja, o diretório "htdocs". A diferença é que ele está dentro do diretório "/opt/lampp" em vez de "C:\xampp", como no Windows. Assim, o caminho para seu arquivo "index.php" será "/opt/lampp/htdocs/index.php".
O mesmo vale para o MySQL (na verdade MariaDB), que tem as mesmas especificações do Windows, ou seja:
Servidor: localhost
Usuário: root
Senha: -- Em branco --
Para ter acesso aos arquivos do XAMPP, inclua o diretório acima nas configurações do Samba que instalamos antes. Vamos lá:
Primeiro, altere as permissões do diretório, para permitir o acesso, comandando:
chmod -R 777 /opt/lampp/htdocs
Abra o arquivo de configuração para edição, comandando:
mousepad /etc/samba/smb.conf
Role até o final do arquivo e inclua uma linha em branco e as linhas abaixo:
[htdocs]
comment = Sites do XAMPP
path = /opt/lampp/htdocs
browseable = yes
read only = no
guest ok = yes
Reinicie o Samba comandando:
service smbd restart
Teste pelo Windows, se você tem acesso ao novo compartilhamento...
Se quiser compartilhar toda a pasta do XAMPP, abra o arquivo de configuração novamente, comandando:
mousepad /etc/samba/smb.conf
Role até o final do arquivo e inclua uma linha em branco e as linhas abaixo:
[lampp]
comment = XAMPP
path = /opt/lampp
browseable = yes
read only = no
guest ok = yes
Reinicie o Samba novamente, comandando:
service smbd restart
Teste pelo Windows, se você tem acesso a este compartilhamento também...
Sabemos que o XAMPP inclui o phpMyAdmin, uma ferramenta de código aberto baseada em navegador para gerenciar servidores de banco de dados MySQL / MariaDB. Por padrão e por razões de segurança, o phpMyAdmin é configurado para aceitar somente conexões do host no qual o XAMPP está instalado (http://localhost). A tentativa de acessar o phpMyAdmin de qualquer outro host produzirá o erro abaixo:
Para habilitar o acesso remoto ao phpMyAdmin de outros hosts, siga estas etapas:
Edite o arquivo "/opt/lampp/etc/extra/httpd-xampp.conf" no diretório de instalação do XAMPP:
mousepad /opt/lampp/etc/extra/httpd-xampp.conf
Dentro deste arquivo, encontre o bloco abaixo:
<Directory "/opt/lampp/phpmyadmin">
AllowOverride AuthConfig Limit
Require local
...
Atualize este bloco, substituindo apenas "Require local" por "Require all granted”, para que fique assim:
<Directory "/opt/lampp/phpmyadmin">
AllowOverride AuthConfig Limit
Require all granted
...
Salve o arquivo e reinicie o servidor XAMPP comandando:
/opt/lampp/lampp restart
Agora você deve conseguir acessar o phpMyAdmin de outros hosts. Teste!
Por padrão, o XAMPP deve ser inicializado manualmente toda vez que iniciamos o servidor, com o comando:
/opt/lampp/lampp restart
Só que, a premissa de um servidor é ser o mais autônomo possível. Para isso, vamos configurar o XAMPP como um serviço que inicializará durante o "boot" do sistema. Se for essa a sua intenção, siga os passos abaixo:
Logue-se no servidor como "root" e copie o arquivo "/opt/lampp/lampp" para o diretório "/etc/init.d":
cp /opt/lampp/lampp /etc/init.d
Abra o arquivo "/etc/init.d/lampp" para edição:
mousepad /etc/init.d/lampp
Com atenção, adicione ou modifique as linhas do arquivo para ficar da seguinte forma:
#!/bin/sh
### BEGIN INIT INFO
# Provides: xampp
# Required-Start: $local_fs $remote_fs $syslog $network
# Required-Stop: $local_fs $remote_fs $syslog $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start XAMPP at boot time
# Description: Enable services provided by XAMPP.
### END INIT INFO
Cuidado com a caixa das letras. Não altere mais nada no arquivo. Salve-o e feche-o.
Adicione o script aos "default runlevels" para habilitá-lo, comandando:
update-rc.d -f lampp defaults
Esses comandos não devem retornar erro, assim como o comando abaixo:
service lampp restart
Reinicie o servidor e verifique se o serviço funciona:
ps aux | grep httpd
Devem ser listadas algumas instâncias do "httpd" que é o serviço do Apache.
ps aux | grep mysql
Lista algumas instâncias do MySQL, indicando que ele está ativo no sistema.
Dica: Você pode acessar o servidor diretamente ou usar o cliente da rede para acessar o servidor remotamente para fazer a atividade.
Acesse o PHPMyAdmin e crie um banco de dados chamado "aplicativo" e nele uma tabela "listagem" com os campos "id (PK)", "data", "produto" e "codigo";
Ainda usando o PHPMyAdmin, adicione alguns itens à tabela "listagem";
Crie um script PHP no servidor que se conecte ao banco de dados "aplicativo" e liste o conteúdo da tabela "listagem";
Crie um script PHP com um formulário que permita inserir dados na tabela "listagem".