Problema com banco de dados WordPress utf8mb4 e utf8

Se você assim como eu teve problemas quando foi publicar um site em WordPress e o servidor que você tinha que instalar não aceitava o novo utf8mb4, então acalme-se.

Esqueça tudo que você leu antes de chegar aqui, ou se esse foi seu primeiro artigo sobre esse problema, fique feliz, vou salvar sua vida.

Quando eu digo esqueça tudo, estou falando de soluções que envolvem comandos no MySQL ou um código PHP que vai converter as coisas.

Tem soluções pior ainda que te mandam pegar o arquivo exportado e sair substituindo alguns termos.

O caminho não é por aí, isso é gambiarra!

Existe uma solução bem mais profissional e envolve o uso de um plugin.

Isso mesmo, um plugin de WordPress que vai te salvar.

Nome dele: WP Migrate DB

Após instalar, acesse sua aba em Ferramentas > Migrar Banco de Dados

É interessante informar duas coisa a serem substituídas:

  1. O link do blog antigo e o link novo.
    Normalmente quando estamos desenvolvendo ele fica com nosso IP, normalmente http://127.0.0.1/www.meublog.com.br que será substituído pelo endereço oficial do blog.
  2. O endereço físico da pasta.
    Isso é mais por garantia, nem sempre é necessário, mas é melhor prevenir do que remediar. Então caso você utilize Windows e esteja publicando o blog em um linux, você vai substituir aquele D:/www/www.meublog.com.br pelo endereço físico do servidor linux, que normalmente é /var/www/ ou /public_html/ depende da sua hospedagem.

Finalizando isso você recebe um arquivo SQL que será importado na nova hospedagem.

Só isso, sem nada complicado e de forma profissional.

Deixe que o plugin se preocupa em arrumar as coisas pra você.

Instalando o Bittorrent Sync no Ubuntu Server

Instalar o Bittorrent Sync no Ubuntu é bem simples.

O bom do Sync é poder manter os projetos sempre sincronizados entre os membros da equipe, principalmente quando algum deles não tem acesso à rede local do servidor, como um home office por exemplo ou em uma empresa que tem duas sedes, como a que trabalho.

Sem mais delongas…

Adicionando o repositório.

sudo add-apt-repository -y ppa:tuxpoldo/btsync

Instalando o Bittorrent Sync

sudo apt-get update; sudo apt-get -y install btsync

Após a instalação aparecerá uma tela de configuração.

Recomendo fortemente que você faça isso nesse momento ou terá que fazer de forma muito complicada depois de forma manual.

A tela será mais ou menos como essa:

configuração-do-sync-no-ubuntu-server

 

Após isso siga o “wizard” e complete a instalação com as configurações de sua preferência.

Se por acaso você cometer algum erro, a dica que dou é desinstalar e instalar novamente, já que ainda não começou a utilizar.

Depois disso acesse o endereço do servidor dele e comece a compartilhar:

http://127.0.0.1:8888/

Se estiver em outra maquina na mesma rede é só ajustar o IP de acorco com o necessário.

É isso.

Boa sorte!

Localizar e substituir em grandes arquivos com sed

Hoje precisei localizar e substituir todas as ocorrencias de uma string dentro de um arquivo muito grande de um dump de um banco de dados MySQL de uma loja magento que mudou de domínio. Normalmente eu fazia isso com o Notepad++ que tem o melhor desempenho nessa tarefa em comparação com outros editores como Sublime Text, Dreamweaver, Bloco de Notas, etc. Porém alguma coisa estava saindo errado no processo e eu não estava conseguindo importar o banco. E como o arquivo era muito pesado não tinha possibilidade de eu encontrar a linha com erro e corrigir.

Então encontrei um comando que substitui lá no linux, chamado sed. Isso salvou minha vida e do cliente que estava atendendo.

O comando é bem simples, no meu caso, como queria mudar um domínio por outro, o comando que executei foi:

$ sed -i 's/dominioantigo.com/novodominio.com/g' database.sql

Como é uma expressão regular, recomendo escapar todos os símbolos presentes na string. No meu caso como o único símbolo era um ponto, e mesmo ele sendo um coringa nas expressões regulares, não achei que poderia prejudicar e no fim deu tudo certo, mas o correto seria eu ter executado este comando:

$ sed -i 's/dominioantigo\.com/novodominio\.com/g' database.sql

É uma solução prática para muitas tarefas, mas acho que o que mais acontece por aí que exige essa tarefa é mudança de domínio.

Instalando e ativando a extensão PHP mCrypt no Ubuntu

Alguns frameworks como o Magento precisam dessa extensão.

Mãos à obra!

Obter permissões de root

sudo su

Instalando as bibliotecas necessárias

apt-get install php5-mcrypt

Ativando a extensão

php5enmod mcrypt

Reiniciando o apache

service apache2 restart

Feito!

Configurando IP estático no Ubuntu Server

Para configurar um endereço estático no servidor seguiremos os passos:

Obter privilégios de root:

sudo su

Abrir o arquivo interfaces com um editor:

vim /etc/network/interfaces

Troque o texto abaixo:

auto eth0<br />
iface eth0 inet dhcp

Por:

auto eth0<br />
iface eth0 inet static<br />
dns-nameservers 8.8.8.8 8.8.4.4<br />
address 192.168.25.50<br />
netmask 255.255.255.0<br />
network 192.168.25.0<br />
broadcast 192.168.25.255<br />
gateway 192.168.25.1

Os endereços acima são baseados na minha rede, que é 192.168.25.xxx.

Você deve fazer de acordo com a sua.

Reinicie a interface de rede:

/etc/init.d/networking restart

Testando:

ping www.google.com

É isso.

Boa sorte!

Instalando a biblioteca cURL do PHP no Ubuntu

Alguns frameworks como a API do Facebook, sistemas como o Magento e vários outros precisam de algumas bibliotecas.

Passos para instalação:

1 – Obter permissões de root

sudo su

2 – Instalando as bibliotecas necessárias

apt-get install curl libcurl3 libcurl3-dev php5-curl

3 – Reiniciando o apache

service apache2 restart