Mostrando las entradas con la etiqueta debian. Mostrar todas las entradas
Mostrando las entradas con la etiqueta debian. Mostrar todas las entradas

jueves, septiembre 29, 2011

Jugando con Python y Oracle Express 10 en Ubuntu / Debian


Machete útil para el curso de Python que voy a dar en Belatrix

Instalando Oracle Express 10 en Ubuntu / Debian
  • Agregar en /etc/apt/sources.list

deb http://oss.oracle.com/debian unstable main non-free
  • Importar las llaves

wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle -O- | sudo apt-key add -
  • Actualizar repos

sudo apt-get update
  • Instalar

sudo aptitude install oracle-xe-client oracle-xe-universal 
  • Configurar

sudo /etc/init.d/oracle-xe configure
  • Setear algunos paths al fnal de los archivos ~/.bash y en ~/.profile tanto del usuario con poder de sudo que realizó la instalación, como del usuario oracle (sudo su - oracle), como del root (necesario para compilar algunas cosas). Recordar que luego de cambiar estos archivos, se debe loguear nuevamente, e incluso reiniciar las X, para que las variables de entorno queden correctamente seteadas. Si no sabe de lo que estoy hablando, reincie la compu.
Entonces, al final de ~/.profile



if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

Al final del ~/.bashrc

ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_HOME
export ORACLE_SID=XE
export PATH

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

  • Reinicie X, sesiones, o la maquina. 
  • Pruebe que se puede loguear como sysdba
sudo su - oracle
sqplus / as sysdba

  • Acceda a la interface web entrando a http://127.0.0.1:8080/apex como sys (o sysdba) + el password escrito durante el sudo /etc/init.d/oracle-xe configure
  • Entre a Administration > Manage Database Users > Users
  • En Account Status cambie el status de HR a unlocked y cambie la contraseña. Esto, porque la contraseña podría estar outdated. Enseguida vamos a necesitar esa contraseña. En mi caso, le he puesto "hr".
  • Nuevamente dentro del sqlplus lance algunos comandos, solo para conocer el nivel de acceso.
alter session set current_schema=HR
select * from all_users ;
select * from all_tables where owner = 'HR';


Para jugar con python, y corrigiendo apenas lo que encontré en http://agiletesting.blogspot.com/2005/05/installing-and-using-cxoracle-on-unix.html
  • Baje la ultima versión de cx_Oracle-x.x.tar.gz desde aqui.
  • Copie en /root los .bashrc y .profile anteriores, para que root tenga acceso a varias variables de entorno y rutas necesarias para compilar
  • Instale el paquete gcc
  • Conviértase en root sin olvidar el - mediante:
sudo su - root
  • Descomprima cx_Oracle-X.x.tar.gz y ejecute denro de la subcarpeta 
python setup.py install
  • Aqui va un ejemplo de conexión, con la contraseña "hr" del usuario HR. Idealmente, no copie el código desde aquí. Este lenguaje es muy sensible a los espacios, en su lugar hágalo desde aquí: http://pastebin.com/GqZBS38C

import cx_Oracle                                  
from pprint import pprint

connection = cx_Oracle.Connection("HR", "hr")
cursor = cx_Oracle.Cursor(connection)

#Ejemplo trayendo desde una tabla de sistema
sql = "SELECT TABLE_NAME FROM ALL_TABLES"
cursor.execute(sql)
data = cursor.fetchall()
print "TABLE_NAME"
pprint(cursor.description)
pprint(data)
cursor.close()
connection.close()


sábado, mayo 05, 2007

public_html en Ubuntu Feisty & Debian Etch

Muy orgulloso, en una clase de LAMP con Etch, les muestro a mis alumnos lo simple que es publicar paginas en el ~/public_html, cuando Apache esta corriendo.

Estemmm no, no camina. Mmmm. Pruebo en una notebook con Feisty. Nuevamente el mensaje que no encuentra el sitio.

¿Pero si en Ubuntu Edgy y en Debian Sarge todo andaba a la perfección! ¿WTF?

Googleo un rato y nada. Revuelvo los httpd.conf, el apache2.conf, y todo parece normal.

Parece que el Apache 2.2.3 viene con alguna restricción nueva. La clase debe seguir, y vuelvo tristemente a XAMPP en Windou.

Ahora, durante el fin de semana lo encontré en un foro de Ubuntu: http://ubuntuforums.org/showthread.php?t=421531

En la configuración por defecto de Apache 2.2.3-3.2build1, hay que habilitar un módulo "userdir" mediante el comando

sudo a2enmod userdir

¿Para que sirve esto? Bueno, parece una buena idea: con el comando a2enmod se habilitan modulos instalados, y con el comando a2dismod se deshabilitan, sin tocar los archivos de configuración.


Sigo encontrando mas comandos "a2": a2ensite y a2dissite. Estos comandos sirven para mantener multiples sitios web en un solo Apache2, activados o desactivados. Vale la pena leer el vinculo http://www.debian-administration.org/articles/412

martes, febrero 20, 2007

dpkg-reconfigure console-setup

¿Alguna vez probaron este comando?

Es una evolución muy buena al conocido dpkg-reconfigure console-data

Ademas de dejarnos elegir el mapa de teclado, sirve para sacar la fea letra fixed de la consola de texto, cambiar los puntos de la buena y vieja fuente vga, y cambiar entre utf-8 e iso8859, ateniendose a unas cuantas simples preguntas.