Redirigiendo peticiones HTTPS a HTTP en Drupal multisite

 Mar, 06/11/2012 - 10:17     Sandor

Tengo en Configbox contratado un alojamiento en donde hay instalado un sitio Drupal Multisite, que sirve dos dominios. El problema es que cuando alguien intenta acceder via HTTPS, aparece la pantalla de entrada del panel de control del dominio, en vez del error correspondiente o, lo que sería mejor, una redirección al dominio, via HTTP.

Para solucionar esto, de manera que redireccione correctamente los dos dominios, hay que crear en el directorio httpsdocs el siguiente archivo .htaccess:

RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}

Con esto, si escribimos https://dominio1nos redireccionará a http://dominio1, y si escribimos https://dominio2, nos redireccionará a http://dominio2.

Etiquetas: 

Calculando el IVA

 Lun, 22/10/2012 - 13:38     Sandor

A veces (al preparar alguna factura, por ejemplo) nos encontramos con que tenemos algún importe total, del que desconocemos el IVA y la base (la cantidad sin IVA, para entendernos). Para ayudaros en el cálculo, aquí os dejo algunas de esas fórmulas que viene bien tener siempre a mano para estos menesteres :-)

  • Para averiguar el importe de IVA de una cantidad, multiplicar la cantidad por el tanto por ciento de IVA, expresado en números decimales. Es decir, si el tipo de IVA es del 21%, se multiplicaría por 0,21. Si compro una barra de pan 1,20 EUR, y se que el tipo de IVA es del 4%, la cantidad de IVA cobrada sería de 0,048 EUR.
     
  • Para averiguar la base (el importe sin el IVA) de una cantidad,  habría que multiplicar el total por uno menos el tanto por cierto de IVA, expresado en números decimales. Es decir, si se le aplica un 21%, se multiplicaría por 0,79 (1 menos el 0,21 de IVA).
Categoria: 
Etiquetas: 

Envio SMTP con VTiger 5.4 a través de Amazon SES

 Mar, 02/10/2012 - 10:57     Sandor

Llevamos trabajando con VTiger en la oficina desde hace un par de años, y la verdad es que hasta la fecha solo usábamos este CRM para tener organizados nuestros precontactos, cuentas y contactos, sin hacer uso de sus otros módulos (Oportunidades, Facturas, Tarifas, etc).

Pero desde hace algunos meses (concretamente, desde que tuve noticia del servicio SES de Amazon, que básicamente te permite enviar correos masivos a un precio ridículo), me interesó la posibilidad de realizar campañas de email marketing desde VTiger, aprovechando los contactos que teníamos ya en la base de datos.

El problema es que en esta última versión de VTiger había algún tipo de error que impedía integrar los envios de correos a través del SMTP de Amazon SES. Tras mucho preguntar e investigar he dado con una solución que lo permite:

  • Por un lado hay que sustituir el phpmailer que trae por defecto VTiger (está en modules/Emails), por una versión especialmente modificada para funcionar con Amazon SES: PHPMailer – Amazon SES Integration. En concreto, hay que copiar a modules/Emails los cuatro archivos php que comienzan por class.*
  • Además, como el Vtiger me cambiaba la dirección del From de los envios (y Amazon SES la rechazaba al no estar dada de alta como Verified Sender), he tenido que seguir los pasos que encontré en este hilo del foro de VTiger, y cambiar una linea del archivo /modules/Emails/mail.php, concretamente sustituir:
$mail->Sender= getReturnPath($mail->Host);
por
$mail->Sender= $from_email;

Con estas dos cosillas, ya solo queda configurar la configurar del servidor saliente de VTiger (/index.php?module=Settings&action=EmailConfig) con los datos particulares de la cuenta de Amazon:

Servidor de Correo Saliente: ssl://servidorsmtp:465
Usuario: tuusuario
Contraseña: tucontraseña
Email de: el email desde el que quieran que procedan tus correos.
¿Requiere Autentificación?   Si

Siguiendo estos pasos, podreis enviar correos a través del VTiger usando los servicios de Amazon SES.

Vacaciones

 Mar, 24/07/2012 - 14:18     Sandor

Me voy de vacaciones

 

¡Me voy de vacaciones!
 

Solo yo, el Camino, y 580 kilometros por delante.

¿Llegaré o me quedaré a vivir debajo de una higuera? :-)

En cualquier caso, estaré desconectado de la red, desde

el viernes 24-07 hasta aproximadamente el 20-08.

¡Prometo volver con las pilas cargadas!

Categoria: 
Etiquetas: 

Asegurar servidor SSH

 Lun, 14/05/2012 - 18:18     Sandor

Aquí van algunos consejos para proteger el acceso remoto a un servidor linux, corriendo Secure Shell (SSH).

CONFIGURAR CORRECTAMENTE EL SERVIDOR SSH

  • NOTA: el archivo de configuración, al menos en Debian, se encuentra situado en /etc/ssh/sshd_config
  • Protocol 2
    La versión 1 del protocolo tiene algunas vulnerabilidades conocidas, así que quitamos su soporte, obligando a acceder utilizando únicamente la versión 2 del protocolo.
  • ListenAddress ip
    Comprueba que el servidor escuche únicamente la interfaz de red que quieras realmente (puede que sólo te interese acceder a tu pequeño servidor casero desde tu propia red local, y tengas activado por defecto la escucha en todas las IPs, incluida la pública).
  • PermitRootLogin No
    Es indispensable que el usuario root no pueda acceder via SSH. Siempre podremos escalar privilegios, una vez hayamos accedido al servidor, a través de su o sudo, pero es importante que el usuario root no pueda acceder directamente desde el servidor SSH.
  • Listen num-puerto
    Cambiando el puerto de escucha por defecto pondremos otra piedra en el camino de aquellos que pretendan entrar remotamente en nuestro sistema. Hay formas de deducir qué programa está escuchando un puerto, pero al menos se lo pondremos un poquito más dificil a aquellos que hacen uso de scripts automatizados.
  • PermitEmptyPasswords No
    Ya que estamos intentando aumentar la seguridad de acceso a nuestro sistema, parece lógico prohibir las contraseñas vacías, ¿no? :-)
  • AllowUsers usuario1 usuario2 ...
    Si como yo, administras una pequeña red local, probablemente solo quieras dar acceso SSH a uno o dos usuarios, así que ¿por qué no limitar el acceso al servidor solamente a esos usuarios?
  • AllowGroups grupo1 grupo2 ...
    Si por el contrario hay más usuarios que acceden via SSH, tal vez sería interesante filtrar el acceso al servidor SSH, permitiendo solamente aquellos usuarios que pertenezcan a un determinado grupo.
  • PasswordAuthentication Yes
    Mediante esta directiva configuramos si permitimos la autenticación mediante clave al servidor SSH. El acceso tradicional al servidor se realiza mediante usuario y clave, aunque si prohibimos este acceso mediante usuario/clave (PasswordAuthentication No), aumentaremos la seguridad, dejando el acceso solamente a través de pares de claves públicas y privadas (si has usado alguna vez un programa de cifrado tipo GPG o similar ya sabrás a qué me refiero).
  • Hay otras directivas que incrementan la seguridad, como LoginGraceTime, MaxAuthTries, MaxStartups y algunas otras, aunque considero que estas de aquí arriba son las más importantes. Como siempre un simple man sshd_config te te permitirá profundizar más en las directivas de configuración.

AUTENTICACION SSH BASADA EN PARES DE CLAVES

  • Para deshabilitar el acceso con usuario/clave, y habilitar el acceso con pares de claves, necesitaremos comprobar que el servidor SSH (recuerda: /etc/ssh/sshd_config) está configurado correctamente:
# Desactivamos la autenticación via usuario/clave:
PasswordAuthentication No
# Activamos la autenticación con pares de claves:
PubkeyAuthentication yes
# Definimos el archivo donde irán las claves de acceso autorizadas.
# Como mi partición home está cifrada, defino que las claves se almacenen,
# de manera centralizada, dentro de /etc/ssh. Hay más información al respecto
# (importante el tema de los permisos en las carpetas) en la siguiente URL:
# https://help.ubuntu.com/community/SSH/OpenSSH/Keys
AuthorizedKeysFile /etc/ssh/%u/authorized_keys
# Activamos la atenticación RSA
RSAAuthentication yes
  • Una vez configurada la parte del servidor correctamente, lo que haremos será crear, en nuestra máquina cliente (desde la que accedemos al servidor) una clave pública que copiaremos luego al servidor. El par de claves (pública y privada) las podremos generar mediante el comando ssh-keygen -t rsa (si estamos bajo GNU/Linux), o usando el programa puttygen.exe del cliente PuTTY (si estamos en un entorno MS Windows). Para este ejemplo, suponemos que hemos llamado a la clave pública ssh-publico.key y a la clave privada ssh-privada.key.ppk.
  • Para subir la clave pública a nuestro servidor SSH, haremos uso de la utilidad scp (pscp si usamos PuTTY):
scp ssh-publico-key usuario@nuestroservidor:/etc/ssh/usuario
  • Reiniciamos el servidor sshd y voilà, ya podemos acceder usando el par de claves RSA.

Teneis más información sobre este último tema en los siguiente enlaces:

Etiquetas: 

Partir y juntar archivos grandes en GNU/Linux

 Lun, 16/01/2012 - 11:10     Sandor

Hoy me ha surgido, en el servidor de la oficina, la necesidad de partir un archivo de 20 Gb en partes más pequeñas. Buscando un poco por ahí, he visto que existe la utilidad split, que hace precisamente eso:

split -btamaño miarchivogrande prefijodelosarchivospequeños

Para juntar los archivos pequeños y volver a crear el archivo grande, la nunca bien valorada :) utilidad cat nos servirá a la perfección:

cat prefijodelosarchivospequeños* > minuevoarchivogrande

 

Etiquetas: 

Mi agenda 2012

 Vie, 30/12/2011 - 13:17     Sandor

Ya os comenté hace algún tiempo cómo me las ingeniaba para organizar esta mente dispersa que tengo, siempre en mil proyectos. El caso es que es un sistema que a mí me funciona, y este nuevo año he vuelto a preparar mi agenda para el 2012. Me la imprimo en la oficina, en formato A5, modo duplex (doble cara). La verdad es que me queda resultona y me sale baratito, que también es importante :-)

Mi agenda 2012

Os dejo aquí el documento, en formato OpenDocument, para que si os apetece imprimais también vuestra agenda del 2012. Por supuesto, las sugerencias son siempre bienvenidas: AGENDA 2012 (formato A5, modo duplex)

Y como esta es mi última entrada del año, solo me queda desearos que paseis un buen fin de año. ¡Nos leemos ya en el 2012!

 

Categoria: 

Modificando el firmware del O2Media MR6000

 Mar, 27/12/2011 - 20:04     Sandor

O2Media MR6000

 

Según os comenté el otro día, estoy intentando mejorar, dentro de mis posibilidades, el firmware para el O2Media MR6000. Para trastear con él, aquí os cuento las herramientas que he utilizado.

El archivo install.img del firmware es en realidad un archivo comprimido en formato tar. Por lo que si le cambiamos la extensión y lo descomprimimos con un sencilo tar xvf install.tar tendremos acceso al contenido. La última actualización a día de hoy, descargada de la web de O2Media, mostraría esto:

-rw-r--r-- 1 root root  143300 dic  8  2010 arial.ttf
-rw-r--r-- 1 root root 1773344 dic  8  2010 audio_firmware.install.bin
-rwxr-xr-x 1 root root    1816 dic  8  2010 configuration.xml
-rwxr-xr-x 1 root root   43400 dic  8  2010 flash_erase
-rwxr--r-- 1 root root 2199940 dic  8  2010 install_a
-rwxr-xr-x 1 root root  163948 dic  8  2010 mkfs.jffs2
-rwxr-xr-x 1 root root   56792 dic  8  2010 mkyaffs2image
-rwxr-xr-x 1 root root   61580 dic  8  2010 nandwrite
drwxr-xr-x 3 root root    4096 dic 27 18:57 package2
    -rwxr--r-- 1 root root  1873552 dic  8  2010 bluecore.audio
    -rwxr--r-- 1 root root 51265536 dic  8  2010 squashfs1.img
    -rw-r--r-- 1 root root     5379 dic  8  2010 usr.local.etc.tar.bz2
    -rwxr-xr-x 1 root root  2324208 dic  8  2010 video_firmware.bin
    -rwxr-xr-x 1 root root  4206726 dic  8  2010 vmlinux.develop.avhdd.mars.nand.bin
-rwxr-xr-x 1 root root 1623760 dic  8  2010 video_firmware.install.bin

Por cierto, he identado los archivos que aparecen dentro del directorio package2. El archivo squashfs1.img, dentro de la carpeta package2, contiene la imagen de la carpeta root del sistema. Para descomprimirla, copiamos squashfs1.img a una carpeta aparte y descomprimimos con:

unsquashfs  squashfs1.img

Esto nos creará una carpeta llamada squashfs-root con el contenido descomprimido. Después de trastear con el contenido, podremos volver a crear la imagen con un sencillo:

mksquashfs * ../squashfs1.img

El archivo usr.local.etc.tar.bz2 se puede descomprimir con un sencillo:

tar jxvf usr.local.etc.tar.bz2

Según leo en esta entrada de todopvr: el directorio /usr/local es el único directorio del firmware que se monta como lectura/escritura y por tanto que se puede tocar por el usuario con conocimientos de linux y telnet. Suele estar en ese directorio el fichero de canales, los ficheros de bases de datos para las programaciones y también en un directorio "IMS" todo lo que tiene que ver con internet, como las emisoras de radio, o las páginas de meteorología, RSS o vídeos y precisamente por estar ahí se pueden "modificar" y crear ficheros rss/html para acceder a distintos servicios de internet, por ejemplo a cosas distintas de Youtube.

Si alquien quiere trastear y no quiere andar compilando los archivos para comprimir/descomprimir, podeis descargar los archivos de este enlace: yaffs-utils-linux.tgz

Por ahora solo he dado este primer paso. Los siguientes serán trastear con los scripts IMS, a ver si puedo meter los del firmware de Bluetimes (en el que funciona Youtube y la radio online), dentro del de la última actualización de O2Media.

Seguiremos informando... ;)

Categoria: 

Forzando la instalacion de un firmware en el O2Media MR6000

 Sáb, 24/12/2011 - 10:32     Sandor

O2Media MR6000

Hace unas semanas he comprado en PcComponentes el reproductor multimedia O2Media MR6000. Para las características que tiene está bien de precio, aunque a mi entender es un aparato solo para geeks, ya que de lo que dice que hace, a lo que realmente hace, va un trecho.

El caso es que llevo trasteando algunos días, instalando en el aparato diferentes firmwares. Y claro, de tanto trastear algún día tenía que pasar que me equivocara y el aparato se quedara colgado al meterle un firmware que no estaba destinado a él :-)

Por un momento ya pensaba que tenía un bonito pisapapeles, pero rebuscando en la red he dado con el foro MPCClub, y he descubierto que hay un sistema para forzar la actualización del firmware aún cuando no tienes acceso al menú del aparato.

Consiste en:

  • Apagar el aparato del interruptor de atrás.
  • Introducir un pendrive, formateado en FAT32, con el firmware que quieras instalar en el directorio raiz.
  • Presionar la tecla de arranque (la del propio aparato, no la del mando a distancia).
  • Teniéndola presionada, encender el aparato.

Con esto el aparato se actualizará y nuestro cacharro habrá vuelto a la vida.

Categoria: 

Envio de correos con phplist, a través de SSL SMTP

 Jue, 22/12/2011 - 23:51     Sandor

Un pequeño truco para poder enviar correos desde phplist, a través de servidores SMTP con SSL (los de Amazon SES o GMail, por ejemplo). El problema es que phplist utiliza una versión antigua de phpmailer, por lo que si queremos usar servidores con SSL, hay que tocar un poco los siguientes archivos:

Define o edita (si ya existen) las siguientes directivas en config/config.php :

define("PHPMAILER",1);
define("PHPMAILERHOST",'smtp.tudominio.com');
$phpmailer_smtpuser = 'USUARIO';
$phpmailer_smtppassword = 'CLAVE';
$phpmailer_smtpsecure = 'ssl';
$phpmailer_smtpport = 465;

Abre admin/class.phplistmailer.php y encuentra :

$this->Password = $GLOBALS['phpmailer_smtppassword'];

y escribe debajo a continuación : 

$this->SMTPSecure = $GLOBALS['phpmailer_smtpsecure'];
$this->Port = $GLOBALS['phpmailer_smtpport'];

Ahora abre admin/phpmailer/class.smtp.php y encuentra :

$this->smtp_conn = fsockopen($host,

Y sustituye

$host,

por

$host='ssl://smtp.tudominio.com',

Con esto ya deberías poder enviar correos a traves de tu servidor SMTP SSL favorito ;)

Fuente: http://glycogen.net/2011/06/07/phplist-smtp-w-ssl/

 

Páginas

Sobre PlanetaInopia

Sandor Inopia nació en Bilbao, un lunes cualquiera, justo 1904 años después de que Nerón se suicidara, diciendo ¡Qué artista muere conmigo!, y 192 años después de que Volta descubriera la pila eléctrica. Mientras celebraba su quinto cumpleaños, Elvis daba su último concierto, y celebrando los siete, Muhammad Ali se retiraba del boxeo.

Sobre PlanetaInoipa, blog personal de Sandor Inopia (Sandor Saiz Ortuondo)

Yo no tengo la ambición de Nerón, la inteligencia de Volta, la voz de Elvis, o la fuerza de Alí, pero a veces me gusta escribir y darme a conocer a los demás. Por eso este blog, que espero te guste.

Comentarios recientes