Dado un numero de semana ¿Cuál es la fecha del lunes? / Given an (iso) week number, Whats the date of Monday?


¿En qué semana cae el 7 de junio de 2012? / What's the week number of june 7, 2012?

datetime.date(2012, 6, 7).isocalendar()[1]
23
¿Cuál es el lunes de la semana 23 de 2012?. What's the monday of the week 23 of 2012?

time.asctime(time.strptime(('%s %s 1' % (2012, 23,)), '%Y %U %w'))
'Mon Jun 4 00:00:00 2012'



Apache redirect some ip to https

We want to allow some ip to http an redirect the rest to https. How can we do it?

We can use mod_rewrite with these rules:

       RewriteEngine On
       RewriteCond %{REMOTE_ADDR} !^192\.168\.1\.4$
       RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}


In this case only 192.168.1.4 gets access to http, other ips will be redirected to https.

Apache redireccionar ciertas ip hacia https


Queremos que sólo ciertas ip tengan acceso a contenido con http, y las demás las queremos redirigir a https. ¿Cómo lo hacemos?.

Podemos usar mod_rewrite con estas reglas:

       RewriteEngine On
       RewriteCond %{REMOTE_ADDR} !^192\.168\.1\.4$
       RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

En este caso, sólo la dirección 192.168.1.4 tendría acceso via http, los demás serían redireccionados a https.

Yet another apache ssl installation manual on debian ubuntu / Aún otro manual de instalación de apache ssl en debian ubuntu

Nunca había instalado apache con SSL en debian. El proceso es muy sencillo:

Activar el módulo ssl:
sudo a2enmod ssl

Crear el certificado; primero lo creamos y luego lo copiamos en el directorio por defecto:

$mkdir ssl
cd ssl
openssl genrsa -des3 -out server.key 1024
openssl rsa -in server.key -out server.key.insecure
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Nota: si no queremos que cada vez que arrancamos el servidor http nos pida la clave del certificado hacemos,

openssl rsa -in server.key -out server.key.nopass

Y ahora "instalamos" el certificado,

sudo cp server.crt /etc/ssl/certs
sudo cp server.key.nopass /etc/ssl/private

En nuestro fichero de configuración de apache tenemos que añadir algo parecido a esto:
virtualhost *:443
DocumentRoot /var/www/blahblah
SSLEngine on
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key.nopass

....

Ahora rearrancamos el servidor con sudo service apache2 restart, y ya tenemos soporte SSL. Naturalmente, como el certificado lo creamos nosotros, los navegadores nos avisarán de que no ha sido emitido por una entidad de confianza pero tendremos las comunicaciones con el servidor aseguradas por https.