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.