# rm-rf.es

SQL Server: activar FILESTREAM

Para poder trabajar con FILESTREAM en SQL Server es preciso activarlo con anterioridad en el la instancia del motor de bases de datos SQL Server. Para activarlo realizaremos los siguientes pasos (tutorial bajo Windows 2003 Server en inglés con SQL Server 2008):

  1. En el servidor Windows donde tenemos instalado la instancia SQL Server, accedemos a Start menu > All Programs > Microsoft SQL Server 2008 > Configuration Tools > SQL Server Configuration Manager.
  2. En la lista de servicios, pinchamos con el botón derecho del ratón en SQL Server Services > Open.
  3. En la interfaz de gestión y configuración de SQL Server, localizamos la instancia de SQL Server sobre la que queremos activar FILESTREAM
  4. Botón derecho en la instancia > Properties.
  5. En la caja de dialogo de las propiedades de SQL Server, pinchamos en la pestaña de FILESTREAM
  6. Seleccionamos “Enable FILESTREAM for Transact-SQL access”.
  7. Si necesitamos lectura y escritura de datos desde Windoes, pinchamos en “Enable FILESTREAM for file I/O streaming access”, tendremos que introducir la compartición de Windows en el cuadro de texto
  8. Por otro lado, si necesitamos que los clientes remotos tengan acceso a los datos FILESTREAM de esta compartición, tendremos que seleccionar “Allow remote clients to have streaming access to FILESTREAM data”
  9. Finalmente, pinchamos en aplicar, “Apply”.
  10. Ahora, accedemos al SQL Server Management Studio para ejecutar la siguiente consulta en el Query Editor:
EXEC sp_configure filestream_access_level, 2
RECONFIGURE

Ejecutamos la consulta y ya tenemos activado FILESTREAM. Más información en la web de Microsoft SQL Server Developer Center

AWK: imprimir a partir de una expresión regular hasta el final del fichero

En el caso de necesitar recoger de un fichero a partir de una determinada cadena de texto hasta el final del mismo, podemos utilizar AWK del siguiente modo:

awk '/regex/,0'

ó

 awk '/regex/,EOF'

Voy a mostrar un ejemplo, tenemos un fichero de texto que contiene lo siguiente:

vim test
esto es
una prueba
test
probando

Pongamos el caso de que necesitamos sacar el contenido del fichero “test” a partir de la línea que tenga el texto prueba:

#] awk '/prueba/,0' test
una prueba
test
probando

En este caso es un ejemplo muy sencillo, para ficheros de log o similares podéis hacer uso de la potencia de las expresiones regulares para sacar la cadena de texto a partir de la cual imprimir el contenido del fichero.

Os recomiendo también leer este otro artículo de iniciación a AWK.

APF: Unable to load iptables module (ip_tables), aborting

En caso de recibir el siguiente error en el log de APF:

Unable to load iptables module (ip_tables), aborting.

El problema solamente lo he encontrado en instalaciones Fedora, y se soluciona modificando el siguiente parámetro en el fichero de configuración de apf:

fichero: /etc/apf/conf.apf

Parámetro:

MONOKERN="0" 

Lo pasamos a:

MONOKERN="1"

Y reiniciamos APF:

/etc/init.d/apf restart

El origen del problema reside en tener iptables compilado en el kernel de forma estática en lugar de como módulo.

Apache cPanel: UserDir “enable” keyword requires a list of usernames

En servidores web con cPanel y versiones 11.25.0-RELEASE_42399 y 11.25.0-CURRENT_42399 se ha detectado un problema de configuración que provoca errores de sintaxis en apache con mod_userdir tweak activado. El error que encontraréis en los logs al reiniciar apache es:

UserDir “enable” keyword requires a list of usernames

También veréis que las nuevas cuenta redireccionan siempre a defaultwebpage.cgi El problema se soluciona reconstruyendo la configuración de apache en el servidor, desde línea de comandos ejecutad:

/scripts/rebuildhttpdconf
/scripts/restartsrv_httpd

también:

/scripts/autorepair userdir_enable_fix
/scripts/restartsrv_httpd

O desde WHM:

Service Configuration -> Apache Configuration -> Global Configuration -> Save -> Rebuild Configuration and Restart Apache

Otra forma es actualizar la versión de cPanel a la 11.25.0-CURRENT_42400 o 11.25.0-RELEASE_42400:

/scripts/upcp

cPanel 11.25: error en módulo perl Mail::SPF

Al parecer en algunas versiones del nuevo cPanel 11.25.0-RELEASE se están detectando errores en la instalación del módulo de perl Mail::SPF. Si ejecutamos /scripts/checkperlmodules encontramos los siguientes errores:

CPAN.pm: Going to build J/JM/JMEHNLE/mail-spf/Mail-SPF-v2.007.tar.gz

perl-64bit-hack: enabled
# running Build.PL --otherldflags -L/usr/lib64 --config ldflags=-L/usr/lib64 --extralibdir /usr/lib64
Creating new 'MYMETA.yml' with configuration results
Creating new 'Build' script for 'Mail-SPF' version 'v2.7.0'
Prereq 'v5.6' for 'perl' is not supported by Module::Build::Compat
make: *** No targets.  Stop.
 JMEHNLE/mail-spf/Mail-SPF-v2.007.tar.gz
 /usr/bin/make OTHERLDFLAGS=-L/usr/lib64 LDFLAGS=-L/usr/lib64 EXTRALIBDIR=/usr/lib64 OTHERLDFLAGS=-L/usr/lib64 LDFLAGS=-L/usr/lib64 EXTRALIBDIR=/usr/lib64 -- NOT OK
Running make install
 Make had returned bad status, install seems impossible
perlmod--Install done

Para efectuar la instalación de un modo correcto ejecutad el siguiente comando:

 perl -MCPAN -e "get('Mail::SPF')" && cd /home/.cpan/sources/authors/id/J/JM/JMEHNLE/mail-spf && tar -xzvf Mail-SPF-v2.007.tar.gz && cd Mail-SPF-v2.007 && perl Build.PL && ./Build && ./Build test && ./Build install && /scripts/checkperlmodules --full

Fuente | Foros cPanel

Cómo montar un fichero .iso como CD-ROM

mount /ruta/fichero.iso /mnt/cdrom -oloop

Con el comando mencionado arriba podréis montar de forma sencilla una imagen .iso como si fuera un CD-ROM en Linux y poder trabajar con ella. Posteriormente, cuando hayáis terminado de trabajar simplemente desmontadla con el comando unmount (si tenéis entorno gráfico simplemente botón derecho en la unidad y desmontar):

umount /mnt/cdrom

Actualizar todos los módulos de Perl desde CPAN

Gracias a CPAN, existe una forma muy sencilla y cómoda de actualizar de vez todos los módulos de PERL que tengamos instalados en el sistema, para ello, simplemente ejecutad lo siguiente:

cpan -r

Automáticamente comenzará la actualización de los módulos:

$ cpan -r
CPAN: Storable loaded ok
Going to read /home/alex/.cpan/Metadata
  Database was generated on Mon, 10 Aug 2009 23:26:58 GMT
CPAN: LWP::UserAgent loaded ok
Fetching with LWP:
  ftp://ftp.perl.org/pub/CPAN/authors/01mailrc.txt.gz
Going to read /home/alex/.cpan/sources/authors/01mailrc.txt.gz
CPAN: Compress::Zlib loaded ok
Fetching with LWP:
  ftp://ftp.perl.org/pub/CPAN/modules/02packages.details.txt.gz
LWP failed with code[500] message[LWP::Protocol::MyFTP: connect: Conexi�n rechazada]
Fetching with Net::FTP:
  ftp://ftp.perl.org/pub/CPAN/modules/02packages.details.txt.gz
Going to read /home/alex/.cpan/sources/modules/02packages.details.txt.gz
  Database was generated on Fri, 18 Dec 2009 01:45:07 GMT

Fetching with LWP:
  ftp://ftp.perl.org/pub/CPAN/modules/03modlist.data.gz

Going to read /home/alex/.cpan/sources/modules/03modlist.data.gz
Going to write /home/alex/.cpan/Metadata
...................... etc etc

Creación de cuenta no-reply en Postfix

En el caso de necesitar una cuenta de correo que se utiliza para enviar emails, pero no se desea recibir correo en ella (es decir, mandar todo el correo que reciba esta cuenta a /dev/null) en un servidor de correo Postfix, hemos de realizar los siguientes pasos (gracias Web Patrika, esto es una adaptación de su artículo):

Lo primero que hay que hacer es identificar la línea del fichero principal de configuración de postfix que hace referencia a los aliases, abrimos el fichero /etc/postfix/main.cf y confirmamos que no se encuentra comentada:

vim /etc/postfix/main.cf
alias_maps = hash:/etc/aliases

Como vemos, los mapeos de alias se hacen en el fichero /etc/aliases, vamos a añadir uno que rediriga todos los correos a /dev/null, para ello, añadimos la siguiente línea en el fichero /etc/aliases:

vim /etc/aliases
devnull: /dev/null

Posteriormente, ya podemos crear la cuenta de correo en nuestro sistema Postfix, cada uno lo hará según haya sido configurado (usuarios virtuales, a través de MySQL, etc). En mi caso, al ser un sistema Postfix con MySQL, creo la cuenta de correo en la tabla MySQL correspondiente, y después creo otro registro, esta vez en la tabla de alias y la redirigo al alias mapeado anteriormente, devnull:

no-reply@dominio.com -> devnull

Finalmente, refrescamos postfix alias y postfix cache y la cuenta debería funcionar correctamente, podremos enviar correos desde esa cuenta, pero cualquier correo que se reciba se desechará automáticamente:

newaliases
postfix reload