MySQL + NGINX + PHP 8.2 no Ubuntu 22.04

Luan RodriguesLuan Rodrigues
4 min read

Vamos atualizar os pacotes do sistema.

Primeiro, vamos atualizar os pacotes existentes em seu sistema operacional. Para fazer isso, abra um terminal e digite os seguintes comandos:

sudo apt update
sudo apt -y upgrade

MySQL

Agora você pode instalar o pacote do servidor MySQL executando o seguinte comando:

sudo apt install mysql-server

Durante a instalação, você será solicitado a definir uma senha para o usuário "root" do MySQL. Escolha uma senha segura e lembre-se dela, pois você precisará dela mais tarde.

Passo 3: Inicie o serviço do MySQL Após a conclusão da instalação, o serviço do MySQL deve ser iniciado automaticamente. No entanto, se o serviço não iniciar, você pode iniciar manualmente usando o seguinte comando:

sudo service mysql start

Passo 4: Verifique o status do serviço MySQL Você pode verificar se o serviço do MySQL está em execução executando o seguinte comando:

sudo service mysql status

Se estiver em execução, você deverá ver uma mensagem indicando que o serviço está ativo.

Passo 5: Acesse o servidor MySQL Por padrão, a instalação do MySQL no Ubuntu usa autenticação baseada em senha. Você pode acessar o servidor MySQL usando o seguinte comando:

sudo mysql -uroot

Vamos alterar a senha do usuário root.

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'SUA-SENHA-AQUI';
FLUSH PRIVILEGES;

Após executar essas etapas, você terá o MySQL instalado e pronto para uso no seu sistema Ubuntu. Agora você pode criar bancos de dados, tabelas e executar consultas SQL no MySQL.

NGINX

sudo apt install nginx

Durante o processo de instalação, você será solicitado a confirmar. Pressione "Y" e depois "Enter" para continuar. Aguarde até que o processo de instalação seja concluído.
Depois de concluir esses passos, o Nginx estará instalado em seu sistema Ubuntu. Você pode verificar se o serviço está em execução digitando o endereço IP do seu servidor em um navegador da web. Você deve ver a página de boas-vindas padrão do Nginx, indicando que a instalação foi bem-sucedida.

PHP 8.2

Adicione o repositório, Ondřej Surý é um desenvolvedor que mantém um repositório com as versões mais recentes do PHP para Ubuntu. Você pode adicionar o repositório dele ao seu sistema usando os seguintes comandos:

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

Agora que você adicionou o repositório do Ondřej, você pode instalar o PHP 8.2. Use este comando para fazer isso:

sudo apt install php8.2

Depois de instalado, você pode verificar se o PHP 8.2 foi corretamente instalado com o seguinte comando:

php -v

Este comando deve exibir informações sobre a versão do PHP que está atualmente ativa no seu sistema. Se você fez tudo corretamente, deve ver que a versão 8.2 está instalada.

Vamos instalar os módulos para trabalhar com MySQL e com o FPM e alguns outros.

sudo apt install php8.2-cli php8.2-common php8.2-fpm php8.2-mysql php8.2-curl php8.2-memcached php8.2-dev php8.2-pgsql php8.2-sqlite3 php8.2-mbstring php8.2-gd php8.2-imagick php8.2-imap php8.2-opcache php8.2-xmlrpc php8.2-xml php8.2-zip php8.2-bcmath php8.2-soap php8.2-intl php8.2-readline unzip -y

Você pode instalar outros módulos PHP de acordo com suas necessidades, aqui tenho uma lista de alguns.

Vamos integrar o PHP e NGINX

Primeiro vamos fazer o backup do arquivo de configuração padrão do NGINX, execute o comando abaixo.

sudo mv /etc/nginx/sites-available/default /etc/nginx/sites-available/default_config

Feito o backup, vamos criar um novo arquivo de configuração.

sudo nano /etc/nginx/sites-available/default

Copia a configuração abaixo e cole no novo arquivo de configuração.

server {

  # Port that the web server will listen on.
  listen 80;

  # Host that will serve this project.
  server_name localhost;

  # Useful logs for debug.
  access_log /var/log/nginx/localhost_access.log;
  error_log /var/log/nginx/localhost_error.log;
  rewrite_log on;

  # The location of our projects public directory.
  root /var/www/;

  # Point index of your project.
  index index.php index.html;

  location / {
    # URLs to attempt, including pretty ones.
    try_files $uri $uri/ /index.php?$query_string;
  }

  # Remove trailing slash to please routing system.
  if (!-d $request_filename) {
    rewrite ^/(.+)/$ /$1 permanent;
  }

  # PHP FPM configuration.
  location ~* \.php$ {
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
    fastcgi_index index.php;
    fastcgi_split_path_info ^(.+\.php)(.*)$;
    include /etc/nginx/fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }

  location ~ /\.ht {
    deny all;
  }

}

Salve o arquivo ctrl+o em seguida enter e saia ctrl+x.

Vamos testasr a configuração que acabamos de fazer, ver se ficou tudo ok.

sudo nginx -t

Se tiver tudo ok, você deve ver uma imagem como esta

Agora vamos criar um arquivo chamado info.php para ver se nossa configuração funcionou.

sudo nano /var/www/index.php

Copie e cole o código abaixo.

<?php
phpinfo();

Volte ao navegador e acesse http://localhost/, desta vez você deve ver uma página com todas as informações do PHP 8.2.

0
Subscribe to my newsletter

Read articles from Luan Rodrigues directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Luan Rodrigues
Luan Rodrigues

PHP Developer, Laravel Lover ❤️, Entrepreneur, Founder @ Bee Delivery