30 de març 2010

Entorn virtual en python

Python ens ofereix la possibilitat de crear un entorn virtual amb el seus propis paquets.
Per fer-ho farem ús de l'eina vitualenv.

Obrim una consola i:

pip install virtualenv

En cas que no tinguem instal·lat el gestor de paquets pip, abans, executem:

easy_install pip

en situem al directori on volem crear la carpeta que contindrà l'entorn virtual i executem:

virtualenv --no-site-packages py-env

La opció --no-site-packages serveix per indicar que només volem les llibreries per defecte i no tot el que hi ha dis del site-packages en aquests moments.
py-env, és la carpeta on posarà tot l'entorn

entrem al directori:

cd py-env

i activem l'entorn a amb amb la comanda:

C:\py-env>Scripts\activate.bat

Ara hauriem de veure això.

(py-env) C:\py-env>


Dins aquest entorn ja podem instal·lar els paquets que necessitem, per exemple el Pil, django.

23 de nov. 2009

Actualitzar columnes amb geometria

La funció "Probe_Geometry_Columns()" cerca totes les taules amb constraints geomètiques cercant columnes amb geometria  
i les afegeix a la taula de GEOMETRY_COLUMNS si no hi són.

La comanada és:
SELECT Probe_Geometry_Columns();

3 d’abr. 2009

Mapserver i IIS

1) De la pàgina http://maptools.org/ms4w/index.phtml?page=downloads.html descarreguem ms4w_2.3.1.zip i el descomprimim i copiem la carpeta ms4w a C:\ms4w
2) Creem un directori virtual en l'IIS que apunti a C:\ms4w\Apache\cgi-bin, per exemple ms4wcgi-bin
Establim per aquest directory virtual "execute permissions:" a "Scripts and Executables"
Accept the virtual directory
3) Obrim "Web Service Extensions" del "IIS service manager"
Seleccionem "Add a new web service extension" I a "Required files" posem C:\ms4w\Apache\cgi-bin\mapserv.exe
Activem "Set extension status to Allowed"
Premem "Ok"
4) Obrim l'explorador de windows i donem permisos d'execució per la carpeta C:\ms4w\Apache\cgi-bin\ a l'usuari que corre l'IIS, IIS_NOMMAQUINA
5) Afegim a la variable de sistema Path:
;C:\ms4w\Apache\cgi-bin;C:\ms4w\tools\gdal-ogr;C:\ms4w\tools\mapserv;C:\ms4w\tools\shapelib;C:\ms4w\proj\bin;C:\ms4w\tools\shp2tile;C:\ms4w\tools\shpdiff;C:\ms4w\tools\avce00;C:\ms4w\tools\demtools;
Creem les següents variables de sistema:
GDAL_DATA=C:\ms4w\gdaldata
DAL_DRIVER_PATH=C:\ms4w\gdalplugins
PROJ_LIB=C:\ms4w\proj\nad
6) Reiniciem l'IIS amb la comanda IISRESET /RESTART a la consola de comandes
7) Provem si funciona, posen en el navegador running http://localhost/ms4wcgi-bin/mapserv.exe si surt un missatge amb el text "No query information to decode. QUERY_STRING is set, but empty." el Mapserver ja està funcionant.

2 d’abr. 2009

Còpies de seguretat amb postgres

Per fer una còpia:

set PGPASSWORD=lamevaclau
pg_dump -Upostgres nombasedades > nombasedades.sql


Per restaurar una còpia:

set PGPASSWORD=lamevaclau
psql -U postgres nombasedades
\i nombasedades.sql

23 de març 2009

Fent que el php vagi més ràpid

cd /usr/src
wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2

bunzip2 eaccelerator-0.9.5.3.tar.bz2
tar xfv eaccelerator-0.9.5.3.tar
rm -f eaccelerator-0.9.5.3.tar
cd eaccelerator-0.9.5.3

export PHP_PREFIX="/usr"
$PHP_PREFIX/bin/phpize
./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
make
make install

mkdir /tmp/eaccelerator

Posem això just abans de la secció [Date] del fitxer /etc/php5/apache2/php.ini

extension="eaccelerator.so"
eaccelerator.shm_size="32"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"


I reiniciem l'apache amb la comanda
/etc/init.d/apache2 restart

Postgres 8.3

A continuació us detallo una breu instal·lació del postgres sobre debian.
A la consola executem la comanda:
apt-get install postgresql-8.3

Del fitxer /etc/postgresql/8.3/main/postgresql.conf en modifiquem el següent:

#listen_addresses = 'localhost'
passa a
listen_addresses = '*'

El fitxer /etc/postgresql/8.3/main/pg_hba.conf jo l'he deixat així.

# Database administrative login by UNIX sockets
local all postgres ident sameuser
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all ident sameuser
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 10.0.1.0 255.255.255.0 md5
host all all 192.168.1.0 255.255.255.0 md5
# IPv6 local connections:
#host all all ::1/128 md5

Per reiniciar el servidor o fem amb la comanda:
/etc/init.d/postgresql-8.3 restart

També us pot ser útil el següent:

Llistat de les bases de dades existents.
sudo -u postgres psql -l

Llistat de les bases de dades existents.
sudo -u postgres psql -l

Per crear usuaris, en el meu cas creo l'usuari "usuarip".
sudo -u postgres createuser -D -A -P usuarip
#creem la base de dades pijardins per l'usuari usuarip
sudo -u postgres createdb -O usuarip pijardins

Per veure les bases de dades que tenim.
sudo -u postgres psql -l

Modificar la clau de l'usuari postgres.
sudo -u postgres psql -d template1
ALTER USER postgres WITH PASSWORD 'laNostraClau';
\q

16 de març 2009

Comandes útils per mssql server

/*EXPLAIN*/
sp_help nomTaula
GO


/*SHOW tables*/
SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
GO