Archivo

Entradas Etiquetadas ‘howto’

Conectar Oracle Forms + Oracle Database XE (Express Edition) en Windows

Viernes, 13 de Febrero de 2009 Itimag 13 comentarios

Tras mucho buscar para poder conectarme desde Oracle Forms con la base de datos Oracle Database XE, al fin lo he conseguido. A continuación explico los pasos que he seguido para ello con la finalidad de que pueda ser de ayuda para muchos otros:

1. Instalar Oracle Developer Suite 10g
2. Instalar Oracle Database 10g Express Edition
3. Copiamos al portapapeles (ctrl + c) el contenido del fichero tnsnames.ora del directorio C:\oraclexe\app\oracle\product\10.2.0\server\NETWORK\ADMIN (si instalamos Oracle Oracle Database 10g Express Edition en C:\oraclexe )
4. Pegamos el contenido anterior al final del documento tnsnames.ora del directorio C:\DevSuite\NETWORK\ADMIN\ (si hemos instalado Oracle Developer Suite 10g en el directorio C:\DevSuite).

5. Accedemos a la interfaz web de Oracle Database 10g Express Edition entrando en http://127.0.0.1:8080/apex/ . Hacemos login con el usuario SYS y la password que introducimos durante la instalación.

6. En la interfaz web, accedemos a Administración -> Usuarios Base Datos. Observamos que disponemos del usuario llamado “HR”, el cual está bloqueado.
Hacemos clic sobre él y en la nueva ventana que aparece introducimos una password, ponemos el estado de la cuenta a “Desbloqueado” y comprobamos que tenga privilegios de CONNECT,RESOURCE y DBA (marcando las casillas).
Una vez hecho esto, pulsamos sobre “Modificar Usuario” con la finalidad de tener un usuario desde el cual conectarnos.

7. Ya podemos conectarnos desde Oracle Developer Suite 10g a la base de datos. Por ejemplo, para conectarnos mediante Forms Developer, vamos a Inicio -> Todos los programas -> Oracle Developer Suite -> Forms Developer -> Start OC4J Instance y a continuación abrimos el Forms Builder. Para ello vamos a Inicio -> Todos los programas -> Oracle Developer Suite -> Forms Developer -> Forms Builder

Ya  sólo falta conectarnos con la base de datos. Para ello vamos a Archivo -> Conectar o bien pulsamos “ctrl +j” . Nos aparecerá una nueva ventanita. En ella introducimos:

  • Usuario: HR
  • Contraseña: la contraseña que definimos en el paso 6.
  • Base de Datos: XE

Configurar el servidor DNS junto a un dominio

Sábado, 3 de Enero de 2009 Itimag 6 comentarios

Hace unos días vimos como instalar un servidor de DNS en nuestro equipo o servidor y ahora toca ver como se configura para que éste sea capaz de resolver nuestros dominios.

Supongamos que tenemos el dominio itimag.net y queremos configurarlo en nuestro servidor de tal forma que este mismo resuelva el dominios y que además tenga las entradas DNS primaria y secundária que nosotros mismos personalizaremos (en mi caso ns1.itimag.net para la primaria y ns2.itimag.net para la secundária).

Cuando hablo de dns primarias y secundarias, me refiero a aquellas que podemos modificar desde el panel de administración de dominios que nos ofrece nuestro agente registrador. Por ejemplo, en OVH es este: dns

Como observamos en la imagen, los DNS asociados a itimag.net son ns1.itimag.net y ns2.itimag.net. Pues bien, vamos a ver como configurar esto en nuestro servidor con la finalidad de que en el whois del dominio, aparezca ns1.itimag.net y ns2.itimag.net en vez de la IP xxx.xxx.xxx.xxx.

Como se observa en la imagen, los dos DNS (ns1.itimag.net y ns2.itimag.net) apuntan a distintas IP. Ambas IP están configuradas en el mismo equipo. No es precisamente así como debería estar ya que en caso de que el servidor falle, fallarían los 2 nombres de dominio y, por consiguiente, nadie podrá acceder al dominio o dominios configurados con estos servidores DNS.

En caso de que tu servidor disponga de una única ip, también puedes seguir el proceso que aquí se explica.

Pasemos a la acción:

  1. Accedemos al servidor por ssh y dirigirnos al directorio /etc/bind/
  2. ssh user@xxx.xxx.xxx.xxx -p puerto
    cd /etc/bind
  3. Para ver todos los ficheros de este directorio utilizamos el comando ls:
  4. ls
  5. Editamos el fichero /etc/bind/named.conf.local
  6. nano /etc/bind/named.conf.local
  7. Añadimos las siguientes zonas al fichero:
  8. zone "ns1.itimag.net" {
    type master;
    file "/etc/bind/ns1.itimag.net";
    allow-transfer {87.98.xxx.xxx; }; // Tu segunda IP
    };
     
    zone "ns2.itimag.net" {
    type master;
    file "/etc/bind/ns2.itimag.net";
    };
     
    // La zona inversa
    zone "xxx.xxx.xxx.in-addr.arpa" {
    type master;
    file "/etc/bind/pri.xxx.xxx.xxx.in-addr.arpa";
    };

    Nota: Debes substituir el nombre de dominio (itimag.net) por el tuyo y en el allow transfer insertar la segunda ip de tu equipo (o la ip del DNS secundario externo en caso de no tener segunda ip).

    El nombre de la zona inversa viene determinado por nuestra ip de tal forma que la zona inversa para la ip 10.11.12.13 sería “12.11.10.in-addr.arpa”

    Guardamos el fichero y salimos, pulsando “ctrl + o” y “ctrol+x”.

  9. Ahora vamos crear los ficheros /etc/bind/ns1.itimag.net y /etc/bind/ns2.itimag.net :
  10. nano /etc/bind/ns1.itimag.net

    El fichero resultante debe ser algo como esto:

    $ttl 86400
     
    @ IN SOA ns1.itimag.net. root.localhost. (
     
    2008092401; serial-no
     
    28800; refresh, seconds
     
    7200; retry, seconds
     
    604800; expiry, seconds
     
    86400 ); minimum-TTL, seconds
     
    ;
     
    ns1.itimag.net.         IN NS ns1.itimag.net
     
    ns1.itimag.net.         IN A 213.251.xxx.xxx

    Nota: Debes substituir cada ns1.itimag.net por tu ns1.dominio.com. Debes substituir la línea que contiene el serial-no siguiendo la siguiente norma:

    Año  	   Mes     Día      ID
     
    2008       09      24       01; serial-no

    Los cuatro primeros dígitos corresponden al año. Los dos siguientes al mes. Los dos siguientes al día y los 2 restantes hacen referencia a un identificador que indica la versión del fichero (cada vez que modificamos el fichero, debemos incrementar en una unidad el ID). También debes substituir la IP 213.251.xxx.xxx con la ip de tu servidor.

    Creamos el segundo fichero:

    nano /etc/bind/ns2.itimag.net

    Contendrá lo siguiente:

    $ttl 86400
     
    @ IN SOA ns2.itimag.net. root.localhost. (
    2008092401; serial-no
    28800; refresh, seconds
    7200; retry, seconds
    604800; expiry, seconds
    86400 ); minimum-TTL, seconds
    ;
     
    ns2.itimag.net.         IN NS ns2.itimag.net
    ns2.itimag.net.         IN A 87.98.xxx.xxx

    Nota: Debemos de realizar los mismos cambios que en el fichero anterior. Modificamos el fichero /etc/resolv.conf para añadir nuestro dominio y las ip’s de nuestro servidor o servidores dns.

  11. Creamos el fichero /etc/bind/pri.xxx.xxx.xxx.in-addr.arpa para la zona inversa:
  12. nano /etc/bind/pri.xxx.xxx.xxx.in-addr.arpa

    Debe quedar algo como esto:

    $ttl 86400
     
    @ IN SOA mi_dominio.com. root.localhost. (
    2008071901; serial-no
    28800; refresh, seconds
    7200; retry, seconds
    604800; expiry, seconds
    86400 ); minimum-TTL, seconds
    ;
     
    NS ns1.mi_dominio.com.;
    NS ns.kimsufi.com.;
     
    xxx PTR mi_dominio.com.

    Nota: El xxx corresponde con los últimos tres dígitos (o menos) de tu ip. El serial-no corresponde con la fecha actual: en este caso año 2008, mes 07, día 19, identificador 01. Cada vez que modifiquemos el fichero debemos aumentar en una unidad el identificador.

Configuración del dominio:

  1. Añadimos el dominio a configurar insertando la siguiente linea:
  2. search mi_dominio.com
  3. Obsevemos que la ip de nuestro servidor se encuentra ya insertada en una linea como esta:
  4. nameserver tu_ip

    Ejemplo de configuración:

    search mi_dominio.com
    nameserver 127.0.0.1
    nameserver 213.251.xxx.xx
  5. Modificamos el fichero /etc/bind/named.conf.local y le añadimos la zona para nuestro dominio:
  6. zone "mi_dominio.com" {
    type master;
    file "/etc/bind/pri.mi_dominio.com";
    allow-transfer {213.186.33.199; };
    };
  7. Creamos el ficgero /etc/bind/pri.mi_dominio.com
  8. nano /etc/bind/pri.mi_dominio.com

    Debe quedar algo como esto:

    $ttl 86400
     
    @ IN SOA ns1.mi_dominio.com. root.localhost. (
    2008092201; serial-no
    28800; refresh, seconds
    7200; retry, seconds
    604800; expiry, seconds
    86400 ); minimum-TTL, seconds
    ;
     
    NS xxx.xxx.xxx.xxx ;
    NS ns.ns.kimsufi.com. ;
    MX 10 mail.mi_dominio.com.;
     
    mi_dominio.com. A xxx.xxx.xxx.xxx
    www A xxx.xxx.xxx.xxx
    ns1 A xxx.xxx.xxx.xxx
    mail A xxx.xxx.xxx.xxx
     
    mi_dominio.com. TXT "v=spf1 a mx ~all"
    mi_dominio.com. TXT "v=spf1 a -all"

    Nota: Debemos substituir las xxx.xxx.xxx.xxx por la ip donde va a apuntar al dominio

  9. Forzamos bind a actualizar las zonas:
  10. /etc/init.d/bind9 force-reload
  11. Ahora podemos observar si se han producido errores observando los logs del demonio ejecutando el siguiente comando:
  12. less /var/log/daemon.log

Asignar una ip privada estática a nuestra tarjeta de red en Linux Debian

Martes, 21 de Octubre de 2008 Itimag Sin comentarios

Ya hemos visto como instalar ssh (secure shell) pero aún nos falta por ver cómo asignar una ip privada a nuestra tarjeta de red del servidor con la finalidad de tener acceso desde cualquier equipo de nuestra casa sin la necesidad de tener la cpu que hace de servidor conectada a un teclado, monitor u otros periféricos.

Lo primero que debemos conocer es la red de nuestra casa. ¿Dispongo de router o dispongo de un simple módem conectado directamente a mi equipo? ¿O tengo el módem conectado a un router neutro con entrada WAN? ¿O tengo un equipo con dos tarjetas de red que por una de ellas recibe la conexión de internet y con la otra comparte esta misma con otro equipo?

En caso de disponer de un módem conectado directamente a nuestro servidor, no debemos realizar ninguno de los cambios aquí expuestos.

En caso de disponer de un router, de un módem conectado al router, o de un equipo conectado a otro equipo que dispone de internet, debemos hacernos las siguientes preguntas: ¿Cual es la puerta de enclace?¿Y la máscara de subred?

Lo podemos averiguar haciendo lo siguiente:

  • En Linux:

  1. Abrimos un terminal y ejecutamos el siguiente comando:
    sudo
    route

    Nos aparecerá algo como esto, donde observamos el gateway del Destination=”default”. Nos apuntamos la ip que observamos marcada. Esta es nuestra puerta de enlace o gateway.

  2. Ahora debemos conocer la máscara de subred y nuestra ip privada. Lo hacemos mediante el comando ifconfig:
    ifconfig

Nos quedamos con la información que aparece en la linea marcada. Concretamente, con las direcciones que pone en “inet addr:” y “Mask:”. La “inet addr” es la dirección privada asignada a nuestra tarjeta de red y el campo “Mask” es la mascará de subred de nuestra red.

  • En Windows:

Mira aquí

¿Y ahora qué?

Ahora que conocemos los datos necesarios, vamos a modificar el fichero /etc/network/interfaces. Para ello, escribimos lo siguiente en una consola de nuestro servidor y pulsamos intro:

sudo
nano /etc/network/interfaces

En caso de que aparezca la linea “auto eth0″, la eliminamos.

En cualquier caso, debemos añadir lo siguiente si es que nuestro servidor funciona con una tarjeta de red no wireless (ethX y no wlanX).

iface eth0 inet static
             address "La_ip_privada"
             netmask "la_mascara_de_subred"
             gateway "La_puerta_de_enlace_de_o_gateway"

Siendo “La_ip_privada”, “la_mascara_de_subred” y “La_puerta_de_enlace_o_gateway” los datos recogidos antes con una pequeña puntualización: la ip privada no es recomendable que sea la misma que la que nos aparece. Esto es porque nuestro router nos asigna una ip privada con los últimos 3 dígitos lo más bajo que puede(a partir de .xxx dígitos finales. Por ejemplo: .100) y esto puede provocar un conflicto de red si encendemos el servidor tras encender otro equipo de nuestra red ya que puede ser que el router le asigne nuestra ip privada (192.168.2.101) a otro equipo. Por lo tanto, en el caso de que tengamos la ip privada 192.168.2.101, no es recomendable ponernos los últimos dígitos como 101 sino que nos pondremos 120 de tal forma que nuestra ip privada sería 192.168.2.115 y evitamos posibles conflictos de red.

En caso de que nuestra tarjeta de red sea wireless, debemos substituir “iface eth0 inet static” por “iface wlan0 inet static”

Debemos acordarnos de la ip que asignemos ya que la utilizaremos para acceder por ssh.

A continuación os dejo una captura de como ha quedado el asunto en mi equipo:

Ahora, debemos guardar los cambios. Esto lo hacemos pulsado “ctrl + X” y a continuación se nos pedirá si deseamos guardar los cambios. Ponemos una “S” y pulsamos intro.

Para que los cambios surjan efecto, hacemos lo siguiente:

ifconfig eth0 down
ifconfig eth0 up

Volvemos a hacer un ifconfig y observamos como los cambios han surgido efecto. Si es así, nos dirigimos a otro equipo y accedemos al servidor por ssh. En caso de que funcione (debería) ya podemos quitar el teclado, monitor y otros periféricos de nuestro servidor y administrarlo todo de forma remota.

Si queremos poder acceder desde internet a nuestro servidor por ssh, simplemente debemos conocer nuestra ip pública (cuidado que esta normalmente es dinámica, cambia. Es la que nos da nuestro proveedor del servicio) y abrir los puertos en nuestro router. Para conocer nuestra ip pública, es suficiente con entrar en esta web. En cambio, para abrir puertos en nuestro router, una vez sepamos el modelo de éste, podemos acceder a esa misma web en la que hay muchos manuales en el lado izquierdo (donde pone “Routers Wireless” o “Routers Ethernet”).

De momento, para acceder a ssh desde internet, será suficiente con abrir el puerto 22 usando el protocolo TCP para la ip privada de nuestro servidor.

Esto es todo por hoy. Esper que sea de vuestro agrado. Un saludo.