Instalación de librerias de Python en 1and1

El hosting compartido de 1and1 permite crear scripts utilizando Python 2.6. Sin embargo, no permite instalar librerias en las rutas de sistema, por lo que hay que ingeniarselas un poco para instalarlas.

Primero, hay que bajarse easy_install e instalarlo en algún lugar de nuestro espacio de hosting.

Luego, ya es más fácil, solamente hay que decirle a easy_install que en lugar de instalar paquetes en la ruta habitual, los debe instalar en una ruta de nuestro espacio de hosting. Por ejemplo, este comando instalará en el directorio $HOME/lib:

easy_install --prefix ~ xlrd==0.7.7

Después tendremos que asegurarnos que nuestros scripts Python encuentren las librerias.

Para ello, se puede modificar la variable de entorno PYTHONPATH con la ruta de la libreria. Este método solo funciona para scripts lanzados desde la linea de comandos.

En el caso de scripts CGI lanzados por Apache, no podemos modificar el entorno de ejecución de Apache para una nueva versión de la variable PYTHONPATH. Por ello, tendremos que recurrir a otra opción, menos elegante, pero igual de efectiva: cargar la libraria “a mano” en nuestro script. Para ello, basta con añadir algo de este estilo:

if sys.version_info < (2, 7):
     sys.path.append( 'PATHTOLIBRARY/lib/python2.6/site-packages/xlrd-0.7.3-py2.6.egg' )

Permalinks en WordPress de 1and1

Ya he comentado que mi proveedor de hosting 1and1 ofrece un servicio llamado Click-n-Build para crear instancias de aplicaciones web con un solo click, en base a una plantilla.

Estoy creando ahora la web de la Comisión de Fiestas del Passatge Canti y voy a empezar a utilizar WordPress (version 3.1.3) en modo Click-n-Build.

Pero ya me he topado con el primer inconveniente: los permalinks. La instalación de Click-n-Build impide que se modifique el fichero .htaccess de WordPress, y no se pueden incluir las reglas de reescritura.

He intentado hacer alguna ñapa, colocando un .htaccess donde me ha dejado en el directorio wp-content y cambiando los permalinks para que tengan el prefijo /wp-content, pero ha funcionado parcialmente: solo para las categorías, pero no para los artículos o para el archivo por fechas.

Navegando un poco por ahí, he encontrado una entrada en el Codex que justamente trata el asunto de permalinks sin mod_rewrite. Se trata del método PATHINFO, que delega en el script principal de WordPress la tarea de redirección. Ya se indica que no es la mejor forma, pero es la única que puede implementar sin tocar el .htaccess.

La técnica recomendada es modificar el fichero .htaccess o si fuera posible el fichero de configuración de Apache.

Ya he aplicado el cambio y todo funciona correctamente.

Click-n-build de 1and1

Mi proveedor de hosting 1and1 ofrece un servicio llamado Click-n-Build que permite crear instancias de aplicaciones web con un solo click, en base a una plantilla que gestionan ellos.

He utilizando WordPress (version 3.1.3) y Drupal (versión 7.12). A pesar de que indican que no se pueden instalar plugins, no es cierto, pueden instalarse desde la interfaz de administración del servicio.

No soy muy partidario de utilizar este tipo de instalaciones, entre otras cosas porque suelen limitar las opciones de que dispondrás, en base a la plantilla, o a limitaciones en los permisos y configuraciones posibles.

Sin embargo, tienen varias cosas positivas: no tienes que preocuparte de la BD, pues es una instancia que no ocupa espacio de tu hosting; y las prestaciones parecen bastante buenas, se han preocupado de optimizarlo o poner alguna caché de por medio.

Tuve instalada una instancia de Drupal, pero finalmente necesitaba actualizar el core a las ultimas versiones y siempre iban algo por detrás, así es que la desinstalé.

¿Obsolescencia o reparación milagrosa?

El 1 de mayo (sí, exactamente ese día) mi movil Android HTC Desire dejó de funcionar correctamente. Los botones de búsqueda, bajar volumen y el click del cursor optico dejaron de responder. Además, se resetea continuamente y arrancaba en “Safe mode”. Total, una lata continua.

Inicialmente achaqué el problema a que se me había “resfriado”: había estado toda la noche en el pollete de una ventana  en Santiago de Compostela y la temperatura era de 6-10 grados. Pensé que se había condensado humedad dentro o que la batería se había quedado frita, pero como tenía otra batería de repuesto pude descartar ese problema.

Además, cada vez que pulsaba el botón de apagado para desconectar la pantalla, el trasto se reseteaba… y si no hacía nada solo arrancaba en “Safe mode”. De chiripa, descubrí que si mientras arranca pulsaba el boton de búsqueda (el que no funcionaba, sí) no entraba en “Safe mode”.

Estuve una semana buscando por Internet problemas similares y no vi a nadie que lo tuviera, ni siquiera cómo salir del “Safe mode” funcionaba. La recomendación era que se volviera a arrancar, pero a mí eso no me funcionaba.

En medio de todo, como pensaba que se me había corrompido algo, lo resetee, previa realización de una copia de seguridad. Apunté la lista de aplicaciones que tenía instalada, por si acaso. Eso sí, primero le saqué la tarjeta de memoria, no fuera que la vaciara sin darme cuenta. El reset fue bien, sin problemas, y pude volver a configurarlo todo desde cero… pero el problema persistía.

Ya no sabía cómo solucionarlo y alguien me recordó que igual todavía estaba en garantía. Afortunadamente, así era, faltaba aproximadamente un mes para que caducara, y llamé a HTC para saber cómo repararlo. Les facilité el número de serie y me dijeron que lo podía enviar por mensajero, que ellos se encargaban de ello.

Milagrosamente, el movil se arregló en un par de días: si llamé el jueves, el sábado ya estaba funcionando. Ha sido mucha casualidad, por lo que he pensado  si no tendría alguna relación con mi llamada a HTC. Espero que no.