27 marzo 2011

Cambiar el usuario y la contraseña del administrador de OpenERP

Para cambiar el nombre del usuario administrador de OpenERP y su contraseña de procederse de la siguiente forma. Abrir una terminal e identificarse como usuario Postgres:
$ sudo su postgres
A continuación hay que entrar en la consola psql
# psql
Y seguidamente conectarse a la base de datos OpenERP cuyo administrador queremos modificar:
# \c nombre_base_datos
Una vez efectuada la conexión se debe dar la siguiente orden:
# update res_users set login='nuevo_admin', password='nueva_contraseña' where login='admin';
Donde nuevo_admin es el nuevo nombre que tendrá el administrador y nueva_contraseña la nueva contraseña. Para comprobar que los cambios se han realizado correctamente sólo queda dar la siguiente orden:
# select * from res_users;

11 septiembre 2010

Instal·lant una versió d'OpenERP en desenvolupament

En aquesta ocasió vaig a explicar com descarregar, instal·lar i provar un programa en estat de desenvolupament com OpenERP, utilitzant el software de control de versions Bazaar allotjat a Launchpad.


El primer que cal fer és instal·lar aquest programa de control de versions. Per fer-ho només cal donar aquesta ordre a la consola:



$ sudo aptitude install bzr

Una vegada instal·lat el programa, anem a la pàgina inicial de launchpad i cerquem el programa que volem provar, en aquest cas OpenERP.



Una vegada trobat el projecte...



Cliquem a sobre de la pestanya Code



I ens sortirà una pàgina on ens dirà l'ordre que tenim que donar per descarregar el projecte



Ara s'ha d'obrir una terminal i escriure aquesta ordre



$ bzr branch lp:openerp

Ens descarregarà dos fitxers que desarà en una carpeta anomenada openerp



Entrem en la carpeta openerp, i comprovem quines opcions d'execució té per baixar la versió que ens interesa executant



$ ./bzr_set.py --help


Veiem que no te gaires opcions. La que ens interessa és -v amb la versió trunk, per tant ordenem



$ ./bzr_set.py -v trunk


Començarà ara a descarregar tot el projecte...


Bé. Aprofitaré el temps per llegir l'arxiu README.txt a veure que diu. Per fer-ho, obriré un altre terminal i a continuació donaré la següent ordre



$ more README.txt

Aquí està el resultat



Vaja!, triga una mica... ¬¬. Tinc que pensar en contractar un servei ADSL més ràpid... M'ho apuntaré per demana'ls-hi als reis d'orient el proper nadal ;-)

Bé, aquest arxiu el que ens diu és que podem modificar les capçaleres del guió per configurar els links de les diferents branques amb les que tenim intenció de treballar, així com afegir els dels mòduls que volem afegir al projecte. Per defecte ens descarregarà el servidor, el client GTK i el client-servidor web, així com els mòduls oficials, els community i els extra. Com que aquests ja em van bé, no em cal tocar res. Menos mal! Amb el que m'ha costat entendre el que diu, i l'estona que porta descarregant, només m'hauria faltat que hagués de tornar a començar de nou. -_-'


Començo a veure alertes en les descàrregues. Suposo que és normal: aquesta és la branca en desenvolupament, i està en estat alfa.



Bé! Ja ha acabat. Ara puc comprovar que, tal com esperava, ha descarregat el servidor, el client GTK i el client-servidor web, a més a més dels mòduls oficial, community i extras. A més, m'ha creat enllaços simbòlics dels mòduls a la carpeta server/bin. Tot correcte. Ja podem començar a provar-ho :-)

14 agosto 2010

Instal·lant un servidor OpenERP

En aquesta entrada descriuré el procediment que he seguit per instal·lar un servidor d'OpenERP en una Ubuntu 10.04 Server de 64 bits

1.- Instal·lació del servidor de bases de dades: PostgreSQL.

1.1.- Instal·lació.

Primer de tot instal·lar el servidor linux. En el cas de l'exemple s'ha instal·lat un Ubuntu 10.04 Server mínim amb el servidor de bases de dades PostgreSQL (sense entorn gràfic ni cap altre servidor dels proposats automàticament en el moment de la instal·lació).

Una vegada finalitzada la instal·lació del servidor linux, instal·lar el servidor i el client de la base de dades PostgreSQL.

# aptitude install postgresql postgresql-client

Per defecte, a la versió d'Ubuntu 10.04 Server, s'instal·la la versió 8.4 de PostgreSQL. Les ordres per arrencar, aturar, reiniciar i conèixer l'estat del dimoni del servidor postgresql són, respectivament:

$ sudo /etc/init.d/postgres-8.4 start
$ sudo /etc/init.d/postgres-8.4 stop
$ sudo /etc/init.d/postgres-8.4 restart
$ sudo /etc/init.d/postgres-8.4 status

1.2.- Configuració.

A continuació cal editar l'arxiu /etc/postgresql/8.4/main/pg_hba.conf per a permetre connexions locals amb usuaris de PostgreSQL diferents dels usuaris de linux:

$ sudo nano /etc/postgresql/8.4/main/pg_hba.conf

Substituir la línia:

local all all ident

per la línia

local all all md5

Finalment reiniciar el servidor de PostgreSQL per a que els canvis siguin efectius:

$ sudo /etc/init.d/postgresql-8.4 restart

1.3.- Creació d'un usuari de PostgreSQL.

Ara s'ha de crear l'usuari de PostgreSQL amb la seva contrasenya i els privilegis per crear bases de dades.

$ sudo su postgres
$ createuser –pwpromtp usuari

Introduir dues vegades la contrasenya i respondre que l'usuari no serà superusuari [n], sí podrà crear bases de dades [y], i no podrà crear nous usuaris [n].

Sortir del shell de l'usuari postgres amb:

$ exit

1.4.-Modificació de la contrasenya de l'usuari postgres.

Per defecte, l'usuari postgres no té configurada cap contrasenya. Per establir contrasenyes, tant d'usuari Unix, com d'usuari Postgres, cal seguir els següents passos (figura 1). Executar el següent comandament:

$ sudo passwd postgres

Que ens demanarà que introduïm la contrasenya d'Unix dues vegades. A continuació ens identifiquem com usuari postgres, entrem en una consola psql i executem les següents ordres:

$ su postgres
$ psql
postgres=# \password postgres

I introduïm novament dues contrasenyes que ens identificaran en l'entorn del servidor PostgreSQL. Per sortir només cal executar els següents comandaments:

postgres=# \q
$ exit

Figura 1. Modificació de la contrasenya de l'usuari postgres

2.- Instal·lació de llibreries de Python i XML

Instal·lar les següents llibreries de Python i XML, necessàries per a la execució del servidor OpenERP amb les seves dependències:

$ sudo aptitude install python python-libxml2 python-libxslt1 python-lxml python-psycopg2 python-imaging python-reportlab python-pyparsing python-pydot graphviz python-matplotlib python-numpy python-tz gs-gpl python-pychart python-egenix-mxdatetime python-vobject

Si s'han de poder enviar emails mitjançant SSL, s'ha d'instal·lar també aquest altre paquet:

$ sudo aptitude install python-openssl

Si en la mateixa màquina s'han d'executar el servidor i el client d'OpenERP, s'ha d'instal·lar també el següent paquet:

$ sudo aptitude install python-hippocanvas

Finalment, per poder instal·lar el mòdul PowerMail, s'ha d'instal·lar python-mako

$ sudo aptitude install python-mako

3.- Instal·lació del servidor OpenERP

3.1.- Descàrrega i instal·lació del paquet.

De la pàgina d'OpenERP, descarregar el paquet de la darrera versió del servidor (en el moment de fer aquest petit manual és la 5.0.12):

$ wget http://www.openerp.com/download/stable/source/openerp-server-5.0.12.tar.gz

Per instal·lar aquest programa, únicament cal descomprimir-lo i desempaquetar-lo al directori /opt. Per fer-ho, primer crearem el directori OpenERP:

$ sudo mkdir /opt/OpenERP

A continució descomprimir i desempaquetar el fitxer amb:

$ sudo tar -xzf openerp-server-5.0.12.tar.gz -C /opt/OpenERP/

Comprovar que el servidor arrenca correctament:

$ /opt/OpenERP/openerp-server-5.0.12/bin/openerp-server.py

El resultat ha de ser més o menys el que es mostra a la figura 2.

Es a dir, ens ha d'informar sobre la versió que estem executant, ens ha d'indicar el directori on s'instal·laran els mòduls, ens informarà del hostname, el port i l'usuari amb que es connecta a la base de dades, i les tres darreres línies ens informen dels ports per on estaran escoltant els protocols XML-RPC i NET-RPC, així com que el servidor s'està executant i està esperant connexions.

Per interrompre l'execució del servidor prémer la combinació de tecles Ctrl + C*.

Figura 2: Execució del servidor OpenERP

* Nota: Si en matar el procés del servidor OpenERP amb Ctrl + C no acaba de morir, s'ha d'obrir un altre terminal virtual (Ctrl + Alt + F2) i s'ha de matar el procés manualment amb:

$ kill -9 `ps xa|grep openerp-server.py|grep python|awk '{print $1}'`

3.2.-Connexió del servidor OpenERP amb la base de dades PostgreSQL.

Per connectar el servidor OpenERP amb la base de dades, s'han d'incloure els següents paràmetres en el comandament d'arrencada: el host, el port i l'usuari i la contrasenya de PostgreSQL. Per defecte s'assumeix que el host és localhost (els servidors OpenERP i PostgreSQL estan a la mateixa màquina), i el port de PostgreSQL és el 5432. Per tant, per connectar amb l'usuari que es va crear anteriorment s'ha d'executar el següent comandament:

$ /opt/OpenERP/openerp-server-5.0.12/bin/openerp-server.py -r usuari -w contrasenya

Si hi hagués instal·lat cap client d'escriptori, ja es podria executar i connectar al servidor OpenERP situat a localhost, pels ports 8069 o 8070 per crear la base de dades inicial i finalitzar de configurar l'aplicació.

3.3.- Arxiu de configuració del servidor OpenERP.

Per crear l'arxiu de configuració automàticament cal executar el mateix comandament d'arrencada del servidor, aquesta vegada però, amb l'opció -s:

$ /opt/OpenERP/openerp-server-5.0.12/bin/openerp-server.py -r usuari -w contrasenya -s

En aquesta ocasió arrencarà el servidor, i a la mateixa vegada crearà l'arxiu .openerp_serverrc a la carpeta de l'usuari.

Caldrà moure aquest arxiu al directori /etc/OpenERP/openerp-server-5.0.12. Per fer-ho, primer s'han de crear els directoris corresponents:

$ sudo mkdir /etc/OpenERP
$ sudo mkdir /etc/OpenERP/openerp-server-5.0.12
$ sudo mv ~/.openerp_serverrc /etc/OpenERP/open-server-5.0.12/.openerp_serverrc

I a continuació s'han de restringir els permisos de lectura d'aquest arxiu per evitar que qualsevol usuari tingui accés a les contrasenyes que emmagatzema. Per fer-ho primer s'ha d'assignar a l'administrador del sistema com propietari del mateix, a continuació cal assegurar-se que només el propietari té permisos de lectura, i finalment s'ha de comprovar el que s'ha fet (figura 3):

$ sudo chown root:root /etc/OpenERP/openerp-server-5.0.12/.openerp_serverrc
$ sudo chmod 600 /etc/OpenERP/openerp-server-5.0.12/.openerp_serverrc
$ ls -la /etc/OpenERP/open-server-5.0.12
Figura 3: Canviant el propietari i els permisos de l'arxiu de configuració.

3.4.- Executant més d'un procés de servidor OpenERP a la mateixa màquina.

Amb la finalitat de poder executar més d'un procés de servidor OpenERP a la mateixa màquina, es poden crear copies de l'arxiu de configuració dintre del mateix directori amb diferents noms, que es poden llegir en el moment d'arrencada del servidor mitjançant l'opció --config. Això permet configurar diferents processos que escolten per ports diferents i que estan connectats a bases de dades distintes.

$ cd /etc/OpenERP/openerp-server-5.0.12/
$ sudo cp .open_serverrc .open_serverrc_empresaA
$ sudo cp .open_serverrc .open_serverrc_empresaB

A continuació caldria editar els arxius creats i modificar-los d'acord a les necessitats de cada empresa.

3.5.- Crear el guió d'arrencada, aturada, re-inici del servidor OpenERP.

Es aconsellable crear un guió que permeti aturar, arrencar, re-iniciar i conèixer l'estat dels processos dels diferents servidors OpenERP.




#!/bin/sh

### BEGIN INIT INFO
# Provides: openerp-server
# Required-Start: $syslog
# Required-Stop: $syslog
# Should-Start: $network
# Should-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Enterprise Resource Management software
# Description: Open ERP is a complete ERP and CRM software.
### END INIT INFO

PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/openerp-server
NAME=openerp-server
DESC=openerp-server

# Assign order (start, stop, restart|force-reload, status)to $ORDER
ORDER="${1}"
shift

# Specify the user name (Default: openerp).
#USER=openerp
if [ -z $1 ]; then
USER="jmartin"
else
USER="$1"
shift
fi

NAME=${NAME}_${USER}

# Specify an alternate config file (Default: ~/.openerp_serverrc).
# CONFIGFILE="~/.openerp_serverrc"
CONFIGFILE="~/.openerp_serverrc"

# Additional options that are passed to the Daemon.
PARAM=""
if [ $# -ge 1 ]; then
while [ ! -z "${1}" ]; do
PARAM="${PARAM} ${1}"
shift
done
fi
DAEMON_OPTS="--config=${CONFIGFILE} ${PARAM}"

# pidfile
PIDFILE="/var/run/${NAME}.pid"

test -x ${DAEMON} || exit 0

set -e

case "${ORDER}" in
start)
if [ -f ${PIDFILE} ]; then
echo "${NAME} already running: `cat ${PIDFILE}`"
exit 1
fi

echo -n "Starting ${DESC}: "
start-stop-daemon --start --quiet --pidfile /var/run/${NAME}.pid \
--chuid ${USER} --background --make-pidfile \
--exec ${DAEMON} -- ${DAEMON_OPTS}
echo "`cat ${PIDFILE}` running."
echo "${NAME}."
;;

stop)
if [ ! -f ${PIDFILE} ]; then
echo "${NAME} not running"
exit 1
fi

echo -n "Stopping ${DESC}: "

start-stop-daemon --stop --quiet --pidfile /var/run/${NAME}.pid \
--oknodo
echo "${NAME} `cat ${PIDFILE}`: stopped."
rm -f ${PIDFILE} # remove pidfile
;;

restart|force-reload)
echo -n "Restarting ${DESC}: "

start-stop-daemon --stop --quiet --pidfile /var/run/${NAME}.pid \
--oknodo

sleep 1

start-stop-daemon --start --quiet --pidfile /var/run/${NAME}.pid \
--chuid ${USER} --background --make-pidfile \
--exec ${DAEMON} -- ${DAEMON_OPTS}

echo "`cat ${PIDFILE}` restarted."
echo "${NAME}."
;;

status)
echo -n "Checking ${DESC}: "
if [ -f ${PIDFILE} ]; then
echo "`cat ${PIDFILE}` running."
else
echo "stopped."
fi
;;

*)
N=/etc/init.d/${NAME}
echo "Usage: ${NAME} {start|stop|restart|force-reload|status}" >&2
exit 1
;;
esac

exit 0

Aquest guió s'ha de desar al directori /etc/init.d/ i permet arrencar, re-arrencar, aturar i conèixer l'estat dels diferents processos del servidor OpenERP, amb els següents comandaments:

$ sudo /etc/init.d/openerp-server start
$ sudo /etc/init.d/openerp-server restart
$ sudo /etc/init.d/openerp-server stop
$ sudo /etc/init.d/openerp-server status

3.6.- Automatitzar l'arrencada del servidor OpenERP.

Per automatitzar l'arrencada del servidor OpenERP cal executar la següent ordre:

$ sudo update-rc.d openerp-server defaults 98

Els missatges del servidor no apareixen per pantalla doncs el servidor s'ha executat amb el comandament nohup, i en conseqüència, els desa a l'arxiu nohup.out de la carpeta bin del directori d'instal·lació. Per veure'ls en temps real i poder fer depuracions, executar:

$ sudo tail -f /opt/OpenERP/openerp-server-5.0.12/bin/nohup.out

A la següent entrada explicaré com instal·lar un servidor OpenERP des de cero amb l'ajuda d'un guió


Font original: http://www.aulaerp.com/

21 junio 2010

Squeeze Debian GNU/Linux Multiseat

Què és un Sistema Multiseat o Multiestació.

Un sistema Multiseat o multiestació, també anomenat multiterminal, multi-station, multihead, és la configuració especial d'un equip informàtic que permet treballar a múltiples usuaris al mateix temps, cadascun amb el seu propi monitor, teclat, ratolí i, opcionalment, amb la seva pròpia targeta de so.

Preparació del sistema.

L'equip utilitzat per fer aquest exemple ha estat un ordinador AMD Athlon 64 X2 Dual Core Processor 5000+; 2048 MB de memòria RAM; un disc dur de 320 GB; una targeta gràfica integrada Nvidia Geforce 8300 amb tres sortides (VGA/DVI/HDMI); dos monitors, un LG L196WTQ (1440x900) i un Acer P205H (1600x900); dos teclats, un PS/2 i un USB; i dos ratolins USB.
Es parteix de la base que ja es disposa d'un ordinador amb la versió Squeeze de Debian GNU/Linux instal·lada.
Abans de començar, cal configurar la xarxa i crear els usuaris necessaris donat que algunes eines de Gnome no funcionen quan es treballa amb múltiples sessions simultàniament. Després s'ha d'actualitzar el sistema amb:
# aptitude update
# aptitude safe-upgrade

Instal·lació dels driver propietaris d'Nvidia

Per modificar l'arxiu xorg.conf, i tenint en compte que es té una targeta gràfica Nvidia, primer de tot cal instal·lar els drivers propietaris de Nvidia que facilitaran molt la tasca. Començar descarregant els controladors de la pàgina oficial de Nvidia. Una vegada descarregats s'ha de parar el servidor X amb:
# /etc/init.d/gdm stop
També ens hem d'assegurar que tenim instal·lats els paquets necessaris per compilar el driver:
# aptitude install binutils gcc make linux-headers-`uname -r` 
A continuació s'ha d'executar el guió descarregat, que en el moment d'escriure aquest manual és la versió NVIDIA-Linux-x86_64-195.36.31-pkg2.run:
# sh ./NVIDIA-Linux-x86_64-195.36.31-pkg2.run
Una vegada instal·lat el controlador, es pot tornar a reiniciar el servidor X amb:
# /etc/init.d/gdm start
A més a més és molt important realitzar còpies de seguretat dels arxius xorg.conf i gdm.conf abans de començar perquè al llarg del procés de configuració pot ser necessari restablir-los.
# cp /etc/X11/xorg.conf /etc/X11/xorg.conf.original
# cp /etc/gdm/gdm.conf /etc/gdm/gdm.conf.original
Instal·lació de Xephyr
A continuació cal instal·lar xephyr i wmctrl. Aquests paquets no estan inclosos a la instal·lació per defecte, però es poden trobar als repositoris oficials.
# apt-get install xserver-xephyr wmctrl

Configuració del sistema multiestació.


Configuració del fitxer xorg.conf.


Ara es procedeix a configurar l'arxiu xorg.conf mitjançant l'eina NVIDA X Server settings que es troba al menú -> sistema -> preferències. Per fer-ho cal activar tots els monitors en mode TwinView com mostren les imatges següents:


Aprofitem aquest moment per conèixer la resolució de cada monitor, i anotem els resultats en un paper, doncs ho necessitarem més endavant. Aquest és el codi de l'arxiu xorg.conf una vegada aplicats i desats els canvis fets.
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 1.0 (buildmeister@builder58) Tue Oct 20 21:25:04 PDT 2009
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection

Section "Monitor"
Identifier "Monitor0"
VendorName "ACER"
ModelName "Acer P205H"
HorizSync 31.0 - 83.0
VertRefresh 56.0 - 75.0
Option "DPMS"
EndSection

Section "Monitor"
Identifier "Monitor1"
VendorName "LG Electronics"
ModelName "LG L196WTQ"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 75.0
EndSection

Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 8300"
EndSection

Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 8300"
BusID "PCI:2:0:0"
Screen 1
EndSection

Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinView" "1"
Option "TwinViewXineramaInfoOrder" "CRT-0"
Option "metamodes" "CRT: nvidia-auto-select +0+0, DFP: nvidia-auto-select +1600+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection

Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "TwinView" "0"
Option "metamodes" "DFP: nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection 

Creació del guió llançador del servidor xephyr: Xephyr-path.sh

A continuació cal crear el guió responsable de carregar les dues sessions del servidor Xephyr:
# gedit /usr/sbin/Xephyr-path.sh
amb el següent contingut:
#!/bin/bash
# 200906 - josean
# http://netpatia.blogspot.com/

trap "" usr1
XEPHYR=/usr/bin/Xephyr
DISPLAY=:0
XAUTHORITY=/var/lib/gdm/:0.Xauth
args=()

while [ ! -z "$1" ]; do
if [[ "$1" == "-kbdpath" ]]; then
shift
if [ ! -z "$1" ]; then
 args=("${args[@]}" "-keybd")
 args=("${args[@]}" "evdev,,device=/dev/input/by-path/$1,xkbrules=xorg,xkbmodel=evdev,xkblayout=es")
fi
elif [[ "$1" == "-mousepath" ]]; then
shift
if [ ! -z "$1" ]; then
 args=("${args[@]}" "-mouse")
 args=("${args[@]}" "evdev,,device=/dev/input/by-path/$1")
fi
else
args=("${args[@]}" "$1")
# echo "+++ args $1 +++" >> /tmp/logXephyr
fi
shift
done

# Next line is just to create a log file with the invocation parameters, for debug purposes
echo $XEPHYR -ac "${args[@]}" >> /tmp/logXephyr
exec $XEPHYR -ac "${args[@]}"
Finalment se li han de donar permisos d'execució al propietari (root):
# chmod 755 /usr/sbin/Xephyr-path.sh

Modificació de l'arxiu gdm.conf.

Per poder modificar l'arxiu gdm.conf, primer s'ha d'obtenir informació relativa als events d'entrada del sistema. Aquesta informació la proporciona les següents ordres:
# ls /dev/input/by-path/ | grep event | grep kbd
pci-0000:00:02.0-usb-0:3:1.0-event-kbd
platform-i8042-serio-0-event-kbd
# ls -la /dev/input/by-path/ | grep event | grep mouse
pci-0000:00:04.0-usb-0:1:1.0-event-mouse
pci-0000:00:04.0-usb-0:3:1.0-event-mouse
La primera ordre mostra els teclats, i la segona els ratolins. Tots els dispositius que comencen per "platform" corresponen als dispositius "PS/2" i els "PCI" són, òbviament, els USB.
A continuació ja es pot editar l'arxiu gdm.conf i afegir la informació necessària sota l'etiqueta [servers]. En l'exemple següent, ombrejat en groc, es mostra la configuració de les dues terminals d'acord als paràmetres de resolució i events d'entrada obtinguts anteriorment.
[servers]
# Also note, that if you redefine a [server-foo] section, then GDM will
# use the definition in this file, not the GDM System Defaults configuration
# file. It is currently not possible to disable a [server-foo] section
# defined in the GDM System Defaults configuration file.
#
# 0=Standard
#
# Means that DISPLAY ":0" will start an X server as defined in the
# [server-Standard] section.
# ****************************************************************************
# Multiseat setup (200906)

0=Xephyr0
1=Xephyr1
2=Xephyr2

[server-Xephyr0]
name=Xephyr0
command=/usr/bin/X -br -dpms -s 0
handled=false
flexible=false

[server-Xephyr1]
name=Xephyr1
command=/usr/sbin/Xephyr-path.sh -br -screen 1440x900 -kbdpath pci-0000:00:02.0-usb-0:3:1.0-event-kbd  -mousepath pci-0000:00:04.0-usb-0:3:1.0-event-mouse
handled=true
flexible=false

[server-Xephyr2]
name=Xephyr2
command=/usr/sbin/Xephyr-path.sh -br -screen 1600x900 -kbdpath platform-i8042-serio-0-event-kbd -mousepath pci-0000:00:04.0-usb-0:1:1.0-event-mouse
handled=true
flexible=false
# ***************************************************************************
El segon canvi que s'ha de fer en el fitxer gdm.conf està relacionat amb la petició d'autenticació. En la secció [daemon], s'ha de canviar la referència al “Greeter” original per una referència a un nou guió que s'encarregarà de col·locar cada finestra de xephyr a la seva posició correcta:
# ****************************************************************************
[daemon]
# The greeter for attached (non-xdmcp) logins. Change gdmlogin to gdmgreeter
# to get the new graphical greeter.
# Greeter=/usr/lib/gdm/gdmgreeter
Greeter=/usr/sbin/Xephyr-login.sh
# ****************************************************************************
Aquest guió serà cridat per l'usuari gdm, de mode que s'ha de crea el guió com a propietat d'aquest usuari, donant únicament permisos d'execució a aquest.
# gedit /usr/sbin/Xephyr-login.sh
# chown gdm:gdm /usr/sbin/Xephyr-login.sh
# chmod 744 /usr/sbin/Xephyr-login.sh
I el contingut del guió serà el següent:
#!/bin/bash
# /usr/sbin/Xephyr-login.sh

XAUTH_BASE=/var/lib/gdm/:0.Xauth
DISPL_BASE=:0

XEP=$(XAUTHORITY=$XAUTH_BASE xwininfo -root -children -display :0 | grep "Xephyr on :1" --max-count=1)
echo ${XEP} >> /tmp/logXephyrLogin

# assign values to positional parameters to obtain the id (first parameter) of the Xephyr window
set ${XEP}
DISPLAY=$DISPL_BASE XAUTHORITY=$XAUTH_BASE wmctrl -i -r $1 -e 0,1600,0,-1,-1
echo $1 >> /tmp/logXephyrLogin_1

/usr/lib/gdm/gdmlogin

En aquest cas s'ha desplaçat una de les sessions 1600 pixels a la dreta, donat que és la resolució de la pantalla de l'esquerra.

13 diciembre 2009

Cómo instalar webmin usando el repositorio APT de Webmin.

Para instalar y actualizar Webmin vía APT, edita el archivo /etc/apt/sources.list del sistema y agrega la línea:

deb http://download.webmin.com/download/repository sarge contrib

También se debe descargar e instalar la llave GPG con la cual se firmó el repositorio, con los comandos:

cd /root
wget http://www.webmin.com/jcameron-key.asc
apt-key add jcameron-key.asc

Ahora se podrá instalar webmin con los siguientes comandos:

apt-get update
apt-get install webmin

Todas las dependencias se deberían resolver automáticamente. A partir de aquí, lo único que hay que hacer para acceder al programa es abrir el navegador web e introducir la siguiente dirección URL:

https://localhost:10000/

Fuente original: http://www.webmin.com/deb.html

10 noviembre 2009

Instal·lació i configuració d'Oracle Exprés a Linux

Administració de l'Oracle

Instal·lació de l'Oracle

El primer pas és aconseguir l'executable de distribució gratuïta que posa l'Oracle a la nostra disposició en la seva pàgina web. En aquest cas hem optat per instal·lar la versió Oracle Express Edition 10g, que podreu trobar a l'URL:

http://www.oracle.com/lang/es/database/Express_Edition.html.

Podeu escollir entre una versió per al Linux i una per al Windows. Una vegada ja hagem baixat el fitxer (uns 160 MB aprox.), fem doble clic sobre el paquet *.deb i, si tenim instal·lat el paquet GDebi, s'ens obre el paquet per instal·lar-lo. En la primera pantalla (figura 1) veiem que efectivament hem baixat el fitxer correcte.

Figura 1. Pantalla de GDebi amb el paquet de l'Oracle

Els requisits per poder instal·lar el paquet sense problemes són:

RAM de l'ordinador

Espai Swap necessari

entre 0 i 256 megabytes

3 vegades la grandària de la RAM

entre 256 i 512 megabytes

2 vegades la grandària de la RAM

512 megabytes o més

1 gigabyte de Swap

Una altra forma d'instal·lació, si no temin instal·lat el programa GDebi, seria anar al directori de descàrrega del fitxer i donar l'ordre sudo dpkg -i oracle-xe-universal.deb des d'una terminal (figura 2):

Figura 2. Instal·lació de l'Oracle des d'una terminal

En acabar la instal·lació, ens avisa que em de configurar el servidor (figura 3).

Figura 3. Finalització de la instal·lació

Configuració.

Independentment de la fórmula emprada per instal·lar el paquet, després s'ha d'executar com a superusuari l'ordre /etc/init.d/oracle-xe configure per tal de configurar el servidor d'Oracle (figura 4):

Figura 4. Configuració de l'Oracle.

A continuació em d'indicar el número del port HTTP que voldrem que utilitzi l'Oracle Exprés (figura 5), per defecte el port 8080.

Figura 5. Configuració del port HTTP de l'Oracle Exprés.

I el número del port pel qual escoltarà la base de dades de l'Oracle (figura 6), per defecte el port 1521.

Figura 6. Configuració del port accés a la base de dades.

La pantalla de la figura 7 ens demana que introduïm una contrasenya a l'usuari SYSTEM del nostre SGBDR. Recordeu que aquest usuari després tindrà accés a totes les dades del sistema.

Figura 7. Assignació de la contrasenya de l'administrador

Ens demana la confirmació (figura 8).

Figura 8. Confirmació de la contrasenya de l'administrador.

I finalment ens demana si volem que el servidor s'arrenqui amb el sistema (figura 9), per defecte: sí.

Figura 9. Configuració d'arrencada del servidor.

La pantalla següent (figura 10) mostra un resum de totes les accions que s'han de fer durant la instal·lació del producte Oracle. Si arribem a aquesta pantalla, és que tot ha succeït com s'esperava. Ja tenim l'Oracle Express Edition instal·lat al nostre ordinador.

Figura 10. Instal·lació correcta

Creació d'usuaris.

Una vegada instal·lat el producte Oracle-xe, veurem que inclou una eina gràfica per fer les operacions d'administració. Per accedir-hi només cal que navegueu pel menú principal amb la ruta Oracle 10g Express Edition / Ir a pàgina inicial de la base de datos.

Si seguiu aquesta ruta s'activarà el navegador web i visualitzareu la pantalla de la figura 11 una vegada us hagueu identificat com a usuari SYS amb la contrasenya d'usuari SYSTEM.

Primer de tot veiem quins usuaris hi ha al sistema. Dins d'aquesta pantalla, fem clic en l'opció d'administració, ja que la feina que s'ha de fer (crear usuari) ho requereix.

Figura 11. Pantalla principal usuari SYS

Per trobar els usuaris del sistema fem clic en el Database users a la solapa d'administració (figura 12).

Figura 12. Solapa d'administració

Visualitzarem els usuaris del sistema (figura 13).

Figura 13. Visualització d'usuaris del sistema

Des d'aquesta pantalla es pot crear un usuari i atorgar-li els permisos necessaris per poder interactuar amb les bases de dades. Però aquesta no és la finalitat del nucli d'activitat: es pretén que es faci tot amb llenguatge SQL. Així doncs, tot seguit veurem com fer-ho.

Primer de tot hem de tornar enrere fins a la pantalla inicial d'usuari SYS, i una vegada en aquesta pantalla, hem d'anar a la pantalla d'ordres SQL.

Quan ja som a la pantalla d'execució d'ordres SQL, hem de seguir els passos per crear un nou usuari, creant-li un perfil i assignant-li un rol amb certs privilegis escollits per nosaltres.

Creem un usuari anomenat PROVA amb contrasenya prova i li assignem els dos tablespaces que creiem oportuns (figura 14).

Figura 14. Creació d'un usuari amb ordres SQL

A continuació li afegirem un espai de treball del qual no pot sortir. Estem restringint la quantitat de dades que pot arribar a generar. Li donem 100 megabytes (figura 15).

Figura 15. Modificació d'usuari en mode gràfic

Una vegada s'ha creat i té espai de treball, li crearem un perfil. Aquest perfil, anomenat NORMALET, indica, entre altres coses, que si roman 30 segons sense interactuar amb el sistema, aquest es desconnecti.

Figura 16. Creació d'un perfil d'usuari

A continuació creem un rol que després assignarem a l'usuari o usuaris que ens interessi (figura 17). Els privilegis s'hi afegiran després.

Figura 17. Creació d'un rol

Hi afegim els privilegis CONNECT i RESOURCE (figura 18), que són els requisits mínims per poder connectar-se a la base de dades per fer les operacions més bàsiques.

Figura 18. Addició de privilegis al rol creat

Després atorguem el rol a l'usuari (figura 19), fent que els privilegis del rol ara passin a ser també els de l'usuari en qüestió.

Figura 19. Atorgar el rol a l'usuari

Finalment, atorguem el perfil creat abans a l'usuari en qüestió (figura 20). Ara ja està preparat l'usuari per ser utilitzat amb les restriccions i la seguretat desitjades.

Figura 20. Atorguem el perfil a l'usuari

13 septiembre 2006

Cómo recibir y enviar correo Hotmail desde Thunderbird

En esta entrada describiré los pasos que se deben seguir para poder recibir y enviar mensajes de nuestra cuenta de correo de Hotmail, con nuestro programa gestor de correos electrónicos favorito: Mozilla Thuderbird. He comprobado que este metodo funciona tanto en güindou$, como en Ubuntu 32 y 64.

1.- Lo primero que tenemos que hacer es descargarnos las extensiones web-mail-y-y-yy-y.xpi y hotmail-y-y-yy.xpi de este mirror (donde la y representa la versión de cada una de las extensiones), y guardarlas en nuestro disco duro.

2.- A continuación abriremos nuestro Mozilla Thunderbird.

3.- Después abrimos Herramientas->Extensiones, y clicamos sobre el botón instalar.

4.- Se nos abrirá un navegador en el que deberemos indicarle la carpeta donde guardamos las extensiones que descargamos antes, e instalamos primero web-mail-y-y-yy-y.xpi.

5.- Aceptamos y reiniciamos Thunderbird para que la instalación sea efectiva, y abrimos nuevamente Herramientas->Extensiones.

6.- Buscamos la extensión que acabamos de instalar (web-mail), la marcamos con un clic del botón izquierdo del ratón y clicamos sobre preferencias. Nos aparecerá una pantalla como esta:


Figura 1.

7.- Si los circulos de POP y SMTP no aparecen verdes como en esta imagen, entonces abre la pestaña 'Habilitar' y asegurate de que ambos servidores están habilitados. Si no lo estuvieran, los habilitamos y reiniciamos Thunderbird nuevamente.


Figura 2.

8.- Una vez reiniciado Thunderbird, o en el caso de que sí estuviesen activados, abrimos la pestaña 'Puertos', y asignamos los puertos que queramos utilizar para acceder a nuestra cuenta de Hotmail. Es importante utilizar números por encima de 1024. En la figura se puede comprobar que se han utilizado los puertos 2000 para POP, y 2001 para SMTP.


Figura 3.

9.- Reiniciamos nuevamente Thunderbird para que los cambios tengan efecto y comprobamos que ahora sí se han puesto verdes las dos bolitas de las preferencias de la extensión web-mail en Herramientas->Extensiones (Figura 1).

10.- Ahora instalamos la extensión Hotmail-y-y-yy.xpi. Para ello volvemos a abrir Herramientas->Extensiones y clicamos sobre el botón instalar.

11.- Buscamos la extensión hotmail-y-y-yy.xpi que guardamos en el disco duro, instalamos y reiniciamos nuevamente Thunderbird para que la instalación se haga efectiva.

12.- Ahora toca configurar nuestra cuenta Hotmail. Para ello abrimos Editar->Configuración de las Cuentas, y clicamos sobre el botón Añadir Cuenta.

13.- Seleccionamos Cuenta de Correo Electrónico y pulsamos en siguiente.

14.- Introducimos nuestro nombre, nuestra dirección de Correo@hotmail.com, y clicamos en siguiente.

15.- Seleccionamos el tipo de Servidor de Correo Entrante: POP, y en el nombre del Servidor ponemos "localhost" o "127.0.0.1", a nuestra elección. Clicamos en siguiente.

16.- En el nombre de usuario entrante ponemos nuevamente nuestra dirección de Correo@hotmail.com, y pasamos a la siguiente pantalla.

17.- Y en el nombre de la cuenta podemos identificarla únicamente como "Hotmail". Aceptamos y Terminamos.

18.- Volvemos a la ventana "Configuración de las Cuentas", y seleccionamos "Configuración del Servidor" de nuestra cuenta "Hotmail", y nos aseguramos que el puerto del Servidor de Correo Entrante POP sea el mismo que el que le abrimos en la Extensión web-mail, en este ejemplo, el 2000.


Figura 4.

19.- Y por fin llegamos a la configuración para enviar mensajes desde Thunderbird a través de nuestra cuenta Hotmail. Volvemos a la ventana "Configuración de las Cuentas", seleccionamos "Servidor de Salida (SMTP)", y clicamos sobre el botón "Añadir".


Figura 5.

20.- Se nos abrirá una ventana como esta:


Figura 6.

E introduciremos los siguientes datos:
Descripción: Podemos llamarla también "Hotmail", para distinguirla del resto de servidores de correo saliente.
Nombre de Servidor: "localhost" o "127.0.0.1" a nuestra elección.
En el Puerto, pondremos el mismo que seleccionamos en la Extensión web-mail. En el caso de nuestro ejemplo, el 2001.
Y finalmente, en el "Nombre de Usuario", indicamos nuestra dirección de Correo@hotmail.com


Figura 7.

21.- Volvemos a seleccionar nuestra cuenta "Hotmail" en la ventana "Configuración de la Cuenta" y en el "Servidor Saliente (SMTP)" seleccionamos "Hotmail-localhost". Aceptamos y ya hemos acabado.


Figura 8.

Ahora podemos comprobar como podemos recibir y enviar correos electrónicos desde nuestra cuenta Hotmail con Thunderbird.

11 septiembre 2006

GRUB al estilo SuSE para Ubuntu 64

A quien haya probado SuSE, la pantalla GRUB de Ubuntu puede parecerle un poco austera. En esta entrada explicaré un método para instalar una pantalla de inicio igual de bonita que en SuSE, pero para Ubuntu 64.



En primer lugar, deberemos descargarnos el paquete grub-gfxboot de aquí. Evidentemente, debemos optar por el paquete denominado grub-gfxboot_x.xx-xx_amd64.deb, donde las x hacen referencia a la versión disponible.

A continuación nos descargamos el tema que más nos guste de entre los siguientes:

Light Green generic theme [message.gobo] | Link | Screenshot
Dark Brown (Dapper look) generic theme [message.new] | Link | Screenshot
Medium blue kubuntu theme [message.kubuntu] | Link | Screenshot
Dark grey ubuntu theme [message.ubugrey] | Link | Screenshot
Medium brown ubuntu theme [message.ububrown] | Link | Screenshot
Light orange ubuntu theme [message.ubu] | Link | Screenshot
Red ubuntu theme [message.new] | Link | Screenshot
Fuzzy blue and black ubuntu theme [message.bluspash] | Link | Screenshot
White / Grey Snowish generic theme [message.snow] | Link | Screenshot
Linspire-style blue kubuntu theme [message.kubu] | Link | Screenshot
Old- Grub style dark blue and light blue [message.kubu] | Link | Screenshot
Light blue / grey Xubuntu theme [message.xubu] | Link | Screenshot

Y ya estamos listos para iniciar la instalación.

1.- Abrimos una terminal y desinstalamos Grub:

$ sudo aptitude remove grub

2.- Instalamos el paquete que acabamos de descargar. Para ello nos situamos en el directorio donde lo hayamos guardado y ejecutamos:

$ sudo dpkg -i grub-gfxboot_x.xx-x_amd64.deb

Donde las x deben sustituir a los números de la versión que nos hemos descargado.

3.- A continuación deberíamos instalar el nuevo Grub, pero puesto que tenemos que hacerlo en el mismo lugar donde estaba, para estar seguros de donde lo tenemos, ejecutamos la siguiente orden:

$ cat /boot/grub/menu.lst | grep kopt=root=/dev/

Y nos fijamos en la salida '/dev/hd**'.

## e.g. kopt=root=/dev/hda1 ro
# kopt=root=/dev/hda2 ro <-----En este caso sería /dev/hda2

Ahora sí, instalamos el nuevo Grub:

$ sudo grub-install /dev/hda2

4.- Lo siguiente es descomprimir el tema .zip que bajamos antes y copiarlo dentro de /boot/grub. En el ejemplo de la imagen sería:

$ sudo cp message.ubu /boot/grub/

5.- Finalmente editarmos el menú del grub:

$ sudo gedit /boot/grub/menu.lst

Y añadimos esta línea al principio.

gfxmenu /boot/grub/message.ubu

Ya hemos acabado. La próxima vez que reiniciemos el sistema podremos comprobar cómo nos ha quedado.


Fuentes:
http://www.ubuntuforums.org/showthread.php?t=208855
http://www.guia-ubuntu.org/dapper/index.php/GRUB_al_estilo_de_SUSE

10 septiembre 2006

Cómo restaurar Grub en Ubuntu 64

En esta entrada explicaré dos métodos para restaurar GRUB en Ubuntu 64. El primero con el Live-CD de instalación, el segundo (más sencillo), con un floppy disk que contenga GRUB.

Metodo 1:

1.- Arrancar el sistema con el live-CD de Ubuntu.

2.- Abrir una terminal y ejecutar lo siguiente:

$ sudo mount /dev/hda2 /mnt # Ver Nota 1
$ sudo mount -o bind /dev /mnt/dev # Ver Nota 2
$ sudo mount -o bind /proc /mnt/proc # Ver Nota 2
$ sudo chroot /mnt
# grub-install /dev/hda
# Ctrl+D
$ Ctrl+D

3.- Reinicia el sistema.

Nota 1: Suponiendo que tienes Ubuntu instalado en la segunda partición del primer disco duro.

Nota 2: Haciéndolo de esta forma, evitamos el error que aparecería tras la ejecución de

# grub-install /dev/hda
/dev/hda: Not found or not a block device

Método 2:

1.- Arrancar el sistema con el floppy disk en el que grabamos GRUB de Ubuntu (Vease entrada en este mismo blog).

2.- Abrir una terminal y ejecutar lo siguiente:

$ sudo grub-install /dev/hda
$ Ctrl+D

3.- Reinicia el sistema.

Cómo crear un floppy disk con GRUB para Ubuntu 64

En esta entrada describiré el proceso para crear un floppy disk con el cargador de arranque GRUB.

1.- Abrimos una terminal (Aplicaciones -> Accesorios -> Terminal), y formateamos el disquette:

~$ mkfs -t ext2 /dev/fd0

2.- A continuación montamos la unidad:

~$ sudo mount -t ext2 /dev/fd0 /media/floppy

Password: (se introduce la contraseña)

Si no tuvieras creado el punto de montaje '/media/floppy', lo puedes crear con

~$ sudo mkdir /media/floppy

3.- Añadimos GRUB al disquette mediante el script 'grub-install':

~$ sudo grub-install --root-directory=/media/floppy fd0

Al final te muestra un mensaje como este.

This is the contents of the device map /media/floppy/boot/grub/device.map.

Check if this is correct or not. If any of the lines is incorrect, fix it and re-run the script `grub-install'.

(fd0) /dev/fd0

(hd0) /dev/hda

Si no te reconoce correctamente las unidades, re-ejecuta el scritp grub-install (fd0 se refiere a la primera unidad de floppy disk y hd0 al primer disco duro).

4.- A continuación copiamos el menú de GRUB de nuestro disco duro al disquette:

~$ sudo cp /boot/grub/menu.lst /media/floppy/boot/grub

5.- Y finalmente desmontamos la unidad:

~$ sudo umount /media/floppy

Ahora tocaría reiniciar el sistema para probarlo.

09 septiembre 2006

D-Link DSL-504T

Cómo configurar un Router D-Link DSL-504T en Ubuntu 64.

Para no afectar al resto de sistemas operativos y ordenadores conectados a este router, se abre la página del mismo.

http://192.168.1.1 (Pide usuario y contraseña. Se introducen)

Y desde la pestaña Home -> DHCP, se asigna una dirección fija a la Dirección MAC de la tarjeta de red de cada uno de los ordenadores. Se aplica.

A continuación vas a la pestaña Advanced -> LAN Clients, y asignas la misma Dirección IP a cada uno de los ordenadores. Aplicas.

Finalmente queda salvar y reiniciar en la pestaña Tools -> System. Para evitar los problemas en este último paso desde Firefox, clica con el botón derecho del ratón sobre Save and Reboot. Se abre un menú desplegable. Clica sobre "Este marco" -> "Mostrar sólo este marco". A continuación ya funciona normalmente el botón Save and Reboot.

Después sólo tienes que establecer los mismos parámetros en Ubuntu. Abre
Sistema -> Administración -> Red y abre las propiedades de la Conexión Ethernet de la pestaña Conexiones. Cambia la configuración a Dirección IP Estática, e introduce los mismos valores que en el router. Acepta.

A continuación abre la pestaña DNS. Elimina el valor 192.168.1.1 y añade 127.0.0.1 y los que te de tu servidor ISP. Acepta y a navegar.