Pra quem encontra dificuldade em “montar” o ambiente de desenvolvimento LAMP( Linux , Apache , MySQL e PHP ), esse procedimento auxilia de forma definitiva.
Em vez do MySQL utilizamos o MariaDB , nesse artigo há uma explicação das diferenças entre ambos: Diferenças entre MySQL e MariaDB .
Em resumo, são 6 Etapas !
1. Atualização do sistema e Instalação dos Pacotes Básicos
sudo apt update && sudo apt upgrade
sudo apt install apache2 php7.3 php-mysql mariadb-client mariadb-server
sudo chown -R $USER :$USER /var/www/html/
cd /var/www/html/
rm index.html
cat << EOF > index.php
<?php
echo "Tah funfando!";
?>
Depois acesse o endereço: http://localhost e verifique se está rodando o server.
Parte 2 - Conectando ao MySQL/MariaDB
sudo mysql_secure_installation
# Crie uma senha, ex.: 123456
# Responda as perguntas, ex.:
n
n
n
n
y
sudo mysql -u root -p
123456
Parte 3 - Conectar sem o sudo
sudo mysql -u root -p
123456
MariaDB [( none)]>
use mysql;
flush privileges;
update user set plugin = 'mysql_native_password' where User = 'root' ;
flush privileges;
exit
sudo systemctl restart mysql.service
sudo systemctl restart mariadb.service
mysql -u root
MariaDB [( none)]>
use mysql;
ALTER USER 'root' @'localhost' IDENTIFIED BY '123456' ;
exit
mysql -u root -p
Enter password:
MariaDB [( none)]>
<?php
class Connect {
static function conn (){
try {
if ( ! isset ( $pdo ) ){
$pdo = new PDO ( 'mysql:host=localhost;dbname=mysql' , 'root' , '123456' );
return $pdo ;
}
} catch ( PDOException $e ){
die ( "Sistema indisponivel, consulte o administrador" );
}
}
}
class Select extends Connect {
public function test (){
$sql = "SELECT Host,User,Password FROM user" ;
$query = self :: conn () -> prepare ( $sql );
$query -> execute ();
//return ( $query->rowCount() > 0 ) ? TRUE : FALSE;
return $query -> fetch ( PDO :: FETCH_ASSOC );
}
}
$obj = new Select ;
//echo ( $obj->test() ) ? "Tudo ok!" : "Falha.";
//echo "<pre>";
//var_dump( $obj->test() );
$r = $obj -> test ();
echo "HOST: " . $r [ 'Host' ];
echo '<br>' ;
echo "USER: " . $r [ 'User' ];
echo '<br>' ;
echo "PASS: " . $r [ 'Password' ];
?>
Parte 5 - Instalar o PHPMyAdmin
vim /etc/apt/sources.list
# copie a linha do main e altere para buster-backports
sudo apt install -t buster-backports phpmyadmin
# Se houver problema ao configurar o usuário tente novamente com Socket UNIX e com TCP/IP, se ainda permanecer, somente aborte
Depois acesse o endereço http://localhost/phpmyadmin e logue com usuário e senha do seu MariaDB.
Parte 6 - Instalar o Composer e o Laravel
Para instalar o Composer rode os comandos abaixo:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'c31c1e292ad7be5f49291169c0ac8f683499edddcfd4e42232982d0fd193004208a58ff6f353fde0012d35fdd72bc394') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
Para instalar o Laravel e adicioná-lo à sua variável $PATH
como alias
, rode:
composer -vvv global require laravel/installer
ls .config/composer/vendor/bin/laravel >> .bashrc
alias laravel = " ${ HOME } /.config/composer/vendor/bin/laravel"
exec $SHELL
laravel new blog
# primeira vez que executa demora mesmo, mas as próximas são mais rápidas
cd blog
php artisan serve
http://localhost:8000
Assista ao vídeo
VIDEO
Se você ainda não sabe, ou se sente inseguro em MySQL/MariaDB sugiro você fazer nosso Curso de Desenvolvimento Web do Zero - PHP & MySQL que além de MySQL/MariaDB você vai aprender PHP do jeito certo! Além de:
Programação Orientada a Objetos;
Wordpress;
Laravel;
Composer;
Psy Shell;
PHP-GTK;
Redirecionamento sem alterar a URL;
PHPMailer;
Deploy de PHP puro e de Laravel na Heroku;
E muito mais!
É recomendado também pra quem não sabe nada, pois o curso inclui: HTML e CSS , Javascript , Bootstrap , Jekyll , GitHub , Gitlab e Netlify .
Corre que ainda dá tempo! Clique aqui para saber mais sobre o curso .
laravel
php
mariadb
mysql
apache
phpmyadmin
Marcos Oliveira
Desenvolvedor de software