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!
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.
sudo mysql_secure_installation
# Crie uma senha, ex.: 123456
# Responda as perguntas, ex.:
n
n
n
n
y
sudo mysql -u root -p
123456
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'];
?>
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.
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
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:
É 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