WordPress como subdomínio em proxy reverso no apache

Instalar o WordPress com proxy reverso no apache é algo trivial, como qualquer outra aplicação, agora, se o site WordPress for chamado por um subdomínio e você necessitar utilizar Links Permantes com mod_rewrite, ai pode complicar um pouco.

Howto: Como habilitar Links Permanentes (permalinks mod_rewrite) no WordPress como Proxy Reverso do Apache

1. Chamada do subdominio:
[php]

ServerName sub.host.com.br
ServerAlias www.sub.host.com.br

ProxyPass / http://192.168.0.10/sub/
ProxyPassReverse / http://192.168.0.10/sub/

CustomLog /var/log/httpd/sub-access.log combined
ErrorLog /var/log/httpd/sub-error.log

[/php]

2. Habilite Links Permanentes no WordPress com a estrutura desejada (Configurações – Links Permanentes)

É muito utilizado esta estrutura: http://sub.host.com.br/%postname%/ para aparecer somente o nome do post após a URL, ou seja, ativando links permanentes não será mais exibido algo como ?page_id=10 para o identificar o post ou page.

Caso não execute os passos seguintes, ao acessar um post ou page qualquer, será exibido este erro:
Not Found
The requested URL /index.php was not found on this server.

3. O pulo do gato é utilizar um plugin da Universidade de Stanford:

Salve este arquivo na pasta wp-content/plugins com o nome de su_reverse_proxy.php e ative-o na interface de administração do WordPress.

4. Na raiz da instalação do seu WordPress, edite o arquivo .htaccess, este passo é muito importante.

# vim .htaccess

Você vai alterar somente a linha do RewriteRule, que deve estar assim:

[php] RewriteRule . /index.php [L] [/php]

E deverá ficar assim:

[php] RewriteRule . /sub/index.php [L] [/php]

Claro, se estiver usando nginx, existe soluções mais elegantes:
https://wordpress.org/plugins/nginx-compatibility/
https://wordpress.org/support/topic/permalink-problem-on-nginx

Configuração inicial pfSense com modem ADSL – WAN

Neste post, será mostrado como configurar seu Firewall pfSense para se conectar à Internet e atuar como roteador para sua rede local. Iremos utilizar uma máquina física para instalar o pfSense, embora funcione muito bem em uma máquina virtual.

Iremos configurar o firewall para negar todo o tráfego de entrada e utilizaremos Network Address Translation (NAT) para o nosso tráfego de saída.

Faremos também algumas configurações avançadas de NAT para acessar o modem ADSL que estará configurado como Bridge.

Continue reading

Howto: Configurando o PKP – Open Conference Systems – OCS para enviar e-mail SMTP pelo Google

Para usar o SMTP do GMAIL para enviar mensagens a partir do Sistema de Administração de Conferências PKP-OCS.  Você pode usar a seguinte configuração no arquivo config.inc.php.

[php]
; Use SMTP for sending mail instead of mail()
smtp = On

; SMTP server settings
smtp_server = “ssl://smtp.gmail.com”
smtp_port = 465

; Enable SMTP authentication
smtp_auth = PLAIN
smtp_username = “user@gmail.com”
smtp_password = “password”
[/php]

Note que o usando o Gmail para entregar mensagens, resultará que todos os e-mails enviados, irá conter no “de”, a sua conta do Gmail, em vez do usuário OCS que iniciou a mensagem. Você pode querer considerar a aplicação de patches http://pkp.sfu.ca/bugzilla/show_bug.cgi?id=8085 para permitir incluir um prefixo de e-mail, explicando que a mensagem está sendo enviada em nome de sua conferência e não precisa ser respondida.

Esta mesma configuração serve para o sistema PKP – Open Journal Systems.

Note também que você pode ter que configurar senhas específicas do Gmail – https://support.google.com/accounts/answer/185833?hl=en para mais detalhes.

Streaming de áudio, vídeo e fotos de um compartilhamento Samba no Android

Sei que existem diversas aplicações para isso, mas compartilho aqui uma solução simples e eficiente.

Como muitos por ai, eu também tenho um servidor NAS que contém todas as minhas mídias (filmes, músicas, fotos, documentos, etc), acessível através de um compartilhamento Samba em computadores, tablets, celulares e TVs, através da minha rede local wifi.

XMBC funciona muito bem para exibir todas as mídias diretamente na TV, no entanto, eu estava procurando uma maneira de transmitir a mídia diretamente para um tablet Android e para o Google TV – Rikomagic MK802 IV que utilizo em uma TV antiga, que não possui recursos de smartTV. E encontrei esta solução gratuita:

  • Instale ES File Explorer (gratuito) a partir do Google Play.
  • Instale RockPlayer Lite (gratuito) a partir do Google Play

Com o ES File Explorer aberto, vá até a aba LAN (Rede), em seguida, clique em ‘New’, e então em ‘Servidor’ (menu).

Digite o endereço do servidor/ IP, em seguida, uma barra, então o nome do compartilhamento e as credenciais, se necessário.

Pressione OK, agora você deve ser capaz de ver todos os arquivos em seu compartilhamento Samba com facilidade.

Quando você abrir em um arquivo de filme (avi/mpg/wmv etc), você receberá um prompt para escolher qual player de vídeo você deseja usar. Selecione RockPlayer Lite, e seu filme vai começar a rodar em poucos segundos.

Eu testei isso para uma variedade de tipos de arquivo de filme e tamanhos e RockPlayer Lite funciona muito bem, inclusive avançando e retrocedendo através do filme.

Para filmes em HD, tem que se esperar um pouco mais para seja carregado em buffer antes de começar a rodar (por exemplo uns 10 segundos), uma vez que começar, fica bastante estável (sem buffer).

Eu também testei essa abordagem em um Galaxy Tab P1000 (Android 2.2) e funciona da mesma forma). Incrível!

E, claro você também pode usar esta solução para ouvir música e ver fotos do seu servidor, em qualquer lugar ao alcance do seu sinal wifi 🙂

Como estender o acesso à rede para outros cômodos, ou outros prédios de forma barata?

Recentemente um cliente solicitou uma solução para estender seu acesso à Internet em de sua principal para um anexo, o que ele chamou de jardim-office, que nada mais é que um espaço separado da casa principal, cerca de uns 90 metros.

Havia um roteador sem fio na casa principal, mas o sinal chegava fraquíssimo no jardim-office que possuía muros e paredes com vidro.

O lançamento de um cabo UTP do roteador para os equipamentos do anexo teria sido tecnicamente a melhor solução, mas considerando que isso envolveria passagem de canaletas ou eletrodutos que influenciaria diretamente na estética do ambiente e caso a opção fosse utilizar dutos subterrâneos o custo para escavação elevaria o valor do projeto, esta solução foi descartada.

Uma opção mais barata seria a de instalar um ponto de acesso sem fio externo ao lado da casa com a antena direcionada ao anexo, mas, dada a construção do anexo (paredes duplas de tijolos) não havia a chance de que a intensidade do sinal dentro da anexo fosse confiável.

Wireless Bridge

Outra opção sem fio teria sido a de criar uma ponte (bridge) entre a casa principal e um anexo, como mostrado no diagrama abaixo:

Esta opção também teria sido uma boa solução, mas isto envolveria custos significativos em termos de equipamentos e mão de obra na montagem dos dispositivos externos.

Vale destacar que quando se deseja interligar pontos que estão até 10 km um do outro, Wireless Bridger é de fato uma excelente solução de baixo custo para fornecer serviços de telecomunicações e internet.

HomePlug

Na verdade, a solução de bridge teria sido a solução preferida, mas para o fato de que havia uma conexão elétrica de alimentação ligando o anexo à casa principal, isso nos permitiu usar a rede de cabeamento elétrico existente para fornecer acesso à internet no jardim-office por cerca de R$ 100,00.

Esta solução é conhecida como HomePlug (ou Powerlan).

Uma solução HomePlug é composta por pelo menos dois adaptadores de rede: um adaptador primário e até 15 adaptadores escravos.

O adaptador primário se conecta através de um cabo de rede a uma das portas Ethernet na parte de trás do roteador existente. Ele também se conecta a uma tomada elétrica de alimentação. Os adaptadores escravos são ligados à rede elétrica nas áreas onde o acesso à rede é necessário.

Existem diferentes tipos de adaptadores escravo. Para o anexo optamos por um adaptador escravo que combinava as funções de um ponto de acesso sem fios e portas ethernet, facilmente encontrado nos sites chineses como o aliexpress e dealextreme (Tenda PW201A, GEEYA H25C1 e outros).

Isso proporcionou o acesso sem fio ao anexo juntamente com a capacidade de conectar dispositivo com fio, como uma impressora ou um PC por exemplo. O diagrama abaixo mostra a solução que foi implementada para cliente

Nos últimos anos, dispositivos HomePlug aumentaram sua velocidade e faixa sobre a qual eles operam de modo que atualmente eles podem suportar serviços de dados intensivos, como streaming de vídeo e jogos.

HomePlug nunca vai ser capaz de vencer a velocidade ou a segurança de uma conexão direta via cabo ou a conveniência de uma conexão sem fio padrão. No entanto, em casa ou no escritório onde a instalação de cabeamento seria muito caro ou complicado de implementar, HomePlug deve ser considerado como uma alternativa viável.

Mais um cliente satisfeito!

Como aumentar o HD no VMware ESXi 5.x

  1. Pare a máquina virtual..
  2. Verifique se tem Snapshot, caso não tenha vá para o passo 5
  3. Botão direito do mouse -> Snapshot -> Snapshot Manager…
  4. Pressione o botão “Delete All” e depois em “Close”
  5. Botão direito do mouse sobre a VM -> Edit Settings
  6. Selecione “Hard Disk 1”, no caso o seu virtual disk
  7. Vá em “Disk Provision”, “Provisioned size” e digite o tamanho do disco em GB
  8. Dê “Play” na VM
  9. Inicie (dê boot) pelo Gparted (baixe aqui)
  10. Redimensione o disco, usando o espaço adicional
  11. Reinicie sua máquina, e pronto… já estará com o espaço em disco novo.
  12. Caso for Windows, expanda o disco pelo próprio windows, no gerenciador de disco do windows.

Simples e Objetivo.

OBS: No site da vmware eles dizem que após fazer snapshot não se pode mais redimensionar o disco, veja a citação: “Warning: In current versions of ESX/ESXi 2.5, 3.x, 4.x, and ESXi 5.x, do not extend a disk that has snapshots.” – http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=994

Todos os direitos deste tutorial ao colega:
Ciro Júnior
Analista de Tecnologia da Informação – IFTO

Caso queira fazer a mesma coisa com o VirtualBox, veja este tutorial:

 

Configurar a variável de ambiente JAVA_HOME no Mac OS X

Recentemente eu precisei executar uma aplicação Java no Mac, que rodaria a partir do terminal e para isso foi necessário configurar a variável JAVA_HOME. Segui o seguinte procedimento:

  1. Inicie o terminal
  2. Crie e/ou edite o arquivo ~/.bash_profile
    vi ~/.bash_profile
  3. Cole o seguinte trecho, tudo em uma única linha:
    export JAVA_HOME=/System/Library/Frameworks/
    JavaVM.framework/Versions/CurrentJDK/Home
  4. Salve, saia do VI, reinicie o terminal e execute o seguinte comando:
    echo $JAVA_HOME

Como recuperar como checked um campo armazenado como array – PHP

Só dicas simples ultimamente né. Vamos lá:

Imagine que você tenha um formulário HTML com alguns campos checkbox, ou seja, que permitem múltiplos valores.

[php]

Marque o turno:
Matutino
Vespertino
Noturno

[/php]

No banco, você terá um campo que irá armazenar as opções selecionadas em formato de array separados por vírgula (1,2,3). A dúvida é, como que você irá recuperar os valores selecionados de forma que ao editar este formulário os respectivos campos checkbox’s venham marcados? Muito simples, basta utilizar as funções implode() e explode(), veja:

Para inserir em formato de array separados por vírgula basta dar um implode():

[php]$turno = implode($_POST[‘turno’],”,”);[/php]

Ai basta utilizar esta variável ($turno) no seu INSERT.

Na query que irá recuperar os dados, utilizamos explode() para separar os elementos do array:

[php]$turno = explode(“,”, $row[“turno”]);[/php]

E na hora de marcar os campos do formulário com os registros recuperados vamos utilizar a função do PHP chamada in_array, com um operador ternário:

[php]
/>Matutino
/>Vespertino
/>Noturno
[/php]

Pronto, dessa forma os valores que vierem da variável $turno que coincidirem com o value do checkbox será marcado como ativo.

Seguindo o mesmo princípio, você pode querer trazer em formato de relatório os valores selecionados, como no exemplo abaixo:

( X ) MATUTINO        (  ) VESPERTINO        ( X ) NOTURNO

É a mesma coisa, basta dar um echo na variável no espaço onde será preenchido o X:

[php]( < ?php echo (in_array('1',$turno))?('X'):('');?> ) MATUTINO ( < ?php echo (in_array('2',$turno))?('X'):('');?> ) VESPERTINO ( < ?php echo (in_array('3',$turno))?('X'):('');?> ) NOTURNO[/php]

Fonte: Handling checkbox in a PHP form processor

Eliminar linhas em branco no Excel

Se você precisa apagar linhas em branco em um intervalo, essa dica pode ajudar:

  1. Selecione o intervalo;
  2. Pressione a tecla F5, e clique na opção “Especial” e selecione a opção “em branco (blanks)” e clique em “OK”;
  3. Escolha a opção “excluir–linha inteira” no menu editar.

Caso estiver usando o office 2007 (ou maior), o item 3 será ligeiramente diferente:
em “Home/Cells” selecione a opção “Delete–Delete cells” e “Entire row”.

E seja feliz! 🙂

Howto: Tunelamento de servidor SVN via ProxyPass – Apache

Caso: Você já tem um servidor SVN em sua empresa rodando de boa internamente e agora precisa colocar o serviço SVN para acesso externo. Existe n maneiras de se fazer isso, porém caso você esteja trabalhando com proxypass para disponibilizar conteúdo da sua rede interna à internet, esta é a forma de fazer com o Subversion.

[php]

ServerName svn.dominio.com
ProxyPass / http://svn.dominio.com/

ProxyPassReverse / http://svn.dominio.com
Order Deny,Allow
Allow from all
Satisfy Any

[/php]

Pronto, já pode-se conectar com seu cliente SVN.
Fonte: http://silmor.de/proxysvn.php