Tutoriais

Como instalar e configurar VPS para WordPress com PHP 8.2, Nginx, WP-CLI e MariaDB no Ubuntu 22.04 – SempreUpdate

Neste tutorial, vamos dar continuidade na série de tutoriais sobre como configurar uma VPS com o Ubuntu 22.04 para

Como instalar e configurar VPS para WordPress com PHP 8.2, Nginx, WP-CLI e MariaDB no Ubuntu 22.04 – SempreUpdate

Neste tutorial, vamos dar continuidade na série de tutoriais sobre como configurar uma VPS com o Ubuntu 22.04 para criar um servidor web com Nginx, MariaDB para uso com WordPress. Se você ainda não revisou a segurança da sua VPS, recomendamos que leia o artigo sobre como melhorar a segurança de uma VPS para WordPress. Como estamos criando um servidor do zero para hospedar sites WordPress com Nginx, tenha muita atenção e não pule nenhuma etapa. Antes de tudo lembre-se de verificar o outro tutorial sobre VPS Nginx WordPress: configurando a segurança inicial da VPS em 2023.
O Nginx é um servidor web de alto desempenho que pode lidar com grandes volumes de tráfego. Ele foi criado em 2002 por Igor Sysoev, um engenheiro russo, para resolver o problema do C10K, que se refere à capacidade de um servidor de lidar com 10.000 conexões simultâneas.
O Nginx se diferencia do Apache por usar um modelo de processamento assíncrono e baseado em eventos, em vez de um modelo baseado em threads. Isso significa que o Nginx pode servir mais requisições com menos recursos e menor latência.
Segundo alguns benchmarks, o Nginx consegue executar 1000 conexões de conteúdo estático simultaneamente com o dobro de velocidade do Apache utilizando menos memória. Em relação à execução de conteúdos dinâmicos, ambos possuem a mesma velocidade.
O Nginx é uma melhor opção para quem possui um site mais estático, que precisa de uma entrega rápida e eficiente de arquivos como imagens, CSS e JavaScript. Além disso, o Nginx pode ser usado como um proxy reverso em frente ao Apache, o que permite aproveitar as vantagens de ambos os servidores.
Para começar vamos instalar o NGINX no Ubuntu, e para isso iremos utilizar um repositório famoso que é mantido por Ondrej Surý. O Ubuntu por si só fornece o pacote do NGINX, porém costuma ser desatualizado. Desta forma, para garantir a versão mais recente do NGINX no Ubuntu e para gantir que tudo esteja atualizado, execute os comandos abaixo no Terminal.
Com este comando vamos adicionar o repositório citado do NGINX ao Ubuntu:
Antes de instalar o NGINX, vamos verificar se algo no sistema é necessário ser atualizado antes de instalarmos o NGINX. Isso evita problemas de depêndencia:
Agora, vamos instalar o NGINX no Ubuntu com o comando abaixo:
Para verificar a versão instalada execute o comando abaixo:
Se você acessar o seu site através do IP vai visualizar a tela abaixo:
Note que ao ver a tela anterior o servidor foi inicialmente instalado corretamente. Agora, vamos precisar configurar para termos um servidor otimizado e rápido. Assim, seguindo essas instruções, você terá um servidor web com NGINX totalmente otimizado para WordPress.
Para iniciar a configuração do WordPress precisamos de algumas informações adicionais. A primeira é o número de núcleos do seu processador e também o limite de arquivos aberto que o seu servidor suporta. Saiba que essas duas informações são essenciais para que você evite sobrecarga desnecessárias.
Para saber exatamente quantos núcleos o seu servidor tem execute o comando abaixo:
Agora, vamos verificar qual o limite de arquivos abertos o seu servidor suporta:
Agora que já temos as informações primordiais para um servidor web com nginx para WordPress, execute o comando abaixo e ajuste os campos do arquivo que vamos destacar.
Ao abrir a configuração padrão do NGINX, você verá o seguinte conteúdo, o exemplo abaixo é o modelo padrão, sem as modificações que precisamos fazer.
Para começar a nossa configuração do NGINX focada no WordPress troque o seguintes campos:
No meu exemplo, o arquivo vai ficar com meu usuário emanuel, 8 núcleos de CPU e o limite de arquivo do meu servidor é 1024.
Ainda no mesmo arquivo precisamos descomentar a linha multi_accept on, ou seja, remova o # da linha para que o arquivo esteja conforme exemplo abaixo:
Agora, observe o próximo bloco de configuração do NGINX, o Basic Settings:
Vamos descomentar a linha sendfile on; pois queremos fazer upload de arquivos no WordPress. E ao mesmo tempo vamos inserir a linha keepalive_timeout 15; para que os visitantes do site não fiquem conectados por mais de 15 segundos. Afinal, a conexão de um site até o seu carregamento final não deve ultrapassar 2 segundos. Dito isso, 15 segundos é um bom tempo.
Agora no bloco http descomente a linha server_tokens e confira está com o parâmetro off. Isso é muito importante por questões de segurança. Logo abaixo inseria a linha client_max_body_size 64m; essa linha garante que os arquivos enviados não sejam maiores que 64m.
Observe que se você vai subir vídeo talvez tenha que ajustar para 2g que remete a 2gigas ou pode inserir 2048m que também quer dizer 2gigas. Desta forma, ajuste como preferir, se quiser também pode reduzir o tamanho.
Agora vamos para o GZIP, descomente a linha gzip on; e a linha gzip_proxied any; ele permite que nossas páginas sejam compactas antes mesmo de ir ao navegador do usuário. Inclusive o campo gzip_comp_level deve ser definido de 1 até 9, no exemplo está em 5. Saiba que quanto maior o nível compactação mais processamento será consumido. Isso quer dizer que se você deixar em 9 o consumo de CPU do seu servidor vai aumentar. Em seguida, desmarque a linha gzip_types Ajuste o GZIP no NGINX e teste. Isso vai deixar o seu site mais rápido, veja como você deve deixar o bloco abaixo:
Resumo do arquivo com tudo o que já ajustamos até agora.
Agora, salve o arquivo pressionando Ctrl + X e digite Y para salvar as alterações.
Como estamos usando o PHP-FPM para este tutorial e estamos focados em ter um site WordPress rápido com NGINX, precisamos configurar tudo corretamente. Assim, em breve vamos configurar o cache de página vamos usar o FastCGI e o cache de objetos vamos usar o Redis.
Vamos verificar se uma linha de parâmetros para o FastCGI está no arquivo abaixo, se não estiver adicione.
Edite este arquivo:
Caso a linha abaixo não exista adicione-a. Lembre-se, linha parecida não é igual, deve ser exatamente a linha abaixo:
Agora, salve o arquivo pressionando Ctrl + X e digite Y para salvar as alterações.
Primeira validação do NGINX, precisamos conferir se tudo está funcionando corretamente, execute o comando abaixo:
Se tudo estiver correto como mostramos até agora, verá a seguinte mensagem:
Se você apagou alguma } sem querer ou inseriu algum item errado, a mensagem vai informar a linha e o erro, basta refazer este tutorial. Por isso, nada de pressa.
Uma vez que a mensagem diga que os testes foram um sucesso, reinicie o Nginx com o comando abaixo:
Para instalar o PHP 8.2 execute o comando abaixo. Você pode mudar a numeração do versionamento do PHP para uma versão anterior se preferir. Neste exemplo, vamos instalar o PHP 8.2 em nosso servidor NGINX para ser utilizado pelo WordPress. Neste momento o PHP 8.2 segue com suporte beta no WordPress, mas a maioria dos plugins já aderiram as versões. Assim, caso você não queira usar a versão 8.2 pode trocar para qualquer versão de sua escolha.
A PPA é a mesma para todas as versões, a partir do PHP 7.4 até o PHP 8.2, todos os pacotes estáveis podem ser encontrados na mesma PPA.
Adicione o repositório do PHP através do comando abaixo:
Agora, vamos instalar os pacotes do PHP 8.2, todas as extensões do PHP para WordPress estão listadas, você não precisará de mais nada.
Agora que já instalamos tudo o que precisamos vamos para a configuração do PHP 8.2 e do PHP-FPM.
Edite o arquivo do PHP com o comando abaixo:
A primeira coisa a fazer é mudar os campos abaixo www-data pelo seu usuário. O mesmo que foi utilizado na configuração inicial do NGINX. Caso tenha dificuldades em localizar visualmente os campos, utilizar a busca do nano através do atalho Ctrl + w e digite um trecho do campo e pressione ENTER:
Agora, salve o arquivo pressionando Ctrl + X e digite Y para salvar as alterações.
Em seguida, vamos editar o arquivo php.ini, vamos ajustar alguns campos nele também:
Agora, com o Ctrl + w localizar estes dois campos para ficar igual ao exemplo abaixo. Observe que se você vai subir vídeo talvez tenha que ajustar para 2g que remete a 2gigas ou pode inserir 2048m que também quer dizer 2gigas. Desta forma,ajuste como preferir, se quiser também pode reduzir o tamanho.
Agora, salve o arquivo pressionando Ctrl + X e digite Y para salvar as alterações.
Por fim, vamos verificar se você configurou o PHP 8.2 e o PHP-FPM corretamente com o comando abaixo:
Você deve ver uma mensagem parecida com este exemplo:
Agora que já atualizamos os arquivos do PHP, precisamos reiniciar, para reiniciar o PHP-FPM execute o comando abaixo:
Agora que instalamos e configuramos o Nginx e o PHP-FPM, precisamos conferir se os serviços estão ativos e funcionando, para isso vamos utilizar o comando htop. No terminal, execute o comando abaixo:
Para facilitar a localização dos processos, já que o htop atualiza rapidamente utilize o atalho no teclado Ctrl + M, isso vai exibir os processos que estão consumindo memória na sua VPS.
Você vai ver algo como o exemplo abaixo:
Observe que nas linhas 2, 6 e 7 estão ativos o php-fpm8.2 e na linha 12 o nginx. Então, tudo está funcionando.
Como eu testei todas as configurações do Nginx focadas no WordPress, não vamos precisar fazer testes de funcionando no Nginx em si, porque se você não pulou nenhum etapa, e se seguiu todas as recomendações aqui propostas, nada vai dar errado.
Então, vamos remover as configurações padrões e criar as configurações do Nginx para WordPress. Para remover execute o comando abaixo:
Agora, vamos abrir novamente o arquivo de configurações:
Com este arquivo aberto, utilize o atalho Ctrl + w e localize a linha:
Abaixo dela, pule uma linha e cole o seguinte trecho:
Agora, salve o arquivo pressionando Ctrl + x e escrevam Y para sim e salvar as alterções que fizemos. Vamos agora validar o Nginx com o comando abaixo:
Estando tudo certo, execute o comando abaixo para reiniciar o Nginx:
Por fim, compare o arquivo com o que vou deixar abaixo. Neste exemplo, temos o arquivo do nginx.conf otimizado e pensado para funcionar com o WordPress:
Agora que já temos o nosso servidor Nginx para ser usado com o WordPress, vamos instalar o WP-ClI para facilitar tudo no que diz respeito ao WordPress.
Wp-cli é uma ferramenta de linha de comando que permite gerenciar um site WordPress sem usar o painel de administração. Com o Wp-cli, você pode instalar, atualizar, ativar, desativar e configurar plugins, temas, usuários, opções e muito mais. O Wp-cli é útil para automatizar tarefas, fazer backups, migrar dados e testar código.
Para usar o Wp-cli, você precisa ter acesso ao servidor onde o WordPress está instalado e ter o PHP e o MySQL instalados. Você também precisa baixar o arquivo wp-cli.phar e torná-lo executável. Depois disso, você pode executar comandos do Wp-cli usando a sintaxe wp <comando> <subcomando> <opções>.
Por exemplo, para instalar um plugin chamado hello-dolly, você pode usar o comando wp plugin install hello-dolly --activate. Para ver a lista de todos os comandos disponíveis, você pode usar o comando wp help.
O Wp-cli é uma ferramenta poderosa e versátil que pode facilitar a vida de quem trabalha com WordPress. Se você quiser saber mais sobre o Wp-cli, você pode visitar o site oficial https://wp-cli.org/ ou ler a documentação https://make.wordpress.org/cli/handbook/.
Agora, vamos executar o primeiro comando. Com o Terminal aberto execute o comando abaixo para irmos a sua pasta home:
Nesta etapa, vamos fazer o download do WP-CLI, entramos nesta pasta, pois é nele que o download será feito:
Em seguida, com o download concluído, vamos verificar se a ferramenta foi baixada corretamente e se há algum problema, execute o comando abaixo:
Agora, para que tudo funcione adequadamente, precisamos dar permissões de execução e criar um patch com o comando abaixo:
Pronto! Se a sua saída foi neutra, tudo está correto. Para tentar executar o WP-CLI e verificar se ela está com permissão pasta digitar apenas o comando abaixo:
Nesta etapa vamos usar a versão disponível no Ubuntu, não há problemas e não precisamos de repositórios extras. Além disso, os repositórios anteriores também contém alguns pacotes que podem ser atualizados para que tudo funcione com a versão do Nginx que instalamos. Assim, caso você verifique que há atualizações após instalar, pode fazer sem nenhum receio. Mas, você também pode instalar o MySQL se preferir, os comandos de criação serão os mesmos.
Vamos explicar um pouco os motivos que escolhemos o MariaDB!
Se você está procurando um banco de dados relacional de código aberto para o seu projeto, é provável que você já tenha ouvido falar do MySQL e do MariaDB. Esses dois sistemas de gerenciamento de banco de dados (SGBD) são muito populares e têm muitas semelhanças, mas também algumas diferenças importantes que você deve conhecer antes de escolher um deles.
Neste artigo, vamos explicar o que é o MySQL e o MariaDB, como eles surgiram, quais são as principais diferenças entre eles e quais são as vantagens e desvantagens de cada um. Assim, você poderá tomar uma decisão mais informada e adequada ao seu caso.
O MySQL é um SGBD relacional criado em 1995 por Michael Widenius, David Axmark e Allan Larsson. Ele foi um dos primeiros bancos de dados de código aberto a ganhar popularidade na web, sendo usado por grandes empresas como Facebook, Google, Twitter e Wikipedia.
O MySQL é baseado na linguagem SQL (Structured Query Language), que é uma linguagem padrão para manipular dados em bancos de dados relacionais. O MySQL permite criar, consultar, atualizar e deletar dados em tabelas que se relacionam entre si por meio de chaves primárias e estrangeiras.
O MySQL tem uma licença dupla: ele pode ser usado gratuitamente sob a licença GNU GPL (General Public License), que exige que qualquer software que use o MySQL também seja de código aberto; ou ele pode ser usado comercialmente sob uma licença paga da Oracle, que é a empresa que atualmente mantém o MySQL.
O MariaDB é um fork do MySQL, ou seja, um projeto derivado do código-fonte original do MySQL. Ele foi criado em 2009 por Michael Widenius, o mesmo fundador do MySQL, depois que a Oracle comprou a Sun Microsystems, que era a dona do MySQL na época.
Widenius criou o MariaDB para garantir que o MySQL continuasse sendo um projeto de código aberto e livre de restrições comerciais da Oracle. Além disso, ele queria adicionar novas funcionalidades e melhorias ao banco de dados, como mais mecanismos de armazenamento, mais extensões e plugins, mais otimizações e correções de bugs.
O MariaDB é totalmente compatível com o MySQL, ou seja, ele usa a mesma linguagem SQL, os mesmos comandos, os mesmos protocolos e os mesmos arquivos de dados. Isso significa que você pode migrar facilmente do MySQL para o MariaDB sem alterar o seu código ou os seus dados.
O MariaDB tem uma licença única: ele é totalmente gratuito e de código aberto sob a licença GNU GPL. Isso significa que você pode usar o MariaDB para qualquer propósito, sem pagar nada à Oracle ou à MariaDB Foundation, que é a organização sem fins lucrativos que mantém o MariaDB.
Apesar de serem muito parecidos, o MariaDB e o MySQL têm algumas diferenças importantes que podem afetar o seu desempenho, a sua segurança e a sua funcionalidade. Vejamos algumas delas:
Não há uma resposta definitiva para essa pergunta, pois depende das características e necessidades do seu projeto. No entanto, podemos fazer algumas considerações gerais:
Em resumo, o MariaDB é uma versão melhorada e atualizada do MySQL, que oferece mais vantagens em termos técnicos e ideológicos. No entanto, o MySQL ainda é uma opção válida para quem prefere a estabilidade e o suporte da Oracle ou quem já está acostumado com ele.
Para instalar o MariaDB execute o comando abaixo:
Ou se por algum motivo preferir o MySQL execute o comando abaixo para instalar:
Primeiro vamos alterar as configurações do usuário root do MariaDB. Alterando isso, vamos aumentar a segurança do nosso servidor de banco de dados. O modo de segurança do MariaDB fará com que seja solicitado uma senha para o root. Saiba que por padrão não há senha definida para o root do MariaDB e nem do MySQL. Inclusive você pode instalar o MariaDB ou MySQl.
Agora, execute o comando abaixo para entrarmos no modo root do MariaDB ou MySQL e execute o comando abaixo:
Neste passo, vamos ajustar a segurança. Execute o comando abaixo para alterar a forma como o root é autenticado, vamos pedir que seja solicitado uma senha extremamente segura. Afinal, você não pretende que o banco de dados do seu site seja exposto na internet e vendido no lado obscuro da internet.
Para isso execute o comando abaixo, troque o campo senha, mantendo as aspas pela senha que você desejar. Por questões de segurança, e para que o comando não gere erros posterior, utilize uma senha com no mínimo 30 caracteres, utilize sempre letras maiúsculas e até caracteres especiais. Recomendo que armazene ela em um bloco de notas ou na nuvem em seus arquivos. Dito isso, saiba que vamos precisar dela para entrar no modo root posteriormente.
Não se expante com o tamanho da senha, em questões de segurança nos dias atuais é melhor pecar pelo excesso do que ter mais trabalho com falta de segurança, não “dê vacilo”, o seu servidor estará exposto na web.
Caso você execute o comando e seja exibido algum erro no campo senha, saiba que certamente é a segurança da senha que não foi aceita, aumente o comprimento da senha.
Com tudo correto e aceito, execute o comando abaixo para sair:
Agora, vamos entrar no modo seguro e fazer o que precisamos. Execute o comando abaixo para isso:
A saída será algo como o exemplo, lembre-se responder Y e N conforme o exemplo:
Pronto! A partir de instalação base da nossa VPS Nginx + PHP 8.2 + MariaDB para o WordPress está instalada. No próximo capítulo vamos para as configurações.
Receba as novidades


Entre com os dados da sua conta!



source

About Author

4tune