como configurar php 5.6 com mysql8 e nginx no ubuntu 20.04
mysql
sudo apt update
sudo apt install nginx
sudo apt install mysql-server
sudo mysql_secure_installation
Altere o arquivo /etc/mysql/mysq.conf.d/mysqld.cnf colocando default-authentication-plugin=mysql_native_password abaixo de [mysqld]
[mysqld]
default-authentication-plugin=mysql_native_password
reinicie o mysql, crie o usuário e o banco de dados
sudo service mysql restart
sudo mysql
crie o usuário e permissões
CREATE USER 'usuario'@'%' IDENTIFIED WITH mysql_native_password BY 'senha';
GRANT ALL PRIVILEGES ON *.* TO 'usuario'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
instalar php5.6
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install -y php5.6
se precisar de módulos, veja os disponíveis com
sudo apt-cache search php5*
identifique os que necessita no seu projeto e instale com
sudo apt install nome_do_modulo
configure php com nginx
crie/edite o arquivo para o projeto/dominio, substituindo o 'meuprojeto.local' pelo dominio a ser utilizado
sudo nano /etc/sites-enabled/meuprojeto.local
substitua no texto abaixo o server_name, o caminho root, lembrando que deve apontar para a pasta webroot do projeto:
server {
listen 80;
server_name meuprojeto.local;
#adapte para o caminho publico do seu projeto
root /home/x/dev/meuprojeto/app/webroot;
index index.php;
location / {
#essa configuração funciona para primeiro buscar o nome do arquivo
# e não encontrando, direciona para ser tratado pelo arquivo index
# é como se substitui o .htaccess do apache e pode ser necessário
# alterar de acordo com o framework php ou o projeto
try_files $uri $uri/ /index.php?url=$is_args$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php5.6-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
teste a configuração do nginx
sudo nginx -t
e se não houver erros reinicie o nginx
sudo service nginx restart