miércoles, 3 de octubre de 2012

Instalacion de Oracle11gXE en Debian 64 bit

La instalación es simple, a primera vista, hay que tener en cuenta los pasos y ejecutarlos en forma secuencial sin saltar ninguno.

1.- Bajar la base de datos de www.oracle.com

    http://www.oracle.com/technetwork/products/express-edition/downloads/index.html

 2.- Instalar los paquetes necesarios

       apt-get update  (recomendable)
       apt-get install libaio1 alien

3.-  descompactar con unzip

      unzip oracle-xe-11.2.0.1....zip

4.-
       cd /Disk1
       alien --scripts oracle-xe-11.2.0-1.0.x84_64.rpm
     

5.-  Crear el archivo /sbin/chkconfig

#!/bin/bash
# Oracle 11gR2 XE installer chkconfig hack for Debian by Dude
file=/etc/init.d/oracle-xe
if [[ ! `tail -n1 $file | grep INIT` ]]; then
echo >> $file
echo '### BEGIN INIT INFO' >> $file
echo '# Provides: OracleXE' >> $file
echo '# Required-Start: $remote_fs $syslog' >> $file
echo '# Required-Stop: $remote_fs $syslog' >> $file
echo '# Default-Start: 2 3 4 5' >> $file
echo '# Default-Stop: 0 1 6' >> $file
echo '# Short-Description: Oracle 11g Express Edition' >> $file
echo '### END INIT INFO' >> $file
fi
update-rc.d oracle-xe defaults 80 01



derechos:  chmod 755 /sbin/chkconfig

6.- enlace simbolico a awk:  ln -s /usr/bin/awk /bin/awk
    
    crear carpeta: mkdir /var/lock/subsys


7.- Todo listo para la instalacion:

    dpkg --install ./oracle-xe_11.2.0-2_amd64.deb

     /etc/init.d/oracle-xe configure


Fin de Instalacion.

       

jueves, 29 de diciembre de 2011

Instalar Oralce express 10g y apex 4.0.2 en debian squeeze

Tratando de ser sintetico, los pasos para la base de datos son los siguientes:

Agregar a /etc/apt/sources.lst la siguiente linea:
deb http://oss.oracle.com/debian unstable main non-free

Escribir:
wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle
apt-key add RPM-GPG-KEY-oracle

Update del sources.lst:
apt-get update

Instalar:
apt-get install oracle-xe

-Fin de la instalación de la base de datos.

Instalación de Apex 4.0.2

Descargar de otn.oracle.com apex para linux.

Loguearse como oracle

desempaquetar en /usr/lib/oracle/xe (se puede instalar en otro lugar)

unzip apex_4.0.2.zip

crea la carpeta /usr/lib/oracle/xe/apex

cd apex/

sqlplus /nolog

conn sys as sysdba

Instalacion apex:

@apexins mi_contraseña SYSAUX SYSAUX TEMP /i/

Contraseña de admin

@apxxepwd.sql

Configuración de la ruta donde estan las imágenes

@apxldimg /i/

Como último paso en caso de no poder acceder desde otra pc
configurar:

SQL> exec DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);

y listo!

Nota:

Existe una carpeta "utilities" dentro de apex

donde se puede reconfigurar la ruta de imágenes:

reset_image_prefix.sql

Para esto, sqlplus sys as sysdba

@reset_image_prefis.sql /nuevarutacompleta

Un aspecto sensible de la instalación de esta versión en oracle 10g.

lunes, 20 de junio de 2011

Conectar Forms 6i con Oracle 11g

Una pequena experiencia tuve cuando instale oracle 11g express edition y quise conectar on forms 6i, en principio no pude y el primer problema presentado es que se colgaba tanto forms como sqlplus.
Para solucionar esto, tuve que cambiar el set de caracteres a UTF8, de la siguiente manera:

C:\>sqlplus /nolog
SQL> connect / as sysdba
Conectado.
SQL> shutdown immediate
SQL> startup restrict
SQL> alter database character set internal_use UTF8;
SQL> shutdown immediate
SQL> startup

Me pude conectar correctamente pero cuando llamaba un form a otro, me salia

ORA - 1017

pidiendome nuevamente el usuario y password.
Investigando un poco encontre que la version 11g viene con el modo sensible a las mayúsculas y minúsculas. Algo a lo que no estamos acostumbrados en forms. La solución fué cambiar el parametro: sec_case_sensitive_logon de TRUE a FALSE, con
la instrucción:

alter system set sec_case_sensitive_logon = FALSE

Si bien encontre usuarios que recomiendad dejar el forms porque no está avalado por Oracle para el correcto funcionamiento con 11g, por circunstancias conocidas por los programadores, nos vemos obligados todavia a continuar con el uso del forms 6i.
Cualquier otro inconveniente lo daré a conocer.

martes, 18 de enero de 2011

Instalacion de SquirrelMail en Debian

1.- Instalacion de Software
2.- Configuracion
3.- Resolucion de problemas


1.- Instalacion:
Existen 2 maneras de instalar, ambas sin ninguna complicación, salvo se las haga en versiones anteriores de debian, donde es preferible bajar el archivo desde la web de squirrelmail www.squirrelmail.org

a: apt-get install squirrelmail

b: bajar desde www.squirrelmail.org/downloads

En mi caso, bajé la versión tar:

guardar en /usr/local/src

descompactar con tar -xvfz "nombre de archivo"

Nota: para no tocar la configuración de apache2
es aconsejable guardar dentro la ruta definida
en la variable Document Root
del archivo /etc/apache2/sites-available/"nombre de host"
suponiendo q la ruta por defecto es "/var/www":
movemos:
mv /usr/local/src/squirrelxxxxx /var/www/webmail

2.- Configuracion:

Ejecutar el programa /var/www/webmail/config.pl
Nos muestra un menú textual de fácil manejo donde
podemos definir el nombre del servidor, puertos
rutas, etc.
una vez definido esto, en lineas generales tendría que
andar todo. Hay algunas complicaciones que dependen de
los productos que tenemos instalados como por ejemplo
el servidor de correos, o el de IMAP. Tambien cabe destacar
que el idioma que se instala por defecto es el ingles.


3.- Resolución de Problemas:
Cambio de Idioma: Si bien no es un problema en si, pero
realizando el cambio a través de config.pl, no funcionó,
se hicieron los siguientes pasos:
verificar si esta instalada la libreria
gettext para php, requisito para cambio
de idioma.
apt-get install php-gettext
cambios en config.php
squirrelmail_default_language='es_ES'
default_charset='utf-8'

una vez hechos los cambios, ejecutar
los sgtes progs. del sistema operativo
para que tome apache

locale-gen es_ES

dpkg-reconfigure locales

luego reiniciamos apache

/etc/init.d/apache2 restart

y tenemos squirrelmail en español.

ERROR: Could not complete request (en columna izquierda)
Una vez que introducimos el usuario y password,
entramos a ver los mails pero en la columna de la
izquierda donde nos muestra las bandejas, sale este
error. No en todos los casos, dependiendo del cliente
Imap que se esta usando.
En mi caso tengo instalado dovecot y defini la
configuracion con este producto con el puerto, etc,
curiosamente recurriendo a la documentación que tenemos
en el sitio de squirrelmail, este dice que se debe
definir como defalut imap server: other en vez de
dovecot. (Ver SquirrelMailAndDovecotIMAP en el sitio)

ERROR: Server replied: 554 5.7.1 Relay access denied - Llegan mails
pero no se pueden enviar.

Solución simple para este caso: agregar en Postfix
el segmento de Red del Host donde figura el Servidor
y también el localhost en el archivo /etc/postfix/main.cf

mynetworks=127.0.0.0/8, xxxx.xxxx.xxxx.0/24

Nota a tomar en cuenta:
Algunos expertos dicen que es necesario tomar los recaudos
correspondientes en cuanto a seguridad al definir otros
segmentos de red en Postfix.

martes, 13 de julio de 2010

Conexiones a traves de ssh sin password

Haciendo transferencia de archivos automáticamente con conexión segura a través de ssh, es necesario que no nos pida el password a los fines de no tener que ingresar manualmente para seguir el proceso, los pasos que utilicé son los siguientes:

Cliente:

$ mkdir -p $HOME/.ssh
$ chmod 0700 $HOME/.ssh
$ ssh -keygen -t dsa -f $HOME/.ssh/id_dsa -P '' (Generamos una clave sin que nos pida una frase)

este comando genera dos archivos:
id_dsa (clave privada)
id_dsa.pub (clave pública)

Se debe pasar la clave pública (id_dsa.pub) al servidor.

Servidor:

Agregar id_dsa.pub al archivo authorized_keys

$ cat id_dsa.pub >> $HOME/.ssh/authorized_keys
$ chmod 0600 $HOME/.ssh/authorized keys (derechos solo para el propietario)

Nota: Tener encuenta la versiön de ssh, en algunos casos puede ser
authorized_keys2

Comentarios.-

Esta conexión la realicé entre 2 debian lenny, con resultados exitosos, una vez
que funcionó, hice scripts para que se ejecuten diariamente pasando información con
el comando rsync y con la seguridad de utilizar ssh.

miércoles, 21 de enero de 2009

Instalando Laop en vez de Lamp

Los servidores Web conocidos como LAMP (Linux, Apache, Mysql, Php/Perl/Python) son practicamente un estandar en internet. La popularidad de estos servidores se deben a varias razones ademas de la seguridad y el manejo especialmente a la hora de instalar.
En este articulo documento los pasos y algunas piedras en el camino que encontre cuando decidimos, con mi equipo de trabajo, instalar LAOP (Linux, Apache, Oracle, Php/Perl/Python).
Instalación:
** Actualización al 02/09/2013
** Realicé la misma instalación en Debian Wheezy la última versión que tenemos hoy.

Como primer paso instalar el paquete libaio1
apt-get install libaio1

Descargar del sitio de Oracle 3 rpms necesarios para instalar apache con oracle:
http://www.oracle.com/technetwork/database/features/instant-client/
o
http://www.oracle.com/technetwork/topics/linuxsoft-082809.html

Una vez bajado el archivo con unzip obtenemos 3 rpms.
Los convertimos a .deb con el programa alien, las siguientes lineas las extraje del sitio Zital:

apt-get install alien
alien oracle-instantclient-basic_11.1.0.1-2_i386.rpm
alien oracle-instantclient-devel_11.1.0.1-2_i386.rpm
alien oracle-instantclient-sqlplus_11.1.0.1-2_i386.rpm


** Actualización al 30/08/2013
Los instantclient están actualmente en la versión 12.1
y ya tendremos los deb correspondientes.
los instalamos:
dpkg -i oracle-instantclient-basic_11.1.0.1-2_i386.deb
dpkg -i oracle-instantclient-devel_11.1.0.1-2_i386.deb
dpkg -i oracle-instantclient-sqlplus_11.1.0.1-2_i386.deb

Dos pasos importantes:
- Crear la carpeta /etc/oracle y grabar en esta el archivo tnsnames.ora
En este archivo estan los parametros para conectarse a la base de datos con la que vamos a trabajar, puede
estar en el mismo servidor o bien algún otro de la red local o inclusive que este en otro lugar físico.
- Editar el archivo /root/.bashrc como usuario root.
Este archivo lo consulta apache cuando recibe un pedido de conexión con la base de datos.
vi /root/.bashrc
export TNS_ADMIN=/etc/oracle
export SQLPATH=/usr/lib/oracle/11.1.0.1/client/bin
export LD_LIBRATY_PATH=/usr/lib/oracle/11.1.0.1/client/lib:$LD_LIBRARY_PATH
export PATH=$PATH:$SQLPATH

Instalar Apache 2.2 y php 5
apt-get install apache2.2-common libapache2-mod-php5 php5

Instalar oci8 para php:
apt-get install php-pear php5-dev
luego ejecutar el siguiente comando: pecl install oci8
y nos pide elegir lo siguiente: 
shared,instantclient,/usr/lib/oracle/11.1.0.1/client/lib:
ingresar la ruta donde se instalo instantclient: /usr/lib/oracle/11.1.0.1/client

Una vez finalizada la instalacion de oci8 se debe agregar al archivo php.ini la siguiente linea:
echo extension=oci8.so >> /etc/php5/apache2/php.ini
Como ultimo para agregar (importante) la localizacion de /etc/oracle en apache
echo TNS_ADMIN=/etc/oracle >> /etc/apache2/envvars

Reiniciamos apache: /etc/init.d/apache2 restart

y tenemos apache on conexion a oracle, existen programas en php que pueden probar la conexion.

__






lunes, 28 de julio de 2008

Unir dos redes con OpenVPN

Documentación sobre como instalar una VPN con OpenVPN hay bastante en la red, no pretendo repetir los pasos, sino mas bién comentar sobre los detalles importantes a tener en cuenta para que la instalación sea exitosa.
Por lo que pude ver en la instalación, OpenVPN es un producto bastante genérico, estimo que no tiene nada que lo identifique con algúna distribución en particular. Se puede instalar descargando los tar o rpm desde http://openvpn.org, o desde el mismo linux con apt-get install openvpn (debian/ubuntu) o yum install openvpn (red-hat/fedora). Requisito primordial tener ssl instalado. (únicamente se hace un "install openssl" sin tener que configurar nada).
Es muy recomendable hacer un esquema gráfico de las redes que se van a conectar mediante el tunel vpn. En mi caso tuve la necesidad de conectar dos redes, las mismas deben pertenecer a distintas subredes (dentro de cada LAN):
Por ejemplo:
Lan A 192.168.1.0/24 Lan B 192.168.10.0/24
Servidor A: Ip Interna:eth0 192.168.1.10 Servidor B:Ip Interna:eth0 192.168.10.10 Ip Externa: tun0 10.0.0.10 Ip Externa: tun0 10.0.0.15
-----------------------------------------------------------------------------------
editar el archivo:
vi /etc/openvpn/server1.conf
########
local server.local.com
remote server.remoto.com
dev tun0
port 1194
ping 15
comp-lzo
user nobody
persist-key
persist-tun
persist-local-ip
ifconfig 10.0.0.5 10.0.0.10
chroot /etc/openvpn
secret /etc/openvpn/clave.key

En el otro extremo ira el mismo archivo, con las respectivas modificaciones.

En cada extremo de debe ejecutar openvpn con la debida configuración extraida del esquema gráfico.
Luego se hace el ruteo en cada extremo:
Ruteo en A: route add -net 192.168.10.0/24 gw 10.0.0.10
Ruteo en B: route add -net 192.168.1.0/24 gw 10.0.0.15

Si hay problemas con la conectiviad, primero es aconsejable levantar openvpn
en modo verbose:

openvpn --verb 5 /etc/openvpn/server.conf (en cada lado del tunel)

verbose 5 nos permite ver donde esta el error.

Una vez corregido esto se puede hacer un script.


Clave de Seguridad:
Los métodos seguros son:
a) a través de una Entidad Certificadora Externa RSA
b) Generando una clave RSA propia, distrubuyendo en cada extremo.

Conclusion: Una vez que las dos redes quedan conectadas, sentiremos la sensación de estar en una única LAN pudiendo disfrutar de todos los recursos, como ser impresoras, unidades de red compartidas, transferencia de archivos, en fin, no importando donde se encuentren físicamente.
Si la instalación está correctamente configurada, y aun no se logra una comunicación ni siquiera con ping, hay que tener en revisar los firwalls.