MySQL + NGINX + PHP 8.2 no Ubuntu 22.04

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.

Did you find this article valuable?

Support Luan Rodrigues by becoming a sponsor. Any amount is appreciated!