Aloquevamos.com Blog, ocasionalmente…

4Dec/100

Instalar certificado en IIS 7

Posted by Chiru

El otro día tuve que instalar un certificado para SSL en un IIS 7 (en Windows Server 2008). El caso es que en cuanto me puse, me encontré con un problema, el certificado se instala correctamente, y justo después desaparece.

Por lo que parece, en IIS 7, el certificado que instales tiene que llevar la clave pública y la clave privada obligatoriamente. En IIS 6, sobre Windows Server 2003 valía con instalar una clave pública, pero en IIS 7 no.

Al final buscando un poco en Google, encontré esto. Es para SQL Server 2008, pero el mismo método sirve para IIS 7.

Básicamente, tenemos que tener la clave pública y la privada en ficheros separados (al fin y al cabo, nos hacen falta para solicitar el certificado). Opcionalmente podemos tener el certificado de la entidad intermedia, pero no es obligatorio. Ah y necesitamos tener instalado openssl. Yo lo hice desde una estación de trabajo linux y lo instalé con apt-get, para instalarlo en Windows... supongo que habrá algún instalable.

Para generar el certificado válido para IIS 7 tenemos que ejecutar el comando:

openssl pkcs12 -export -out certificate.pfx -inkey privatekey.txt -in certificate.txt -certfile intermediate.txt

Dónde privatekey.txt es la clave privada, certificate.txt es el certificado público y intermediate.txt, si lo tenemos, es el certificado de la entidad intermedia. Si no lo tenemos basta con quitar la parte "-certfile intermediate.txt".

23Nov/100

Ampliar soft partitions en Solaris 10

Posted by Chiru

Queremos romper una soft partition (en nuestro ejemplo, la d147) y repartir el tamaño en dos soft partitions nuevas y reaprovechar el tamaño sobrante para extender otra soft partition del mismo metadevice.

d147: Soft Partition
Device: d104
State: Okay
Size: 50331648 blocks (24 GB)
Extent              Start Block              Block count
0                138412288                 50331648

d104: Mirror
Submirror 0: d114
State: Okay
Submirror 1: d124
State: Okay
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 189009024 blocks (90 GB)

d114: Submirror of d104
State: Okay
Size: 189009024 blocks (90 GB)
Stripe 0:
Device     Start Block  Dbase        State Reloc Hot Spare
c0t0d0s4          0     No            Okay   Yes

d124: Submirror of d104
State: Okay
Size: 189009024 blocks (90 GB)
Stripe 0:
Device     Start Block  Dbase        State Reloc Hot Spare
c0t1d0s4          0     No            Okay   Yes

Para borrar la soft partition:

root@solaris10 # metaclear d147
d147: Soft Partition is cleared

Y creamos dos soft partitions de 10GB cada una:

root@solaris10 # metainit d147 -p d104 10g
d147: Soft Partition is setup
root@solaris10 # metainit d148 -p d104 10g
d148: Soft Partition is setup

-p le dice a metainit que queremos crear una softpartition. En el device, en vez de un identificador de disco (cXtXdXsX), le pasamos el metadevice en cuestión (d104) y le decimos que tamaño tiene que tener (en este caso 10GB). Para ver el resultado:

root@solaris10 # metastat
...
d148: Soft Partition
Device: d104
State: Okay
Size: 20971520 blocks (10 GB)
Extent              Start Block              Block count
0                159383840                 20971520

d104: Mirror
Submirror 0: d114
State: Okay
Submirror 1: d124
State: Okay
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 189009024 blocks (90 GB)

d114: Submirror of d104
State: Okay
Size: 189009024 blocks (90 GB)
Stripe 0:
Device     Start Block  Dbase        State Reloc Hot Spare
c0t0d0s4          0     No            Okay   Yes

d124: Submirror of d104
State: Okay
Size: 189009024 blocks (90 GB)
Stripe 0:
Device     Start Block  Dbase        State Reloc Hot Spare
c0t1d0s4          0     No            Okay   Yes

d147: Soft Partition
Device: d104
State: Okay
Size: 20971520 blocks (10 GB)
Extent              Start Block              Block count
0                138412288                 20971520
...

Ya podemos crear un filsystem en esas particiones para poder montarlas. Ahora asignamos el espacio disponible (~4GB) a la soft partition d145 que esta en el mismo metadevice:

root@solaris10 # metattach d145 all
d145: Soft Partition has been grown

Le decimos que queremos asignar a la soft partition d145 todo el espacio disponible en el device en que reside (en este caso el metadevice d104)

root@solaris10 # metastat
...
d145: Soft Partition
Device: d104
State: Okay
Size: 29625453 blocks (14 GB)
Extent              Start Block              Block count
0                109052096                 20971551
1                        1                       30
2                 41943073                       30
3                 83886145                       30
4                 85983329                       30
5                106954881                       30
6                109052065                       30
7                138412257                       30
8                159383809                       30
9                180355361                  8653662
...

Con esto hemos extendido la soft partition, pero el filsystem sigue teniendo el mismo tamaño:

root@solaris10 # df -h
...
/dev/md/dsk/d145       9.8G   5.7G   4.0G    59%    /zona/pepe/usr/sap/PEP
...

Usamos growfs para expandir el sistema de archivos en caliente:

root@solaris10 # growfs -M /zona/pepe/usr/sap/PEP /dev/md/rdsk/d145
/dev/md/rdsk/d145: Unable to find Media type. Proceeding with system determined parameters.
/dev/md/rdsk/d145: Unable to find Media type. Proceeding with system determined parameters.
Warning: 916 sector(s) in last cylinder unallocated
/dev/md/rdsk/d145:      29625452 sectors in 4822 cylinders of 48 tracks, 128 sectors
14465.6MB in 302 cyl groups (16 c/g, 48.00MB/g, 5824 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
32, 98464, 196896, 295328, 393760, 492192, 590624, 689056, 787488, 885920,
28709408, 28807840, 28906272, 29004704, 29103136, 29201568, 29300000,
29398432, 29496864, 29595296

A growfs hay que pasarle el punto de montaje que queremos extender (-M /zona/pepe/usr/sap/PEP) y el raw device sobre el que
se tiene que extender (la soft partition que acabamos de extender). Ahora podemos comprobar que el filsystem ocupa los 14GB.

root@solaris10 # df -h
...
/dev/md/dsk/d145        14G   5.7G   8.1G    42%    /zona/pepe/usr/sap/PEP
...

Listo, y sin "downtime"...

6Oct/080

Active Directory authentication in MyDMS

Posted by Chiru

Pués teniamos myDMS andando en la oficina, para gestionar el tema de la documentación para la ISO, etc. La cosa es que como está en un servidor interno, los usuarios "rasos" entraban unsando el enlace de "entrar como invitado" que les permitía ver los contenidos pero no modificarlos.

El caso es que ahora estamos a punto de implantar una intranet usando Joomla! y lo hemos configurado para que autentifique usuarios contra el active directory en vez de crearlos todos en la base de datos. Usando el plugin JDiagnostic, es coser y cantar.

Así que con esa situación, la intención es hacer una especie de "puente" para que se pueda embeber (a que molo...) el DMS en Joomla. Para ello, estuve el otro día peleándome para que myDMS autenticara contra LDAP. Lo solucioné con un poco de "re-styling" del fichero de login y del de opciones.

  • Fichero inc/icn.Settings.php
    • A parte de los parámetros LDAP de myDMS añadir la línea:

var $ldapDomain = "@dominio.loc"

  • Fichero op/op.Login.php
    • Hice bastantes cambios y quedó así.

Con esto se autentifica correctamente en AD. Ahora falta lo del puente...

Archivado en: howto, linux Nadie dijo nada
6Aug/070

Convertir datos a UTF8 en MySQL

Posted by Chiru

Manera rápida (asumiendo que la tabla acepta UTF-8 (DEFAULT CHARSET=utf8)):

$ mysqldump --opt --quote-names my_database > my_database.sql
$ iconv -f ISO_8859-1 -t UTF-8 my_database.sql > my_database-utf-8.sql
$ mysql my_database < my_database-utf-8.sql

A mi me ha ido de maravilla.