Esse conjunto de softwares Open Source são essenciais para todo desenvolvimento de sistemas PHP. O termo antigo LAMP, representa Linux, Apache, MySql e PHP. Neste guia vamos instalar o LAMP em maquina de desenvolvimento localhost, e tentei deixar a configuração simples e limpa, para evitar bugs posteriores.
$ sudo apt update
$ sudo apt install apache2
Sempre que vamos instalar um programa no linux atualizamos o gestor de pacotes para buscar a versão mais recente do programa em seu repositório, para isso utilizamos o apt update.
Caso for a primeira vez que está usando o sudo será necessário informar a senha root do seu sistema.
Para confirmar a instalação digite
$service apache2 status
ou acessando o ip http://127.0.0.1/ em seu navegador
OBS >> Se estiver configurando em um servidor web, você necessita configurar o firewall através do UFW. Como estamos fazendo uma instalação de servidor local não é necessário configurar o firewall.
Instalando o MySql (MariaDB)
$ sudo apt install mariadb-server
Ao finalizar a instalação já vamos nos precaver de um problema muito comum na autenticação de usuários do seu DB, o tal do unix_socket. Esse "terror" acontece aos desavisados desde a versão do MySql 5, onde na instalação é por padrão definida o método de autenticação via unix_socket em vez de password. Embora essa medida é para segurança em servidores cloud, para que apenas usuários com permissão root façam login no banco de dados, para nós que estamos criando um servidor para desenvolvimento local utilizaremos a comum forma mais low secure de setup.
Tente logar no banco de dados via linha de comando, digite:
$ mysql -u root -p
> Enter password: suasenha
Verá o erro de acesso negado
Desta forma ele está tentando acessar utilizando o plugin unix_socket, mas não é o que queremos. Entre como root digitando:
$ sudo mysql
Primeiro vamos listar os usuários disponíveis e confirmar o plugin de autenticação.
$ SELECT User,plugin FROM mysql.user;
Agora vamos alterar o plugin de autenticação do usuário root para password.
$ UPDATE mysql.user SET plugin = 'mysql_native_password', authentication_string = PASSWORD('root') WHERE User = 'root';
$ FLUSH PRIVILEGES;
$ EXIT;
Acesse normalmente e estamos prontos para a proxima etapa.
$ mysql -u root -p
> Enter password: root
Instalação PHP 7.3
Na data de hoje o PHP 8 já está em produção, mas deixarei essa versão mais recente para um outro post.
adicione o repositório para php e atualize o apt:
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update
$ sudo apt install php7.3
verifique se deu certo:
$ php -v
Existem dois pacotes importantes o libapache2-mod-php e o php-mysql, vamos verificar e instalar desta maneira:
$ sudo apt install libapache2-mod-php7.3
$sudo apt install php7.3-mysql
Para confirmar a instalação digite:
$ php --ini
$ sudo apt update
$ sudo apt install apache2
$ sudo apt install mariadb-server
$ sudo mysql
$ UPDATE mysql.user SET plugin = 'mysql_native_password', authentication_string = PASSWORD('root') WHERE User = 'root';
$ FLUSH PRIVILEGES;
$ EXIT;
$ sudo apt install php7.3
$ sudo apt install libapache2-mod-php7.3
$ sudo apt install php7.3-mysql
Espero ter contribuído com o seu sucesso!
Abraço