LAMP é a sigla para Linux, Apache2, MySQL e PHP
Atualizar os pacotes do Linux
$ sudo apt update
$ sudo apt upgrade
Instalar Apache2 e liberar seu acesso junto ao firewall
$ sudo apt -y install apache2
$ sudo ufw allow in "Apache Full"
Comandos pra visualizar o acesso do Apache2
$ sudo ufw app list
$ sudo ufw app info "Apache Full
Instalar MySQL
$ sudo apt -y install mysql-server mysql-client
Agora faça o comando abaixo, mas preste atenção nas perguntas!!
$ sudo mysql_secure_installation
!! ATENÇÃO
Esse último comando irá pedir por VALIDATE PASSWORD PLUGIN
, responda NÃO se não deseja que as senhas tenham obrigação de segurança mínima. Responda SIM para as outras perguntas.
Para trocar o acesso do root de auth_socket
para mysql_native_password
(que funciona com a maioria das aplicações), faça o seguinte:
$ sudo mysql
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NOVASENHA';
mysql> FLUSH PRIVILEGES;
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
mysql> exit
Obs: se você tiver a autenticação de password ativado, você terá que usar o seguinte comando pra acessar o mysql
$ mysql -u root -p
Instalar PHP
$ sudo apt install -y php libapache2-mod-php php-mysql php-xml
Por default Apache2 lê primeiro arquivos index.html
em seu diretório, para alterar isso afim de que busque primeiro por index.php
, abra o seguinte arquivo:
$ sudo nano /etc/apache2/mods-enabled/dir.conf
E deixe parecido com o conteúdo abaixo, prestando atenção no index.php
por primeiro:
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
Reinicie o servidor Apache2 e verifique seu status (pressione Q se necessário para sair após o status ser mostrado)
$ sudo systemctl restart apache2
$ sudo systemctl status apache2
Agora você tem Apache2, MySQL e PHP rodando de modo nativo no ambiente linux. Você já pode acessar a página inicial do apache pra ver que ficou tudo ok: http://localhost No lugar de localhost poderia ser o ip/domain, caso esteja testando em ambiente online já.