Arquivo mensais:maio 2013

Aplicativos Windows em Perl

Então você quer escrever um programa em Perl que rode no Windows. Há diversas razões para isso. Mas a mais básica é querer entregar a alguém um programa que rode sem que haja necessidade de se expor a complexidade que a instalação do ambiente Perl poderia requerer.

Vou assumir que você tenha um conhecimento básico de Perl, e que tenha instalada, no seu computador, no mínimo a versão 5.16 do Strawberry Perl.

Toda a mágica é feita pelo módulo PAR::Packer, que instala um programa chamado pp no diretório de executáveis do Strawberry. Ele funciona empacotando o interpretador Perl e todos os módulos que o seu programa precisar.

O pacote PAR::Packer pode ser um tanto traiçoeiro para instalar. O artigo Packing Perl into a standalone executable mostra diversos métodos, erros e acertos para instalação do pacote. Eu vou mostrar o que funcionou para mim, que foi a instalação através do CPAN.

A instalação do pacote é simples pelo CPAN. Execute o cpan na linha de comando e inicie a instação:

E é isso. Se houver problemas, o artigo que indiquei acima pode ajudar. Ou grite nos comentários e eu ajudo conforme eu puder.

O processo de compilação é simples. Vamos escrever um programa mínimo bem simples para usarmos como teste.

Esse é um programa mínimo, e se o processo não funcionar com ele, provavelmente não vai funcionar com nada mais complexo. Vamos chamá-lo de hello.pl.

A compilação é tão simples quanto:

Depois disso será criado o arquivo hello.exe, que deve dar o mesmo resultado que o script ao ser chamado na linha de comando.

Agora vamos tentar um exemplo um pouco mais complexo, com uma GUI mínima.

Aqui usamos o módulo Prima que facilita a criação de interfaces gráficas em diversas plataformas. Se chamarmos este arquivo de hello_prima.pl, podemos criar o executável com o comando abaixo:

Execute o arquivo hello_prima.exe e você vai ver a janela abrindo. No entanto, também vai perceber que ele fica ligado à janela de prompt. Para que o programa seja desconectado do prompt, é necessário usar o parâmetro –gui junto ao pp.

Este artigo explica apenas o mínimo que se deve saber para criar executáveis Windows com o Perl. Se quiser se aprofundar mais, é essencial estudar as páginas dos módulos que são a primeira fonte de informações.

WordPress em servidor Nginx

Imediatamente depois que adquiri este domínio, tive que instalar o WordPress para ter um site funcional. No entanto, ao invés de fazer a instalação padrão, com o Apache, e sua biblioteca de PHP, preferi usar a solução mais moderna com Nginx e PHP-FPM, que é um gerenciador de processo PHP. O Nginx é um servidor mais leve que o Apache, e tem sido minha escolha nos últimos projetos. A prática comum é usar, com ele, FastCGI para comunicação com a aplicação. No caso, o PHP-FPM serve PHP através de FastCGI de maneira eficiente, e independente do servidor HTTP.

Vou descrever o processo que usei para instalar todo o sofware que está executando este site. O sistema operacional que uso é o Ubuntu LTS 12.04, mas pode ser adaptado para outros sem grandes dificuldades. Vou assumir que você tenha acesso ao terminal e possa instalar pacotes.

É necessário ter Nginx, MySQL e PHP-FPM instalados, e fazer download da última versão do WordPress no site.

Depois disso é necessário configurar o Nginx para servir o novo site. Vou assumir que o seu nome de usuário é usuario e que você vai hospedar em uma pasta chamada example.com na sua $HOME, /home/usuario. Substitua conforme sua necessidade. O domínio de exemplo vai ser example.com. Dentro da pasta example.com o conteúdo do site vai ficar em uma pasta chamada public. Também vale a pena criar uma pasta para guardar os arquivos de log.

Então você deve criar os seguintes diretórios:

O servidor nginx vai ser executado no Ubuntu pelo usuário www-data. Então os diretórios que em ele cria arquivos devem dar permissão de escrita. No caso, o único diretório em que isso é necessário é onde ele vai gravar os arquivos de log

O arquivo de configuração mais simples está abaixo:

Eu costumo chamá-lo de nginx.conf e mantê-lo no diretório do site, e criar um link simbólico no diretório de configuração do Nginx.

Depois disso é necessário recarregar o Nginx:

O site está ativo e pronto para a instalação do WordPress.

Agora é necessário baixar o arquivo com a última versão do wordpress

Você vai encontrar um diretório chamado wordpress. Mova todo o seu conteúdo para o diretório public. Durante a configuração do WordPress, o Nginx vai ter que editar o arquivo wp-config.php. Então vai ser necessário adicionar permissões de escrita para o grupo www-data.

Agora é necessário crir o banco de dados no MySQL. Acesse o banco com o comando abaixo, informando a senha que escolheu durante a instalação do MySQL.

Depois disso você pode criar o banco e dar permissões de acesso.

Em seguida vai ser possível acessar o banco de dados no terminal com a senha que você definiu agora.

A configuração no terminal já terminou. Agora é necessário abrir o site no navegador, e seguir as instruções. Você vai ter que informar o nome e senha do banco de dados, e escolher um nome de usuário e senha para acessar o WordPress. São poucos passos, e o processo é todo autoexplicativo.

Depois de todo esse trabalho, o site já estará funcionando, e é possível parar por aqui. Eu fui um pouco mais além, transformando a instalação do WordPress em uma rede de sites. Isso faz com que seja possível criar novos sites do tipo blog.example.com, ou outro.example.com. São sites independentes, mas que compartilham a mesma instalação. Se quiser aprender mais, acesse a página sobre como criar uma rede no WordPress.