Pular para o conteúdo principal

Blog no chaveiro

Com o Raspberry Pi Zero, podemos ter em nosso chaveiro um monte de coisas, como por exemplo, um Blog no Wordpress. Como usamos o Raspbian como sistema operacional, que é baseado no Debian, vamos mostrar como fazer um belo de um blog que você pode acessar de qualquer lugar, bastando levar o Raspberry (e teclado, mouse, plaquinha de rede) com você.

Primeiro vamos aos ingredientes, digo, o que precisamos para fazer o Blog funcionar.

Primeiramente, temos que ter um Raspberry Pi zero com o Raspbian instalado. Iremos fazer o processo por acesso remoto, mas é possível fazer localmente. Basta ter um hub USB com alimentação externa para plugar a interface de rede USB e o teclado e mouse, ligando o aparelho à TV usando a porta mini HDMI.

Não importa muito o procedimento, mas é preciso seguir os passos e todos eles serão em linha de comando. Vamos ter de usar o Bash.

Primeiro, vamos instalar o Wordpress e seus pacotes necessários:

$ sudo apt-get install wordpress wordpress-l10n curl apache2 mysql-server phpmyadmin

Ao instalar o servidor de banco de dados MySQL (mysql-server) será solicitado que você cadastre uma senha de administrador (usuário root). Também inclui-se um pacote de internacionalização do WordPress (wordpress-l10n), que oferece a interface inteira em português do Brasil. Incluí aqui um pacote extra chamado phpmyadmin, que se trata de uma interface web de administração do banco de dados. É necessário fazer o trabalho no banco de dados para a instalação do Wordpress, que pode ser tanto usando o PHPMyAdmin, como por linha de comando. No PHPMyAdmin é bem fácil, pois se resolve em poucos cliques. Mas por linha de comando não é necessário usar o PHPMyAdmin, e isso poupa espaço no cartão MicroSD do Raspberry. Caso você instale o PHPMyAdmin, será solicitada as credenciais de acesso do usuário root.

Depois de instalado o Wordpress é preciso configurar. O Wordpress já está no Raspberry, mas ainda não funciona. É como se tivesse chegado uma máquina em casa, colocado no lugar onde vai ficar, mas não foi ligados os cabos, nem feito os ajustes. O Wordpress que iremos configurar terá a função de permitir a atualização dos plug-ins e temas.

O Wordpress do Debian é um pacote que os arquivos do site são divididos em duas partes. A parte de configuração, plug-ins e temas está em uma pasta chamada /usr/share/wordpress e a parte de conteúdo está na pasta /var/lib/wordpress/wp-content/. Para fazer o bichinho funcionar tem que primeiro criar um site virtual, em que o servidor Apache localize e identifique estas pastas como um site só.

Para criar o site virtual no apache, temos que criar um arquivo de configuração no servidor. Para isso, digitamos o seguinte comando:

$ sudo nano /etc/apache2/sites-available/wp.conf

Sinceramente, eu prefiro o mcedit, mas tem gente que prefere editar o arquivo no vi ou no vim, ou mesmo no pico. Não importa o editor, temos que criar o arquivo de configuração, cujo conteúdo será esse aqui:

        Alias /wp/wp-content /var/lib/wordpress/wp-content
        Alias /wp /usr/share/wordpress
        <Directory /usr/share/wordpress>
            Options FollowSymLinks
            AllowOverride Limit Options FileInfo
            DirectoryIndex index.php
            Require all granted
        </Directory>
        <Directory /var/lib/wordpress/wp-content>
            Options FollowSymLinks
            Require all granted
        </Directory>

Vamos explicar linha a linha desse arquivo. As duas primeiras linhas criam os atalhos no servidor. Quando digitar http://[endereço do servidor]/wp/ o servidor irá enviar e processar os arquivos que estão em /usr/share/wordpress/ e quando acessar a pasta wp-content dentro de wp irá enviar e processar os arquivos contidos na pasta /var/lib/wordpress/wp-content. Mas podia ser tudo em uma pasta só? Podia, mas o Debian configura assim para funcionar em servidores, onde a pasta /var, que costuma ter os dados de serviços está em uma partição ou disco a parte, e como a parte de sistema do Wordpress é uma parte que não costuma ser muito mexida (na verdade não é bem assim, pois plug-ins, temas e o próprio Wordpress são atualizados constantemente). As sessões delimitadas com <Directory /…> e </Directory> são as configurações de cada pasta neste site.

O nome do site wp pode ser alterado para, blog, por exemplo. Basta substituir no Alias do arquivo de configuração de /wp para /blog e /wp/wp-content para /blog/wp-content, assim:

        Alias /blog/wp-content /var/lib/wordpress/wp-content
        Alias /blog /usr/share/wordpress

Agora é só habilitar o site no sistema digitando o seguinte comando:

$ sudo a2ensite wp

O próprio comando pede para reiniciar o servidor web, digitando o comando:

$ sudo service apache2 reload

Agora vamos configurar as opções do banco de dados e outras configurações do blog. É preciso neste arquivo informar as credenciais do Banco de Dados MySQL, mas também vamos acrescentar uma opção que vai nos permitir instalação e a atualização mais simples dos componentes do blog WordPress.

O arquivo de configuração do WordPress no Debian (e no Raspbian também) fica em ainda outro lugar. Fica no diretório padrão de arquivos de configuração do Linux, a pasta /etc, mais precisamente em /etc/wordpress/. O arquivo pode ser configurado por endereço do servidor, mas pode-se criar um arquivo padrão, que em um aparelho que não teria vínculo com servidor ou rede local, será o mais indicado. Assim criamos um arquivo padrão desta forma:

$ sudo nano /etc/wordpress/config-default.php

Pode substituir o nano por seu editor de texto favorito. O conteúdo do arquivo será o seguinte:

<?php define('DB_NAME', 'wordpress'); define('DB_USER', 'wordpress'); define('DB_PASSWORD', 'password'); define('DB_HOST', 'localhost'); define('WP_CONTENT_DIR', '/var/lib/wordpress/wp-content');
define('FS_METHOD', 'direct'); ?>

O conteúdo desse arquivo está no formato PHP, com a definição das constantes de configuração. A grosso modo, constante é uma variável fixa, que não é modificada. Explicando linha por linha temos as definições das seguintes constantes de configuração:

  • DB_NAME: o nome do banco de dados. Pra não haver confusão, mantenha o nome wordpress.
  • DB_USER: o nome do usuário do banco de dados. Pra não haver confusão, mantenha o nome wordpress também.
  • DB_PASSWORD: a senha do banco de dados. É aqui que você tem que alterar para segurança, para colocar uma senha mais segura.
  • DB_HOST: esta linha deve ser deixada como está. Informa que o banco de dados está sendo executado no mesmo computador em que está sendo rodado o servidor web, ou seja, localhost.
  • WP_CONTENT_DIR: é o local onde se encontra o conteúdo do blog. Conteúdo são os arquivos, as imagens, vídeos e outros arquivos pertencentes às publicações do blog. Também não precisa alterar este campo.
  • FS_METHOD: esta é a configuração extra que será usada para atualizar plug-ins e temas do blog, além do próprio sistema WordPress. É o método de gravação de arquivos a ser usado no sistema para baixar e gravar os arquivos atualizados. Tem FTP, SSH, e direct, que é a gravação direta dos arquivos, pois como está no próprio servidor, então…

Agora é hora de criar o banco de dados. Tem duas formas de fazer isso:

  1. A primeira é usando o PHPMyAdmin. Acesse de um navegador da web o endereço: http://[ip do seu raspberry]/phpmyadmin sendo que se o ip do seu Raspberry for 192.168.2.20 o endereço será http://192.168.2.20/phpmyadmin
    1. Digite no campo de usuário root e no campo de senha digite a senha que você cadastrou do servidor, quando instalou o servidor MySQL.
    2. phpmyadmin_1
      No painel, procure na parte da direita pelo item Usuários (ou Users, se estiver em Inglês) no painel de navegação superior.
    3. phpmyadmin_2
      Ao clicar no item Usuários, serão exibidos os usuários do servidor registrados. Clique em Adicionar Usuário (ou Add new User, em inglês)
    4. phpmyadmin_3
      Preencha os dados do usuário, como nome de Nome de usuário (wordpress), Host (é uma segurança adicional do MySQL que determina o acesso não apenas por usuário, mas por host de acesso, e neste caso pode-se usar o item localhost, pois o usuário somente irá acessar o banco de dados do próprio computador), Senha (a senha que você escolheu no arquivo de configuração, e que deve ser digitada duas vezes), e marque a opção Criar banco de dados com o mesmo nome e conceder todos os privilégios. Aí é só clicar no botão Executar, que o banco de dados e usuário serão criados.
  2. O outro método é por meio de linha de comando. Primeiramente teremos que criar um arquivo de Query, que é um arquivo de texto com a extensão sql e que contem as instruções para a criação do usuário e do banco de dados SQL a ser usados no blog WordPress. Para fazer isso, nem precisa de PHPMyAdmin. Só seguir os seguintes passos:
    1. Crie com o editor de texto o seguinte arquivo:
      # nano ~/wp.sql
    2. Preencha o arquivo com os seguintes dados:
      CREATE DATABASE wordpress;
      GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER
      ON wordpress.*
      TO wordpress@localhost
      IDENTIFIED BY 'password';
      FLUSH PRIVILEGES;
      Este comando tem como primeira linha a criação do banco de dados e concede o acesso total a ele ao usuário identificado pela senha fornecida. O Flush privileges é um comando para atualizar os privilégios, corrigindo falhas de sincronização.
    3. Por fim envie o comando ao banco de dados usando este comando:
      $ cat ~/wp.sql | sudo mysql --defaults-extra-file=/etc/mysql/debian.cnf

E o banco de dados será criado.

O blog está praticamente pronto, mas ao atualizar, instalar, alterar ou remover temas, traduções e plugins, o blog apresentará erro de criação de pastas. Isto acontece por conta dos privilégios do sistema de arquivos do Linux, e que o WordPress é instalado sob o usuário root, mas o usuário que opera o servidor apache é o usuário virtual www-data. Para corrigir isso, vamos mudar o ‘dono’ das pastas e dos arquivos do WordPress, ou seja, vamos dar o WordPress para o servidor Apache.

Para fazer isso vamos usar o comando chown. Este comando é um acrônimo de CHange OWNer (muda dono). E para fazer isso temos que fazer a alteração usando os privilégios que o sudo oferece. Assim fazemos:

$ sudo chown -R www-data:www-data /usr/share/wordpress
$ sudo chown -R www-data:www-data /var/lib/wordpress/wp-content

A opção -R faz com que todos os arquivos e pastas dentro também passem a ser de propriedade desse usuário. E porque o nome do usuário está duas vezes separado por dois pontos? Pois também muda o grupo vinculado ao arquivo e pasta, que também será do grupo www-data. Agora é só acessar http://[ip do raspberry]/wp e Concluir a configuração do novo blog WordPress, com o nome do site, e cadastramento do primeiro usuário.

Pronto, agora você é um feliz proprietário de um blog que cabe no Bolso!

Postagens mais visitadas deste blog

Configurando o Raspberry com o raspi-config

Um dos problemas que algumas distribuições Linux possuem é uma ferramenta de configuração unificada que permita fazer ajustes no sistema.O Raspbian possui uma ferramenta de configuração chamada raspi-config. É um menu em modo texto, onde podemos alterar configurações do sistema e do aparelho. Neste artigo, vamos mostrar todas as opções do raspi-config.Para acessar o raspi-config temos que acessar o terminal, ou seja, o Linux em modo texto, e invocamos o comando em modo privilegiado com o sudo:$ sudo raspi-config Irá aparecer a tela a seguir:Para acessar a opção, digite o número ou navegue usando as teclas de seta para cima e para baixo, confirmando a seleção teclando <Enter>. As opções de configuração estão distribuídas  nestas opções iniciais:Change User Password: para alterar a senha do usuário pi Hostname: para alterar o nome do dispositivo para a rede Boot Options: para alterar como será o processo de inicialização. Localisation Options: permite alterar as opções de internaciona…

Acabou a TV analógica? Com o Raspberry Pi, a velha TV ainda funciona!

No dia 29 de março, as transmissões analógicas de televisão foram encerradas na Grande São Paulo. Até 2023, todo o Brasil receberá o sinal de TV aberta apenas por transmissão digital. Mas isso não significa que seu velho televisor se transforme em mobília inútil e forte candidato a ir para o lixo. O Raspberry Pi pode dar uma sobrevida ao aparelho, pois conta com uma saída analógica de áudio e vídeo por meio de cabo RCA.

Se o seu televisor possui entrada auxiliar RCA, basta plugar um cabo RCA na TV, dependendo do modelo de Raspberry Pi que você possua. Para os Raspberry Pi de primeira geração é preciso um adaptador de P2 estéreo para RCA e um cabo AV, ou um cabo P2/RCA com um cabo RCA avulso para o sinal de vídeo. Para os Raspberry Pi de segunda geração é preciso um cabo P2 trifásico para RCA, e em alguns casos, de um adaptador para o plugue triplo. O cabo P2 trifásico é igual ao usado nos fones de celular e geralmente é us ado em filmadoras. 
Se o televisor não possui entrada auxiliar,…