Introdução ao wp-cli

O wp-cli é uma ferramenta de linha de comando voltada para usuários avançados realizarem tarefas administrativas relacionadas ao sistema de gestão de conteúdo (CMS) WordPress.
Este post se baseia na documentação original do software. Recomendo consultá-la para obter mais informações e clicar nos outros links, no decorrer do texto, para se aprofundar mais em algum tema.

O WP-CLI é a ferramenta de linha de comando oficial, disponível para interagir com e gerenciar seus sites na plataforma WordPress.

O objetivo do projeto é oferecer uma alternativa completa para adiministradores(as) de sites WordPress.
É equivalente ao painel administrativo de qualquer CMS, só que oferece as mesmas possibilidades na CLI (interface de linha de comando).
Como exemplo preliminar, veja como instalar e ativar um plugin no seu site, na linha de comando do seu servidor:


wp plugin install nome-do-plugin --activate

Grandes provedores de hospedagem, como o DreamHost oferecem a ferramenta.
Para começar a usá-la, basta acessar o servidor via SSH e começar a usar.
Quem usa Linux, também pode instalar a ferramenta na sua máquina de trabalho local.
O programa também está disponível para outras plataformas, como o FreeBSD, MacOS e Windows (neste caso, com algumas limitações).
Para acesso remoto, o WP-CLI local repassa os comandos à cópia instalada no servidor. Funciona de modo semelhante ao comando scp.

Desenvolvido por usuários avançados do WordPress, para atender às necessidades administrativas de outros heavy users.
No longo prazo, mesmo um novato pode descobrir os benefícios da linha de comando: mais eficiência e mais controle.

A sintaxe do wp-cli

Veja a explicação sobre um exemplo prático, abaixo:


wp plugin install

usage: wp plugin install ... [--version=] [--force] [--activate] [--activate-network]

Como o comando não se encontra completo (por que não foi indicado exatamente qual o plugin a ser instalado), ele retorna uma linha de ajuda rápida sobre a sintaxe a ser usada, na execução do wp:

  • wp plugin install — este é o comando em si. Falta indicar parâmetros e opções para que seja executado com sucesso.
  • <plugin|zip|url> — logo após o comando é necessário indicar de onde você pretende instalar o plugin: pelo nome, a partir de um pacote ZIP ou de uma URL na Internet.
  • [--version=<version>] — parâmetros sugeridos entre “[colchetes]” são opcionais. Neste exemplo, o que se quer dizer é que você pode indicar uma versão específica a ser instalada ou não.

Eventualmente, você pode incorrer na seguinte mensagem de erro:

Pass --path=`path/to/wordpress` or run `wp core download`.

Ela quer dizer que você precisa indicar exatamente em que local se encontra o seu site, dentro do provedor.
Lembre-se que, mesmo uma simples conta compartilhada em um provedor de hospedagem pode ter vários sites WordPress instalados.
E instalar coisas erradas em lugares errados pode ser muito ruim.
Segue alguns exemplos de uso do WP-CL.

Como instalar o WordPress pelo WP-CLI

Instalar a mais nova versão do WordPress é uma das coisas que você pode fazer com o aplicativo:


sudo -g www-data -i -- wp core download --path=/var/www/html/novo-blog

Creating directory '/var/www/html/novo-blog/'.
Downloading WordPress 4.8.1 (en_US)...
md5 hash verified: f3dd0e033519aa363eb07e13c6676e3c
Success: WordPress downloaded.

Acima, o comando é apenas “wp core download”. Como executei no meu servidor local (que tem configurações diferentes de provedores de hospedagem (até por que não é um)), precisei dar mais algumas informações ao WP-CLI:

  • sudo -g www-data — pedi para que o comando seja executado com os privilégios do grupo ‘www-data’.
  • --path=/var/www/html/novo-blog indiquei um novo diretório para baixar e instalar a última versão do WordPress.

Se o diretório, indicado no parâmetro ‘–path’ não existir, ele será criado e o WordPress baixado para lá.
Abra o navegador no diretório recém criado e inicie o processo de instalação do novo site.

Como atualizar todos os plugins do seu site WordPress

Você pode atualizar todos os plugins instalados no seu site com um único comando. Veja:


wp plugin update --all --path='meusite.com.br/blog'

Ativando modo de manutenção...
Fazendo download de (https://downloads.wordpress.org/plugin/akismet.3.3.4.zip)...
Descompactando a atualização...
Instalando a versão mais recente...
Removendo a versão antiga do plugin...
Plugin atualizado com sucesso.
Fazendo download de (https://downloads.wordpress.org/plugin/jetpack.5.2.1.zip)...
Descompactando a atualização...
Instalando a versão mais recente...
Removendo a versão antiga do plugin...
Plugin atualizado com sucesso.
Fazendo download de (https://downloads.wordpress.org/plugin/wpforms-lite.zip)...
Descompactando a atualização...
Instalando a versão mais recente...
Removendo a versão antiga do plugin...
Plugin atualizado com sucesso.
Desativando modo de manutenção...
+--------------+-------------+-------------+---------+
| name         | old_version | new_version | status  |
+--------------+-------------+-------------+---------+
| akismet      | 3.3.3       | 3.3.4       | Updated |
| jetpack      | 5.1         | 5.2.1       | Updated |
| wpforms-lite | 1.3.8       | 1.3.9.1     | Updated |
+--------------+-------------+-------------+---------+
Success: Updated 3 of 3 plugins.

Para mim, este processo durou 3 segundos. 😉

Assine este site

Todo dia eu aprendo alguma coisa nova sobre administração de servidores, WordPress, bancos de dados, Android etc.
Desde o começo, este site existe para compartilhar o que sei com outras pessoas.
Se quiser ser avisado(a) quando houver post novo no blog, inscreva-se abaixo!

Referências

https://wp-cli.org/.

Como instalar a interface de linha de comando do WordPress

Alguns usuários podem ter utilidade para uma interface de linha de comando, para realizar atividades administrativas relacionadas ao WordPress.
Para estes, existe o wp-cli — WordPress Command Line Interface, ou “interface de linha de comando do WordPress”.

Sua instalação é simples e leva menos de 30 segundos (verdade!).
Veja quais são os prerequisitos para baixar, instalar e usar o wp-cli:

  1. Ambiente UNIX-like, o que inclui o OSX, sua distro Linux favorita, FreeBSD e Cygwin (para usuários Windows). No ambiente Windows, há suporte limitado do aplicativo, mas é possível usá-lo.
  2. PHP — a versão 5.3.29 é requerida, mas as atuais distribuições GNU/Linux já estão usando versões superiores à 7.0.
  3. WordPress 3.7 ou superior.

Por fim, use o comando wget (ou o curl) para fazer o download do wp-cli.phar:


wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Se preferir usar o curl, faça assim:


curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Verifique se aplicativo já está funcionando adequadamente:


php wp-cli.phar --info

PHP binary: /usr/bin/php7.0
PHP version:    7.0.19-1
php.ini used:   /etc/php/7.0/cli/php.ini
WP-CLI root dir:    phar://wp-cli.phar
WP-CLI vendor dir:  phar://wp-cli.phar/vendor
WP_CLI phar path:   /home/apps
WP-CLI packages dir:    
WP-CLI global config:   
WP-CLI project config:  
WP-CLI version: 1.3.0

Para tornar o uso do aplicativo mais simplificado, vamos torná-lo executável:


chmod +x wp-cli.phar 

… e movê-lo para um diretório mais apropriado.


sudo mv wp-cli.phar /usr/local/bin/wp

Agora já será possível executá-lo, sem digitar “PHP” no começo:


wp --info

PHP binary: /usr/bin/php7.0
PHP version:    7.0.19-1
php.ini used:   /etc/php/7.0/cli/php.ini
WP-CLI root dir:    phar://wp-cli.phar
WP-CLI vendor dir:  phar://wp-cli.phar/vendor
WP_CLI phar path:   /home/apps
WP-CLI packages dir:    
WP-CLI global config:   
WP-CLI project config:  
WP-CLI version: 1.3.0

Se preferir, na hora de baixar o programa, é possível optar pela versão nightly (a versão dos desenvolvedores). Ela tem os recursos mais atuais, porém é menos testada do que a versão estável.


wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli-nightly.phar

Feito o download, basta repetir os procedimentos acima — tendo o cuidado de trocar o nome da versão estável pelo da nightly.


Sempre que quiser atualizar o wp-cli, use a opção ‘update’:


sudo wp cli update
[sudo] senha para justincase: 
Success: WP-CLI is at the latest version.

Se quiser passar a usar a versão nightly, é possível fazer a troca também através do ‘update’. Veja:


sudo wp cli update --nightly

Como configuração adicional, torne o aplicativo amigável ao recurso de autocompletar:


wget https://raw.githubusercontent.com/wp-cli/wp-cli/master/utils/wp-completion.bash

Use o source, para incluir o recurso no BASH, inclua a seguinte linha no seu .bashrc:


source /caminho/para/wp-completion.bash 

… ou seja, se este arquivo estiver no seu diretório home, use “source ~/wp-completion.bash” (sem as aspas).
Para que a alteração tenha efeito imediato, rode o comando:


source ~/.bash_profile

Agora, é só usar!

Assine este site

Todo dia eu aprendo alguma coisa nova sobre administração de servidores, WordPress, bancos de dados, Android etc.
Desde o começo, este site existe para compartilhar o que sei com outras pessoas.
Se quiser ser avisado(a) quando houver post novo no blog, inscreva-se abaixo!

Referências

https://make.wordpress.org/cli/handbook/installing/.
Leia mais sobre WordPress, neste site.

Como instalar o WordPress em 5 minutos

O WordPress é um dos aplicativos web mais usados para criar sites e (principalmente) blogs.
Como CMS (Content Management System ou sistema de gestão de conteúdo), ele permite iniciar um site instantaneamente, pronto para receber conteúdo em imagens, textos, vídeos etc.
Neste texto, vamos tratar de um dos vários métodos de instalação do aplicativo — baseado nas instruções oficiais.
Não se esqueça de clicar nos links, no decorrer do texto e na seção de referências (no final), para obter informações mais específicas sobre algum assunto.

Pré-requisitos para instalar o WordPress

O famoso passo a passo de instalação do WordPress em 5 minutos funciona e é verídico.
Só que há alguns poréns…
O procedimento, em si — caso você já tenha alguma experiência de instalação de aplicativos web PHP/MySQL/MariaDB anterior — pode ser realizado em poucos minutos.
Entretanto, se esta for a sua primeira vez a instalar um aplicativo deste tipo, não se preocupe com o tempo.
Na minha primeira vez, tive que apagar todos os arquivos instalados e começar de novo, para que ficasse exatamente do jeito que eu queria.
Se preferir, muitos provedores oferecem o método de instalação “com um clique” (One-Click install) — é o ideal para novatos.
Neste sentido, eu recomendo o DreamHost.

DreamHost panel - one-click installs
DreamHost: Seleção de aplicativos para instalar no site.

Veja quais itens você precisa providenciar para agilizar o procedimento de instalação:

  • Além do servidor LAMP pronto para receber o CMS, é necessário ter uma conta no MySQL/MariaDB.
  • É necessário fazer o download do aplicativo, aqui: https://wordpress.org/download/
    Se preferir a última versão, clique aqui, para baixá-la.
    Outra opção, bastante cômoda, é baixar diretamente no local em que vai instalar, através do comando wget, como veremos adiante.

Procedimento de instalação do WordPress

Acompanhe este passo a passo:

  1. Crie um banco de dados para ser usado pelo WordPress, no seu servidor web, bem como o nome de usuário (MySQL ou MariaDB), com privilégios para alterá-lo.
    Se você não tem acesso ao servidor de banco de dados, obtenha estas informações com o administrador do sistema, informando que pretende usar o WordPress.
    Neste caso, as informações que você precisa são:

    • nome do banco de dados
    • nome do usuário do banco de dados
    • senha do usuário do banco de dados
    • o hostname (nome do servidor) em que se encontra o banco de dados e
    • (opcionalmente) o prefixo que irá acompanhar cada nome de tabela criado para uso do wordpress neste site.
  2. Dentro do local em que você deseja que o seu site WordPress fique, baixe e extraia o pacote do WordPress:
    
    wget https://wordpress.org/latest.zip
    
    tar xvzf latest.zip
    
    mv wordpress/* wordpress/.* .
    
    rmdir wordpress
    
  3. Agora, abra o seu website no navegador — se tiver sido extraído no local certo, o instalador irá aparecer.
    como instalar o WordPress
    Esta tela serve para informar sobre os dados que serão requeridos na sequência.
    As informações serão usadas para preencher o arquivo wp-config.php — que também pode ser editado manualmente.
  4. Na próxima tela, preencha o formulário com os dados que foram mencionadas no passo 1.
    como instalar o WordPress
  5. A esta altura o site já está instalado. Mas você vai precisar de um nome de usuário para poder acessar e administrar o seu site.
    como instalar o WordPress
  6. Esta é a última tela da instalação, onde é dado um feedback da criação do seu novo usuário.
    como instalar wordpress
  7. Este é o painel de administração do seu site WordPress.
    como instalar wordpress
    A partir daqui, já é possível inserir novo conteúdo, instalar novos temas, adicionar usuários ao sistema etc.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Referências

https://codex.wordpress.org/Installing_WordPress.

Teste o seu servidor para saber se ele suporta as últimas versões do WordPress

O sistema de gestão de conteúdo WordPress não é dos mais exigentes, em termos de recursos de hardware e software, mas para ter um desempenho melhor há algumas recomendações mínimas que o seu host precisa satisfazer.
Embora o hardware e a largura de banda disponível para o tráfego sejam fundamentais para o desempenho do WordPress, como CMS (Content Management System ou sistema de gestão de conteúdo), neste post vou me ater aos requisitos de software no servidor.
Se tiver dúvidas, em algum ponto, clique nos links ou nas tags no texto para obter maiores especificidades sobre algum tema.

O que você precisa ter para poder testar o seu servidor

Servidores podem ser testados à distância, online ou através de sites especializados neste tipo de tarefa.
Por questões de segurança, contudo, muitos administradores procuram esconder informações sobre as versões dos softwares instalados nos seus sistemas.
Entretanto, um dos requisitos para instalar o WordPress é ter acesso SSH ao servidor — a menos que você vá realizar todos os procedimentos em uma máquina local.
Portanto, neste texto, partimos do pressuposto de que você tem acesso SSH (Secure SHell) ao seu servidor, que é o suficiente para obter as informações de que necessita.

O sistema operacional

Você pode instalar tudo o que precisa, para dar suporte ao WordPress em uma máquina Windows, MacOS, UNIX (FreeBSD) etc.
O sistema operacional Linux, contudo é o mais usado — pelo baixo custo e pela confiabilidade.
Há alguns testes propostos neste artigo, que levam em conta uma instalação Linux.
Estes testes pode ser realizados em outros sistemas operacionais, com pouca ou nenhuma edição.

Em outras palavras, para o fim deste artigo, o sistema operacional que você tem aí, não é tão relevante.

Os requisitos de sistema

Localmente, você pode instalar, por conta própria, um servidor LAMP (acrônimo que corresponde a Linux, Apache, MySQL/MariaDB e PHP).
Se tiver interesse em montar um servidor deste tipo, veja alguns artigos que podem te ajudar:

De maneira resumida, Para rodar a versão mais atual do WordPress, com segurança e máximo desempenho, você precisa ter suporte aos seguintes softwares (e versões):

  • Servidor web Apache ou Nginx.
  • PHP na versão 7 ou superior.
  • Um destes 2 bancos de dados:
    • MySQL 5.6 ou superior
    • MariaDB 10.0 ou superior
  • suporte a HTTPS (não é obrigatório, mas é bom ter).

É possível usar outros servidores web (com suporte a PHP e MySQL/MariaDB), tal como o Lighttpd. Além disto, versões atuais do WordPress (na data deste post) ainda funcionam em versões anteriores do PHP.
Contudo, a melhor relação entre alta performance e segurança, só serão obtidos sob aqueles requisitos listados acima.
Vale ressaltar que as versões mais antigas do PHP e do MySQL já atingiram seus tempos de vida e já não recebem atualizações de segurança — o que pode expôr o seu site a vulnerabilidades e a ataques de crackers.
Por último – e não menos importante – este site usa e recomenda o DreamHost, como provedor de hospedagem.
O DreamHost faz uso das versões mais atuais dos softwares requeridos, tem suporte a HTTPS e dispõe de instalação automática do WordPress (one-click install), o que pode te poupar muito tempo.

Como verificar se as versões dos softwares requeridos estão presentes

Acesse o servidor localmente (com um terminal) ou remotamente (via SSH) e siga os procedimentos abaixo.
Para verificar o PHP e sua versão:


php --version

PHP 7.0.19-1 (cli) (built: May 11 2017 14:04:47) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.19-1, Copyright (c) 1999-2017, by Zend Technologies

Para verificar se o MySQL está presente e sua versão:


mysql --version

mysql  Ver 15.1 Distrib 10.1.23-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Acima, note que o comando ‘mysql’ exibe a versão do MariaDB.
Isto ocorre, por que é este último que se encontra instalado e não o MySQL.
Ainda assim, pelo motivo de facilitar a transição, o comando mysql ainda funciona em instalações de bancos de dados (exclusivamente) MariaDB.
Para conferir o MariaDB:


mariadb --version

mariadb  Ver 15.1 Distrib 10.1.23-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Por fim, em sistemas Linux atuais (com o systemd) é possível conferir o status do Apache, como este comando:


systemctl status apache2

● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: 
   Active: active (running) since Mon 2017-07-24 09:58:25 -03; 3 days ago
  Process: 16914 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/
 Main PID: 597 (apache2)
    Tasks: 7 (limit: 4915)
   CGroup: /system.slice/apache2.service
           ├─  597 /usr/sbin/apache2 -k start
           ├─16930 /usr/sbin/apache2 -k start
           ├─16931 /usr/sbin/apache2 -k start
           ├─16932 /usr/sbin/apache2 -k start
           ├─16933 /usr/sbin/apache2 -k start
           ├─16934 /usr/sbin/apache2 -k start
           └─17106 /usr/sbin/apache2 -k start

Outra forma de verificar a versão do Apache, está descrita neste post.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Referências

Como destacar a sintaxe do seu código em um blog wordpress

O uso de realce de sintaxe, destaque de sintaxe ou, em inglês, syntax highlighting é muito usado para tornar a leitura de código fonte de scripts, programas ou comandos mais fácil.
Neste texto, pretendo mostrar 3 métodos práticos para obter este efeito na plataforma do WordPress (não sei como se faz isto no blogger etc.)
Um deles envolve o uso de plug in e pode ser o mais fácil de implementar. As outras 2 formas são mais leves, porém carecem da sofisticação do uso de um plug in específico.
Só para ficar claro, os métodos listados só foram testados no modo de escrita “texto puro”. Como nunca usei o editor “Visual” do WordPress, não sei se funcionam lá. 😉

Instale o plugin Syntax Highlighter Evolved

Desenvolvido pelo desenvolvedor russo, Alex Gorbatchev, o Syntax Highlighter Evolved, permite aplicar a sintaxe ao seu código, respeitando as mais diversas linguagens de programação.
De código aberto e com desenvolvimento ativo, o plug in pode ser instalado com o toque de um botão na tela, como qualquer outro.
syntax highlighter evolved screenshot
Faça busca pelo plug in na tela de instalação do painel administrativo do WordPress ou se dirija à pagina oficial do desenvolvedor, dentro da plataforma.
Este recurso é muito eficiente para destaque a cada linha de seu código. Além disto, funciona bem com a maioria dos temas do WordPress e fica bem na tela do celular.
Infelizmente, ele tem algumas desvantagens que precisam ser consideradas:

  • É um plug in a mais. Se você já está usando outros, este será mais um para adicionar problemas segurança e lentidão ao seu site.
  • Torna seu site lento. Mesmo que você não esteja exibindo qualquer código fonte em uma página, o plug in e seu javascript são sempre carregados.

O autor é bastante ativo no WordPress, responde bem bug reports e mantém o seu trabalho atualizado (embora já seja um código estável) — o que pode minimizar os problemas com segurança.

Configure o seu CSS para exibir código

Outra solução, descrita aqui, consiste em adicionar uma tag PRE, ao seu CSS — que da destaque geral ao código.

Exemplo de resultado da tag <pre>
long some_function();
/* int */ other_function();

/* int */ calling_function()
{
    long test1;
    register /* int */ test2;

    test1 = some_function();
    if (test1 > 0)
          test2 = 0;
    else
          test2 = other_function();
    return test2;
}

Como é possível ver, no exemplo acima, não há realce da sintaxe de cada peça do código, com o uso da tag ‘pre’.
O realce é para o código, como um todo.
Para aplicar esta solução, entre na sua conta do WordPress como administrador e entre no Painel de Controle da plataforma.
Em seguida, selecione o item Aparência/Editor, na coluna da esquerda.
captura de tela do wordpress - Aparência
Acrescente o seguinte código, ao arquivo ‘styles.css’:

pre {
    margin-bottom: 22px;
	font-family: Consolas, Monaco, "Courier New", Courier, monospace;
	font-size: 12px;
	overflow: auto;
	background: #eee;
	padding: 10px;
	border: 1px solid #ddd;
	font-style: normal;
    font-weight: normal;
}

Depois de salvo, a tag poderá ser usada, da seguinte forma, dentro de qualquer texto:

<pre>
long some_function();
/* int */ other_function();

/* int */ calling_function()
{
long test1;
register /* int */ test2;

test1 = some_function();
if (test1 > 0)
test2 = 0;
else
test2 = other_function();
return test2;
}
</pre>


Use a tag <code>

Este método, tal como o anterior, pode não ficar muito bom na tela de um celular — dependendo do tema usado.
Mas, se tudo funcionar visualmente bem e você ficar satisfeito(a), use o que achar melhor.
O uso do ‘code’, obedece as mesmas regras do uso do ‘pre’.
Este método tem a vantagem de que você não precisa configurar ou instalar nada. É só usar.
Veja um exemplo do uso:
<code>
long some_function();
/* int */ other_function();

/* int */ calling_function()
{
long test1;
register /* int */ test2;

test1 = some_function();
if (test1 > 0)
test2 = 0;
else
test2 = other_function();
return test2;
}
</code>


Veja o resultado, abaixo:
long some_function();
/* int */ other_function();

/* int */ calling_function()
{
long test1;
register /* int */ test2;

test1 = some_function();
if (test1 > 0)
test2 = 0;
else
test2 = other_function();
return test2;
}


A tag ‘code’ é descrita no arquivo ‘style.css’ e você pode fazer alterações nela, se quiser.
Se prefere usar algum outro método para realçar o código que você publica no WordPress, conte-nos mais sobre o assunto, nos comentários.