sexta-feira, 22 de fevereiro de 2013

Comandos úteis para PostgreSQL - Parte 1

Olá galera,

Tou passando rapidinho para falar de alguns comandos úteis que me salvaram.

Restaurar backup

psql seu_banco -f backup.sql

Converter um Shapefile para SQL

root@notebook:/usr/lib/postgresql/9.1/bin# shp2pgsql -s 4326 -W latin1 /home/seu_usuario/Downloads/estados_brasil_WGS84.shp > /home/seu_usuario/Downloads/estados_brasil_WGS84.sql

Criar um índice espacial

CREATE INDEX estados_idx ON estados USING gist(the_geom);

Grande abraço a todos e bom fim de semana.

quinta-feira, 21 de fevereiro de 2013

Configurando o ProxyHost do Openlayers no Ubuntu 12.10

Olá galera,

Há um tempo atrás, tive a oportunidade de trabalhar em um projeto utilizando Openlayers e GeoServer. Enquanto estive consumindo as camadas WMS não tive problemas, mas eles começaram quando utilizei as WFS. Pesquisando pela internet descobri que se tratava do ProxyHost. Após muita procura me deparei com uma solução para Windows no blog do nosso saudoso Fernando Quadros.

Para configurá-lo no Ubuntu seguiremos alguns passos.

O primeiro deles é fazer o download do ProxyHost no link http://svn.openlayers.org/trunk/openlayers/examples/proxy.cgi

Altere o proxy.cgi e acrescente mais 4 parâmetros ('localhost:8080', 'localhost', '127.0.0.1:8080', '127.0.0.1') sendo que o resultado final do trecho alterado deve se parecer com o abaixo:

    allowedHosts = ['www.openlayers.org', 'openlayers.org', 'labs.metacarta.com', 'world.freemap.in', 'prototype.openmnnd.org', 'geo.openplans.org', 'sigma.openplans.org', 'demo.opengeo.org', 'www.openstreetmap.org', 'sample.azavea.com', 'v2.suite.opengeo.org', 'v-swe.uni-muenster.de:8080', 'vmap0.tiles.osgeo.org', 'www.openrouteservice.org', 'localhost:8080', 'localhost', '127.0.0.1:8080', '127.0.0.1']
  

Utilizando o terminal, acesse o diretório onde você fez o download do proxy.cgi e copie ele para a pasta cgi-bin. Além disso, vamos setar a permissão adequada.

sudo cp proxy.cgi /usr/lib/cgi-bin
sudo chmod a+x proxy.cgi

Vamos habilitar o CGI no Apache

sudo gedit /etc/apache2/mods-enabled/mime.conf

Remova o # da linha AddHandler cgi-script .cgi

Reinicie o Apache

sudo /etc/init.d/apache restart

Agora você pode setar o ProxyHost na sua aplicação web e testar.

OpenLayers.ProxyHost = "/cgi-bin/proxy.cgi?url=";

Um abraço a todos e até a próxima.

sábado, 16 de fevereiro de 2013

Instalando e configurando o GeoServer com Tomcat 7 e Oracle Java 7

Olá galera,

Bem após alguns dias sem postar nada devido a uma rotina pesada de programação, estou voltando para mostrar como rodar o GeoServer com Tomcat 7 e Oracle Java 7.

Para instalar o Oracle Java, basta executar os comandos abaixo:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-jdk7-installer

Aceitaremos os termos da licença e vamos aguardar a instalação ser concluída.

O próximo passo é setar o JAVA_HOME como variável de ambiente.

sudo gedit /etc/bash.bashrc

No final do arquivo, acrescentaremos as linhas abaixo:

  export JAVA_HOME= /usr/lib/jvm/java-7-oracle
  export PATH=$PATH:$JAVA_HOME/bin
  

Para que as alterações tenham efeito, reinicie a máquina e no terminal execute o código abaixo:

echo $JAVA_HOME

O resultado deve ser algo como /usr/lib/jvm/java-7-oracle.

Anexei abaixo algumas telas comprovando o funcionamento do plugin do Java no navegador.

Agora que o Java está funcionando, seguiremos com o Tomcat.

sudo apt-get install tomcat7

Logo após a instalação não será possível inicializar o Tomcat devido a um ajuste.

sudo gedit /etc/init.d/tomcat7

Encontre o trecho JDK_DIRS="/usr/lib/jvm/default-java ${OPENJDKS} /usr/lib/jvm/java-6-openjdk /usr/lib/jvm/java-6-sun" e altere o trecho em negrito para que o resultado final seja JDK_DIRS="/usr/lib/jvm/default-java ${OPENJDKS} /usr/lib/jvm/java-6-openjdk /usr/lib/jvm/java-7-oracle"

Com as correções efetuadas, inicie o Tomcat 7.

sudo /etc/init.d/tomcat7 start

Acessando pelo browser com a url http://localhost:8080, você terá como resultado a tela abaixo.

Agora vamos a nossa última etapa. Faça o download da última versão estável do Web Archive (WAR) através do link http://geoserver.org/display/GEOS/Stable.

Descompacte o arquivo baixado e usando o terminal acesse o diretório onde ele se encontra. Agora é copiar o arquivo para o diretório específico.

sudo cp geoserver.war /var/lib/tomcat7/webapps

Reinicie o Tomcat para que as alterações tenha efeito.

sudo /etc/init.d/tomcat7 restart

Abra o browser e inserindo a url http://localhost:8080/geoserver, teremos as telas abaixo. OBS: O login para acessar o GeoServer é admin e a senha é geoserver

Um abraço a todos e até a próxima.

terça-feira, 5 de fevereiro de 2013

Criando Virtual Host com Apache no Ubuntu 12.10

Olá galera,

A dica de hoje é bem básica mas muito útil para quem costuma desenvolver usando o Apache como servidor web.

Supondo que estejamos usando um framework feito em PHP e que seu acesso padrão seja http://localhost/aplicacao/public. Vamos criar um Virtual Host específico para essa aplicação.

Criaremos o arquivo aplicacao dentro do diretório /etc/apache2/sites-enabled.

sudo gedit /etc/apache2/sites-enabled/aplicacao

Dentro do arquivo criado colocaremos o seguinte conteúdo:

  <VirtualHost *:80>
     ServerName aplicacao
     DocumentRoot /var/www/aplicacao/public
     <Directory /var/www/aplicacao/public>
        Options FollowSymLinks Indexes MultiViews
        AllowOverride All
     </Directory>
   </VirtualHost>
  

Próximo passo é adicionar uma entrada chamada aplicacao ao lado de localhost.

Obs: Não altere os outros parâmetros presentes no arquivo.

sudo gedit /etc/hosts

O trecho alterado no arquivo deve ter ficado similar ao código abaixo.

    127.0.0.1       localhost aplicacao
  

Reiniciaremos o Apache para que as alterações passem a funcionar.

sudo /etc/init.d/apache2 restart

Pronto! Nossa aplicação agora pode ser acessada através da url http://aplicacao.

Um abraço a todos e até a próxima.

sexta-feira, 1 de fevereiro de 2013

Corrigindo erro do VirtualBox após atualização do kernel no Ubuntu 12.10

Olá galera,

Todas as vezes que ocorre uma atualização de kernel no Ubuntu e precisamos utilizar o VirtualBox, nos deparamos com a tela abaixo.

Até o Ubuntu 12.04, resolviamos esse erro através do terminal executando o comando abaixo.

sudo /etc/init.d/vboxdrv setup

No Ubuntu 12.10, mesmo executando o comando é exibido uma mensagem de erro.

Isto ocorre porque no Ubuntu 12.10 os pacotes linux-headers-* não são mais instalados por padrão.

Eu costumo utilizar o Synaptic para corrigir o problema mas nada impede de você utilizar o terminal. O primeiro passo é sabermos qual foi a última versão do Linux kernel image e procurarmos a versão dos pacotes linux-headers-* correspondentes no Synaptic.

Após instalar os pacotes que estavam faltando, basta voltarmos ao terminal e executar novamente o comando sudo /etc/init.d/vboxdrv setup

Com todos os procedimentos executados corretamente, o VirtualBox deve voltar a funcionar normalmente.

Bem pessoal espero que essa dica tenha sido útil. Bom final de semana a todos e até a próxima.

Sublime Text 2 no Ubuntu 12.10

Olá galera,

Há uns dias atrás, meu amigo Biguá comentou comigo sobre um framework em PHP chamado Laravel. Como não o conhecia, resolvi estudar para fazer uma avaliação.

Até o presente momento, estou gostando muito do que estou vendo e em breve devo postar alguma coisa. Mas porque contei sobre o framework ?! Foi vendo os vídeos dele que percebi como os desenvolvedores preferem utilizar o Sublime Text 2 como editor por possuir vários recursos. Decidi utilizá-lo já que possui vários pacotes para diversas linguagens e frameworks.

O primeiro passo é fazer o download no site http://www.sublimetext.com/2. Baixe a versão de acordo com o Ubuntu que você estiver utilizando. No meu caso, como é uma versão 64 bits, fiz o download da versão correspondente.

Após fazer o download, vamos descompactar e renomear o diretório gerado para SublimeText2.

Utilizando o terminal, moveremos o diretório SublimeText2 para /usr/lib. Segue abaixo o comando utilizado aqui no meu caso.

sudo mv /Downloads/SublimeText2 /usr/lib/

Para chamar o Sublime via terminal, criaremos um link simbólico para o diretório /usr/bin.

sudo ln -s /usr/lib/SublimeText2/sublime_text /usr/bin/sublime

Próximo passo é criar um lançador para Unity.

sudo gedit /usr/share/applications/sublime.desktop

Copie e cole o código abaixo no arquivo sublime.desktop.

[Desktop Entry]
Version=1.0
Name=Sublime Text 2
GenericName=Editor de Texto 

Exec=sublime
Terminal=false
Icon=/usr/lib/SublimeText2/Icon/48x48/sublime_text.png
Type=Application
Categories=TextEditor;IDE;Development
X-Ayatana-Desktop-Shortcuts=NewWindow 

[NewWindow Shortcut Group]
Name=New Window
Exec=sublime -n
TargetEnvironment=Unity

Após salvar o arquivo, vamos fazer uma busca como na imagem abaixo.

Com o Sublime aberto, instalaremos o Sublime Package Control. Vá no menu View->Show Console, copie e cole o código abaixo.

import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print('Please restart Sublime Text to finish installation')

Após inserir o código como na imagem acima, podemos dar um ENTER. Teremos a tela seguinte solicitando que reiniciemos o Sublime.

Com o Sublime aberto novamente, usaremos o atalho Ctrl+Shift+P. Surgirá uma lista de opções, escolha a Package Control: Install Package.

Um lista de repositórios será carregada e você poderá instalar os pacotes de seu interesse.

Nas imagens abaixo, você pode notar no rodapé do Sublime os pacotes sendo instalados e sem seguida a mensagem de sucesso.

Instalei alguns pacotes para desenvolver com o Laravel. Agora, o Sublime já fornece um autocomplete usando recursos do framework e exibe uma highlight para o código. Abaixo temos a imagem de uma engine de template do Laravel conhecida como Blade. Note que a sintaxe usada por ele já foi "identificada" pelo Sublime.

Bem pessoal, espero que a dica tem sido útil. Até a próxima.