Configurando PHP5 para acessar Oracle no Ubuntu Server 9.04

5 de Agosto de 2009

Instruções para configurar o php5 para acessar o oracle usando Oracle’s Instant Client e o módulo oci8 do pear.

Baixar o Oracle Instant Client:

http://www.oracle.com/technology/tech/oci/instantclient/index.html

Na data deste post os arquivos eram:

basic-11.1.0.70-linux-x86_64.zip
sdk-11.1.0.7.0-linux-x86_64.zip

Decompactar

# sudo mkdir /opt/oracle

#cd /opt/oracle

# sudo unzip basic-11.1.0.70-linux-x86_64.zip

# sudo unzip sdk-11.1.0.7.0-linux-x86_64.zip

Adicionar o diretório no ldconfig

# sudo bash -c “echo /opt/oracle/instantclient_11_1 >>  /etc/ld.so.conf.d/oracleinstantclient.conf”

Atualizar o ldconfig

#sudo ldconfig

Criar links para as libs

# sudo ln -s libocci.so.11.1 libocci.so
# sudo ln -s libclntsh.so.11.1 libclntsh.so

Instalar o php-pear e outros pacotes necessários para compilação do módulo

#sudo apt-get install php5-dev build-essential php-pear libaio1

Instalar o módulo oci8

# sudo pecl install oci8

Será solicitado o caminho para o instantclient, basta informar:

instantclient,/opt/oracle/instantclient_11_1

No final a extensão será instalada com as demais extensões do php, como mostrado na saída do comando:

Installing ‘/usr/lib/php5/20060613/oci8.so’

Agora devemos habilitar a extensão no php.ini, crie um arquivo dentro do diretório conf.d do php5

# sudo vi /etc/php5/conf.d/oci8.ini

Inclua a seguinte linha

extension=oci8.so

Reinicie o apache, crie um script php para mostrar os módulos ativos usando a função phpinfo() e verifique se o módulo oci8 esta habilitado.

#sudo /etc/init.d/apache2 restart

Referências:

http://ubuntuforums.org/showthread.php?t=92528

ln -s libclntsh.so.10.1 libclntsh.so
ln -s libocci.so.10.1 libocci.so

Script Ubuntu Perfeito

29 de Novembro de 2008

Poupe tempo instalando tudo o que você precisa no seu Ubuntu usando o script “Ubuntu Perfeito”.

http://hamacker.wordpress.com/script-ubuntu-perfeito/

A idéia do script, que na verdade é um “instalador de programas” é facilitar a instalação das principais funcionalidades/programas de uma forma automatizada.

Vale a pena usá-lo, especialmente numa instalação nova do ubuntu, para salvar tempo e instalar tudo o que você precisa de uma só vez. É necessário ter uma conexão com a Internet.


Eclipse 64 bits no Linux (ubuntu e outros)

4 de Novembro de 2008

Recentemente instalei o Ubuntu 64bits no meu computador e me deparei com diversos problemas relacionados às versões 64bits de diversos softwares, um deles foi o Eclipse, na verdade o problema não é no Eclipse e sim a versão 64 bits do java fornecido pela Sun.

Após baixar e executar a versão 64 bits do Eclipse usando o java 6, versão 64 bits da Sun, o Eclipse simplesmente fechava sem mais nem menos. Após algumas buscas na Internet e encontrei nos comentários de um post uma sugestão para instalar o Java da IBM.

O java da IBM pode ser baixado em:

http://www-128.ibm.com/developerworks/java/jdk/linux/download.html

Escolha a opção “Java SE Version 6″ “64-bit AMD/Opteron/EM64T”, será necessário fazer um registro para baixar.

Após baixar o SDK da IBM basta extrair os arquivos para algum diretório e configurar o eclipse para usar esta versão do Java. Para fazer isto basta editar o arquivo eclipse.ini e adicionar as seguinte linhas:

-vm
/caminho/javaibm/bin/java

Exemplo do arquivo eclipse.ini

-startup
plugins/org.eclipse.equinox.launcher_1.0.101.R34x_v20080819.jar
-showsplash
org.eclipse.platform
–launcher.XXMaxPermSize
256m
-vm
/data/devel/java/ibm-java-x86_64-60/bin/java
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xmx512m
-XX:MaxPermSize=256m
-Xms40m
-Xmx256m

Desta forma o eclipse será executado utilizando o Java da IBM e vai funcionar corretamente. Note que o java da IBM será usado apenas para o eclipse, se você executar java -version verá que a versão padrão do java no sistema ainda é da Sun, isso pode ser alterado usando update-alternatives (no ubuntu).

Referências:

Post onde encontrei as dicas
http://dmartin.org/weblog/eclipse-on-ubuntu-linux-for-amd64


FreeNX – Compartilhando a Área de Trabalho Linux/Ubuntu/Windows

12 de Fevereiro de 2008

O FreeNX é um aplicativo para compartilhamento de área de trabalho, ele é mais eficiente que o VNC e/ou X11 por possuir um sistema avançado de cache de imagens. O programa consiste em uma aplicação servidor que fornece as sessões e uma aplicação cliente que acessa o servidor.

O cenário que descrevo abaixo é o compartilhamento da área de trabalho de um computador rodando Kubuntu 7.10 que pode ser acessado remotamente a partir de uma estação windows ou linux.

Download e Instalação

Ubuntu 7.10 Gutsy Gibbon

Adicione os seguinte repositórios no seu /etc/apt/sources.list

deb http://www.datakeylive.com/ubuntu gutsy main
deb-src http://www.datakeylive.com/ubuntu gutsy main

Baixe e adicione a chave de verificação do repositório:

#wget http://www.datakeylive.com/ubuntu/dists/gutsy/wjeremy.key | sudo apt-key add -

#sudo apt-get update

Instale os pacotes necessários:

#sudo apt-get install expect openssh-server tcl8.4 libxcomp2 libxcompext2 libxcompshad nxlibs nxagent nxproxy nxclient freenx

Após a instalação uma mensagem avisa sobre o cups, para habilitar a impressão via NX digite:

#sudo chmod 755 /usr/lib/cups/backend/ipp

Ubuntu 7.04 Feisty Fawn

Adicione os seguinte repositórios no seu apt.

#sudo vi /etc/apt/sources.list

—–

#Seveas Repositories https://wiki.ubuntu.com/SeveasPackages
deb http://mirror2.ubuntulinux.nl/seveas/freenx/ feisty-seveas freenx
deb-src http://mirror2.ubuntulinux.nl/seveas/freenx/ feisty-seveas freenx

—-

#gpg –keyserver subkeys.pgp.net –recv-keys 1135D466
#gpg –export –armor 1135D466 | sudo apt-key add -

#sudo aptitude update
#sudo aptitude install freenx nxclient

Configuração do Servidor

O arquivos de configuração do server ficam em /etc/nxserver.

Configuração do SSH

Verificar se a instalação das chaves SSH está ok:

#sudo su
#cd /var/lib/nxserver/home/.ssh
#ssh -i client.id_dsa.key nx@localhost
# Are you sure you want to continue connecting (yes/no)?

Você deve digitar “yes” para a pergunta acima.

O resultado deve ser algo como:

HELLO NXSERVER – Version 1.5.0-60 OS (GPL)
NX> 105

#exit
#exit

O FreeNX utiliza a porta padrão do SSH (22), caso você utilize outra porta para o SSH no seu computador deve fazer algumas alterações. Veja os links no final do post, eles tem instruções de como fazê-lo.

Configuração da Autenticação

Adicionar usuário a base do nxserver – o usuário deve ter uma conta local.

#sudo nxserver –adduser username
#sudo nxserver –passwd username

Reinicie o nx server

#sudo nxserver –restart

Configurando o Cliente

Cliente Linux

Instale o nxclient.

Ubuntu Gutsy

#wget http://mirror2.ubuntulinux.nl/pool/feisty-seveas/freenx/nxclient_2.1.0-17_i386.deb
#sudo dpkg -i nxclient_2.1.0-17_i386.deb

Veja https://bugs.launchpad.net/seveas-packages/+bug/148656 para corrigir o problema das fontes, feito isso tudo vai funcionar.

Ubuntu Feisty

#sudo aptitude install nxclient

Executando o cliente

#nxclient

Solução de problemas

Na primeira tentativa não consegui acessar o servidor, após a autenticação (bem sucedida) o cliente desconectava direto. No meu caso o problema eram as fontes do X11. Na versão para ubuntu feisty existe um problema no diretório de fontes do X11, é necessário alterar conforme instruções no link abaixo.

https://bugs.launchpad.net/seveas-packages/+bug/148656

Feito isso, a conexão funcionou normalmente.

Para habilitar o log detalhado do nxserver para tentar resolver outros problemas, edite o arquivo /etc/nxserver.node.conf e altere o level do log para 7.

#sudo vi /etc/nxserver.node.conf

NX_LOG_LEVEL=7

Cliente Windows

Faça download do cliente para windows em http://www.nomachine.com/download-client-windows.php e instale o programa e acesse o servidor nx.

Links uteis

Página do FreeNX
http://freenx.berlios.de/

Outras instruções de instalação e configuração (em inglês)
- https://help.ubuntu.com/community/FreeNX
- http://ubuntuforums.org/showthread.php?t=467219
- http://ubuntuforums.org/showthread.php?t=620057 (gutsy gibbon)

- http://mainesysadmin.com/2008/02/11/how-to-install-freenx-on-ubuntu-710-x64/

Versão do tutorial: 1.4 – 08/06/2008


Configurando a Impressora Brother MFC-8860DN no Linux/Ubuntu

28 de Janeiro de 2008

A impressora multifuncional Brother MFC-8860DN além de impressora é copiadora, fax e scanner. Não existem drivers nos repositórios padrão do Ubuntu, mas felizmente a Brother disponibiliza os drivers para download.

Download dos Drivers

Faça o download dos drivers para CUPS em :
http://solutions.brother.com/linux/sol/printer/linux/cups_drivers.html
Acesse a opção de drivers para Debian e selecione o modelo da sua impressora.


Instalando

Para instalar o pacote execute:
#sudo dpkg -i cupswrapperMFC8860DN-2.0.1-2.i386.deb

Para instalações 64bits é necessário forçar a instalação:

#sudo dpkg -i –force-all –force-architecture brmfc8860dnlpr-2.0.1-1.i386.deb

#sudo dpkg -i –force-architeture cupswrapperMFC8860DN-2.0.1-2.i386.deb

dpkg – aviso, ignorando problema porque –force foi habilitado:
arquitetura do pacote (i386) não é a mesma do sistema (amd64)
(Lendo banco de dados … 116408 arquivos e diretórios atualmente instalados.)
Preparando para substituir cupswrappermfc8860dn 2.0.1-2 (usando cupswrapperMFC8860DN-2.0.1-2.i386.deb) …
* Restarting Common Unix Printing System: cupsd                                                                                        [ OK ]
Descompactando substituto cupswrappermfc8860dn …
Instalando cupswrappermfc8860dn (2.0.1-2) …
/usr/local/Brother/cupswrapper/cupswrapperMFC8860DN-2.0.1: 64: cannot create /usr/share/cups/model/MFC8860DN.ppd: Directory nonexistent
cp: `/usr/lib/cups/filter/brlpdwrapperMFC8860DN’ e `/usr/lib64/cups/filter/brlpdwrapperMFC8860DN’ são o mesmo arquivo
* Restarting Common Unix Printing System: cupsd                                                                                        [ OK ]
cp: impossível fazer stat em `/usr/share/cups/model/MFC8860DN.ppd’: Arquivo ou diretório inexistente
dpkg: erro processando cupswrappermfc8860dn (–install):
subprocesso post-installation script retornou código de saída de error 1
Erros foram encontrados durante processamento de:
cupswrappermfc8860dn

O erro acima pode ser resolvido copiando o arquivo PPD do cd de drivers da impressora.

# sudo mkdir /usr/share/cups/model/

Faça um pesquisa nos arquivos dentro do CD e escolha o PPD apropriado para o modelo da sua impressora.
# sudo cp BR8860_2.PPD /usr/share/cups/model/MFC8860DN.ppd
# sudo dpkg -i –force-all –force-architecture cupswrapperMFC8860DN-2.0.1-2.i386.deb
O pacote adiciona automaticamente uma nova impressora no CUPS, no entanto adiciona com interface USB, caso você utilize impressora em rede, pode alterar a interface pela tela de administração do CUPS.
Acesse as opções de interface e clique no botão “Modificar”, será aberta uma tela para selecionar as opções de interface, selecione “Impressora de Rede TCP”, na tela seguinte informe o endereço IP da impressora e a porta 9100. Caso não saiba o IP, mude máscara da rede e clique em “Varrer”. A impressora será listada, basta selecionar e confirmar.

Links

Página dos drivers para Linux
http://solutions.brother.com/linux/en_us/index.html

Instruções de instalação (em ingles)
http://solutions.brother.com/linux/sol/printer/linux/cups_wrapper_install5.html


Configuração do Ubuntu 7.10 (kubuntu)

28 de Janeiro de 2008

Configuração inicial do kubuntu 7.10 Gutsy Gibons

Descreverei abaixo o processo de configuração de um desktop corporativo após a instalação do kubuntu 7.10.

Leia o resto deste post »


Configurando um Ambiente de Desenvolvimento Java no Ubuntu

25 de Janeiro de 2008

Este tutorial explica como configurar um ambiente de desenvolvimento Java no Ubuntu. O ambiente consiste em um JDK, o ant para builds automatizados, o Eclipse como IDE e outros servidores como Jetty e Tomcat para desenvolvimento WEB.

Eu costumo ter um diretório no sistema onde armazeno todo o ambiente de desenvolvimento. Eu utilizo o diretório /data/devel . Eu faço isso pois permite que eu compartilhe todo o ambiente de desenvolvimento, é interessante também usar uma partição separada especialmente para isso, assim é possível inclusive compartilhar o ambiente entre várias distros no mesmo computador.

Criar um usuário/grupo para controlar as permissões do diretório de desenvolvimento também é interessante.

#sudo mkdir -p /data/devel

#sudo useradd -u 401 -g 401 -s /bin/false -b /data/devel devel

Definimos as permissões para o usuário/grupo devel poder gerenciar o conteúdo do diretório.

#sudo chown devel.devel /data/devel -R
#sudo chmod g+rwx /data/var/devel -R

#Faz com que todos os arquivos criados no dir pertençam ao grupo devel
#sudo chmod g+s /data/devel

Adicione o grupo devel ao seu usuário:

#sudo usermod -a -G devel user

No caso do ambiente Java eu crio um sub-diretorio específico /data/devel/java. Dentro deste diretório eu criou alguns outros:

/data/devel/java/etc -> para armazenar scripts e configurações do ambiente

#sudo mkdir -p /data/devel/java/etc

#sudo chmod g+s /data/devel/java
#sudo chmod g+s /data/devel/java/etc/

Uma solução mais interessante seria criar um grupo para o java, assim poderíamos ter vários ambientes com permissões distintas dentro de /data/devel.

Instalando o JDK

É possível instalar baixando uma versão diretamente do site da Sun ou usando as versões nos repositórios do Ubuntu.

Para a primeira opção basta acessar o site do Java e baixar uma versão do JDK para Linux e instalar no diretório /data/devel/java.

Para a segunda opção basta digitar o comando:

#sudo apt-get install sun-java6-jdk

É interessante criar links simbólicos para o JDK, por exemplo, se o diretório criado para o JDK for “/usr/lib/jvm/java-6-sun-1.6.0.03/”, no caso da instalação via apt, crie o link simbólico em /data/devel/java/jdk. Isso facilita na configuração do ambiente a seguir.

#sudo ln -s /usr/lib/jvm/java-6-sun-1.6.0.03 /data/devel/java/jdk

Instalando outros aplicativos

Eu utilizo o ant para build em alguns projetos. Basta baixar uma versão do site e descompactar no diretório /data/devel/java/.

Crie um link simbólico chamado ant:
#sudo ln -s apache-ant-1.6.5 ant

Para todos os outros aplicativos sugiro a instalação neste diretório.

Ajustando as permissões

Após criados e instalados todos os programas vamos ajustar as permissões do diretório para que todos do grupo devel possam gerenciar o diretório.

#sudo chmod g+wx /data/devel/java -R

Definindo as variáveis de ambiente

É necessário setar algumas variáveis de ambiente para o java. Eu geralmente crio um script bash onde defino estas variáveis.

#sudo vi /data/devel/java/etc/env-neimar.sh

#!/bin/bash
#Arquivo de configuracao do ambiente java – neimar
#Chame este script no /etc/profile, por exemplo

export JAVA_DIR=/data/devel/java
export JAVA_HOME=$JAVA_DIR/jdk
export ANT_HOME=$JAVA_DIR/ant
export CATALINA_HOME=$JAVA_DIR/tomcat

#Definir no path
PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin

#Aliases
#alias para acompanhar os logs do tomcat
alias tmt=’tail -f -n 300 $CATALINA_HOME/logs/catalina.out’
———————————————

Alterar permissões para permitir execução do script.

#sudo chmod a+x /data/devel/java/etc/env-neimar.sh

Criado o arquivo podemos incluí-lo no /etc/profile para que essas variáveis fiquem disponíveis para todos os usuários, caso deseje apenas para um usuário inclua no arquivo /home/user/bash_profile, por exemplo.

#sudo vi /etc/profile

#Inclusao das vars do ambiente java
if [ -f /data/devel/java/etc/env-neimar.sh ]; then
. /data/devel/java/etc/env-neimar.sh
fi

Feito isto basta logar em outro console para que as configurações do /etc/profile sejam aplicadas ou simplesmente executar o script e testar se está tudo ok.

# sh /data/devel/java/etc/env-neimar.sh
#java -version
#ant -version