martes, mayo 05, 2009

Agregar repositorio RPMForge a Centos 5

Por requerimientos mi trabajo tuve que empezar a trabajar con CentOS, al principio no me resultó muy complicado ya que hacia tiempo usaba GNU Linux aunque venia de Debian/Ubuntu.
Comencé a sentir las diferencias cuando usé el yum y me faltaban paquetes de todo tipo. Googleando un poco encontré que existe RPMForge como repositorio de RedHat, Fedora y CentOS.

Así que instalé el repositorio según los pasos de la wiki del site de CentOS.


Instalar el paquete yum-priorities



yum install yum-priorities

Habilitar el módulos desde /etc/yum/pluginconf.d/priorities.conf


[main]
enabled=1


Editar todos los archivos .repo (/etc/yum.repos.d) y agregarles el parámetro
priority=N (N es un número de 1 a 99)



La configuración recomendada es:


[base], [addons], [updates], [extras] ... priority=1
[centosplus],[contrib] ... priority=2

En rpmforge el valor de priority=N debe ser mayor a 10



Instalar el RPM de RPMForge, para eso descargamos según corresponda.



i386 http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
x86_64 http://apt.sw.be/redhat/el5/en/x86_64/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

Instalar la DAG's GPG key



rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

Verificamos el paquete que bajamos



rpm -K rpmforge-release-0.3.6-1.el5.rf.*.rpm

Ahora si, instalamos el rpm



rpm -i rpmforge-release-0.3.6-1.el5.rf.*.rpm

Testear la instalación



yum check-update


Listo, si todo esta bien deberían verificarse las actualizaciones y decir cuantos paquetes hay disponibles.


Bonus:
A la hora de probar la aplicación tuve problemas de TimeOut: http://fr2.rpmfind.net/linux/dag/redhat/el5/en/x86_64/rpmforge/repodata/primary.xml.gz: [Errno 12] Timeout:

Buscando mucho en la Web y después de leer muchas posibles soluciones, encontré la más simple. En el archivo /etc/yum.repos.d/rpmforge.repo se le agrega el parámetro de timeout (que por default son 30 segundos) con 300 (soy muy generozo)

lunes, marzo 30, 2009

Instalando pymssql en Ubuntu

Necesitaba leer unos datos que se encontraban en un MS SQL 2005 y recurrí directamente Python. Busqué un par de módulos que hay disponibles y verifiqué en PyAr ¿qué usa la gente que sabe? Me baje pymssql 1.0.1, instale y empecé a renegar.
Googleando un poco encontre que requiere del módulo Freetds-dev que es un protocolo para conectar MS SQL y Sybase sobre TCP/IP.

Así que sudo apt-get install freetds-dev

y después si, instale el pymssql y salio andando.

miércoles, febrero 04, 2009

Actualizar versión de Python en Debian

1) Instalé en este caso Python 2.5 en Debian Etch con

apt-get install python2.5

2) Modifiqué el archivo /usr/share/python/debian_defaults

Para que mi python por default sea la esta última versión.

[DEFAULT]
# the default python version
default-version = python2.5

# all supported python versions
supported-versions = python2.4, python2.5

# formerly supported python versions
old-versions = python2.3

# unsupported versions, including older versions
unsupported-versions = python2.3

3) Cambié el enlace simbólico /usr/bin/python para que apunte a python2.5

4) Por último, ejecute

pycentral updatedefault python2.4 python2.5

Listo!

server-0:/# python -V
Python 2.5

Espero sea de utilidad.

lunes, febrero 02, 2009

Instalación de MapGuide sobre XP con FDO para Postgis

MapGuide Open Source es una plataforma basada en web para desarrollar aplicaciones de GIS. Estuve tratando de instalarlo en un XP UE que corre en vbox sobre Ubuntu y después de muchas idas y vueltas (y a Ramiro y Ronco que me dieron una mano) salió andando. Acá dejo un paso a paso:
  1. Instalar MapGuide Server (MgServerSetup-x.x.x)

  2. Instalar la extención MgWebServerExtensionsSetup-x.x

  3. Agregar el FDO para Postgres Postgis

    1. Reemplazar las librerias que están en

%MAPGUIDE_INSTALL%\bin\FDO\ con las que están en FDOpg33.zip

    1. Agregar en providers.xml lo siguiente:

<FeatureProvider>
<Name>OSGeo.PostGIS.3.3</Name>
<DisplayName>OSGeo FDO Provider for PostGIS</DisplayName>
<Description>Read/write access to spatial and attribute data in an PostGIS.</Description>
<IsManaged>False</IsManaged>
<Version>3.3.0.0</Version>
<FeatureDataObjectsVersion>3.3.0.0</FeatureDataObjectsVersion>
<LibraryPath>.\PostGISProvider.dll</LibraryPath>
</FeatureProvider>

  1. Aplicar el parche para Firefox 3, esto si es la versión de mapguide 2.0 en versiones nuevas no es necesario.

    Hay que copiar y reemplazar los archivos que están en FixedFiles.zip

  2. En caso el caso de realizar una prueba y que de un error al conectar el con PostGIS probar con DependencyWalker para ver si PostGISProvider.dll requiere alguna dll que no exista.

viernes, enero 09, 2009

Agregar el template_postgis en PostgreSQL

Después de renegar un poquito con mi instalación de postgis en Ubuntu, puntualmente era que no tenia instalado el template_postgis. Revolví un poco en google y encontre esto (que es literalmente como se dice un COPY & PASTE!! de aquí). Lo único que tuve que modificar fue la ruta a los archivos lwpostgis.sql y spatial_ref_sys.sql

Nota: el archivo lwpostgis.sql también se puede encontrar como: postgis.sql, en mi Ubuntu (Karmic) el directorio donde se encuentran estos archivos es: /usr/share/postgresql/8.4/contrib/postgis-1.5/


# Create a database with UTF encoding
$ createdb -E UTF8 -O postgres -U postgres template_postgis

# Load the required language for PostGIS
$ createlang plpgsql -d template_postgis -U postgres

# Load postgis functions and spatial reference info
# which are sometimes installed in the postgres share directory ($ pg_config --sharedir)
# Also look for lwpostgis.sql and spatial_ref_sys.sql in (/usr/share/ or /usr/local/share/)

# Once you have found the correct location, load the first sql into your template db:
$ psql -d template_postgis -U postgres -f /usr/share/lwpostgis.sql


# Note: ignore any NOTICES, like 'psql:/usr/share/lwpostgis.sql:44: NOTICE: type "histogram2d" is not yet defined'
# You should see output like:
BEGIN
CREATE FUNCTION
CREATE OPERATOR
CREATE TYPE
CREATE AGGREGATE
COMMIT

# Then load the geographic projection tables
$ psql -d template_postgis -U postgres -f /usr/share/spatial_ref_sys.sql

# if you get an error about not being able to find `geos` add /usr/local/lib to /etc/ld.so.conf
# And run:
$ ldconfig # Then restart PostgreSQL