Cuando programo aplicaciones webs, lo habitual es no tocar la configuración del servidor MySQL. Las conexiones suelen originarse en el servidor, para terminar en el servidor, por lo que no preciso acceso remoto.

Sin embargo, en uno de los proyectos de software en los que estoy metido se me ha solicitado que desde una página externa al servidor establezca una conexión hacia el servidor donde tengo las aplicaciones web.

Hace un par de días escribí el script que conectaba desde un servidor remoto con el servidor de la aplicación, pero el error era continuo: no se puede conectar con el servidor.

Comprobé los permisos de usuario, la sintaxis PHP, etc., hasta que me acordé que yo suelo configurar los demonios con toda la seguridad que puedo (no conectar a SSH con root, y esas cosas). Pues resulta que, en efecto, el servidor está configurado para escuchar peticiones exclusivamente del propio servidor. Aunque eso se puede arreglar, claro.

NOTA: tenemos que distinguir el acceso remoto al servidor MySQL del acceso a la aplicación web. Cuando uno accede de manera remota a la aplicación, las peticiones las realiza la propia aplicación desde el servidor hasta el mismo servidor, luego no es necesario configurar ningún acceso remoto. La petición se genera en el servidor, y acaba en el propio servidor.

Como decía, la manera de configurarlo es como explico a continuación.

Editamos el archivo de configuración, por supuesto, como root:

nano /etc/mysql/my.cnf

Hay que encontrar la siguiente línea:

bind-address = 127.0.0.1

Ahora podemos hacer varias cosas (a mi me funcionan las tres):

  • Comentar esa línea:
#bind-address = 127.0.0.1
  • Cambiar la línea por lo siguiente:
bind-address = 0.0.0.0
  • Cambiar la línea por la IP fija de la máquina:
bind-address = 10.35.95.164

Ahora sólo hay que reiniciar el servidor:

/etc/init.d/mysql restart

Y ya está. Ahora ya tenemos acceso remoto desde otro PC. Eso sí, hay que acordarse que cuando creemos el usuario que se tenga que conectar, lo configuremos para que sea desde cualquier nombre de servidor (en la línea de comandos de MySQL, %), y no desde localhost.

Comments No Hay Comentarios »

No escribo tan a menudo porque estoy en varios proyectos de software, pero eso no significa que no esté al tanto de los temas de actualidad. Sin duda, el tema del que más se habla en la red en estos tiempos es el del cierre de Megaupload. Si has estado en coma en los últimos años y no sabes nada del mundo, resulta que Megaupload era una suerte de disco duro en la nube; era una web que ofrecía el servicio de guardar ficheros, a los que se accedía luego mediante un enlace.

Inicialmente, para usuarios no registrados, los ficheros se podían descargar sin restricciones, salvo el típico CAPTCHA o la espera de unos segundos a que comenzase la descarga. Con el tiempo, el captcha desapareció, y para los que nos bajábamos casi todo de seriesyonkis o Taringa o similar, nos pareció que la mejor opción era suscribirnos. Pensé que era bastante barato para el servicio que ofrecían.

Era un hecho que era el mejor servicio de descarga directa: muy rápido, con mucho contenido y fácil de utilizar. Así, siendo un servicio de alojamiento gratuito de archivos, uno podía subir archivos legales o archivos no legales. Intencionadamente he usado no legales, porque realmente no eran ilegales, ni eran piratería, como SGAE, Promusicae, RIAA y otros se empeñan en asegurar.

De hecho, mantener copias privadas en estos servidores de música y películas no era piratería, porque no atenta contra el copyright ni contra los derechos de autor. De hecho, quien subiera, por ejemplo, la última película de Harry Potter para ser compartida, no obtenía beneficio alguno ni infringía derechos de autor, luego eso no es piratería.

Lee el resto de esta entrada »

Comments No Hay Comentarios »

Por cuestiones azarosas, tengo que utilizar mi portátil en diferentes medios, por ejemplo, el trabajo, donde aparte de tener que entrar con una IP y unos DNS diferentes, estamos detrás de un proxy.

El caso es que ya había utilizado en el pasado la opción de crear una variable de entorno para definir el proxy y el puerto, incluso la autenticación, tanto para Archlinux como para Debian:

export http_proxy=http://rafa:mi_pass@172.21.79.39:8080

Sin embargo, esto era perfectamente válido si sólo voy a actualizar los paquetes vía pacman o vía apt-get. En el caso de los navegadores, no funciona exactamente así, y no sé por qué es.

En el caso de Epiphany, por ejemplo, no hay manera de configurar un proxy desde dentro de la aplicación. Desde Firefox o Iceweasel, no hay ningún problema, nos deja configurarlo todo.

El caso de Chrome es especial. Si hablamos de  la versión de Windows (Chrome), se puede configurar sin problemas, pero no desde Chromium (GNU/Linux). En este caso, cuando intentamos buscar la opción de configuración del servidor proxy, nos aparece el siguiente mensaje:

Al ejecutar Chromium en un entorno de escritorio compatible, se utilizará la configuración de proxy del sistema. Sin embargo, es posible que tu sistema no sea compatible o que haya habido algún problema al iniciar la configuración del sistema.

Aún puedes configurar el sistema mediante la línea de comandos. Para obtener más información sobre los indicadores y sobre las variables de entorno, consulta man chromium.

En efecto, parece que la mejor manera es mediante la línea de comandos. Aquí pongo la mejor manera que yo he encontrado, y me ha funcionado.

Lee el resto de esta entrada »

Comments No Hay Comentarios »

Tenía un ASUS Eee PC desde el año 2008, y la verdad es que apenas lo utilizo. Al principio estuve haciendo pruebas, de vez en cuando lo utilizaba, sobre todo para navegar mientras veía la tele, pero poco más. No había utlizado su característica principal, el hecho de que sea ultraportátil o ultramóvil. Pero navegando por ahí caí en una web de un tipo que hablaba maravillas, sobre todo después de quitarle Xandros y ponerle Ubuntu, Debian o Archlinux. Habían logrado, estas distribuciones, ampliar la funcionalidad, así como extender la capacidad de autonomía y las funciones. Así que decidí darle una oportunidad a este portátil (es un netbook, realmente), porque intentaré llevarlo al trabajo, y ver si me facilita la vida o me la empeora.

Así es mi Eee PC. Sí, es negro.

Lee el resto de esta entrada »

Comments 2 Comentarios »

El blog de Thalskart’s Maelstrom es un blog que me gusta mucho, por varias razones. Una de ellas es que me encanta el maga, y desde luego, el cosplay (si bien no lo practico), pero es una maravilla encontrar periódicamente entradas tan frescas en este blog. Otra de las razones es que mezcla la Informática con los comics, pasando por la actualidad de la red, recomendaciones de aplicaciones, etc. Un blog muy completo. Y sobre todo, se actualiza con mucha frecuencia, algo que es muy de agradecer.

Una de sus últimas entradas hace referencia a un manual de Inkscape. Es un editor de gráficos vectoriales, similar a Illustrator o a CorelDraw. En mi juventud utilicé CorelDraw 2.0, creo que aún tengo los disquetes por ahí perdidos, y la verdad es que para los trabajos de la Universidad, me venía bastante bien (claro, que lo utilizaba en un Windows 95 primero, y 98 SE después).

Inkscape es lo mismo, pero muy mejorado, y sobre todo, es software libre.

Siempre me ha atraído saber utilizarlo, pero la verdad es que mis necesidades en cuanto al diseño de pósteres y portadas terminó al terminar la Universidad, así que no he tenido mucha motivación para aprender.

Como decía, una de las entradas del blog de Thalskart’s Maelstrom está dedicada a Inkscape, y es que desde el blog de Joaclint se puede descargar una recopilación de tutoriales de Inkscape, además de otras muchas cosas más.

Éste es el enlace de bajada.

Por supuesto, también recomiendo visitar  el blog de Joaclint, dedicado al diseño gráfico con software libre.

Comments No Hay Comentarios »

Siempre he sido usuario de Lyx para generar documentos en Latex. Me ha parecido más sencillo y no suele dar problemas. Pero ahora he decidido pasarme a un editor de texto, quizá porque me gustaría tener más control de lo que hago y lo que escribo, y deseo seguir con el aspecto profesional de mis trabajos escritos.

Existe otra razón, y es que en ocasiones hay que pasar de Latex a HTML, y la mejor forma de hacer esto es sin el código añadido que le suele meter Lyx (lo sé, es muy escaso, y se puede editar para que no moleste).

El primer problema con el que me he encontrado ha sido la codificación de caracteres, aunque cuando apareció el problema, no lo identifiqué así, sino : ¡Maldición, no está reconociendo tildes ni eñes!

Los castellanoparlantes, aunque en general cualquier idioma que use tildes, eñes, cedillas, etc (catalán, gallego, francés, etc.), tenemos este problema siempre. Aún recuerdo los días que pasé intentando exportar toda una base de datos de 200 Mb codificada en latin1 (el antiguo iso-8859-1) a utf8 sin que se perdieran acentos ni eñes.

Nada más crear mi archivo .tex y ejecutar la orden pertinente:

pdflatex archivo.tex

me doy cuenta que Latex escupe un montón de errores y que el archivo resultante no ha reconocido ninguno de los caracteres con tilde. Así que me puse manos a la obra, a buscar soluciones en Google.

Lee el resto de esta entrada »

Comments 4 Comentarios »

A nadie sorprendo se digo que Games of Thrones, o en castellano, Juego de Tronos, de la serie Canción de Hielo y Fuego, es una de las series más vistas y más seguidas en los últimos meses. La saga de los libros de George R. R. Martin ha supuesto una nueva revolución, como ya sucediera con El Señor de los Anillos, Harry Potter o la saga Crepúsculo. El caso es que tenemos, de nuevo, libros y series para rato.

Claro, el fenómeno no sólo se limita a lilbrerías y televisión, sino que dentro de nada se editará el videojuego, así como ya se han hecho múltiples versiones de la melodía del openning de la serie. Hace unas semanas encontré, en mi opinión, una de las mejores interpretaciones amateur de la melodía de la serie:

Imagen de previsualización de YouTube

 

Para hacer las comparaciones, aquí está el original:

Imagen de previsualización de YouTube

Comments No Hay Comentarios »

En un comentario de un lector de mi entrada sobre Texmaker, este lector me recomendaba TexmakerX, más tarde renombrado a TeXstudio. TeXstudio es una IDE de LaTeX que permite crear documentos fácilmente, sin necesidad de utilizar un editor en texto plano (emacs, vi, vim, nano, etc), pero con más potencia de una IDE: mejora en la escritura, autocompletado, subrayado de la sinaxis, etc.

Además de ser libre, es multiplataforma: existe para Windows, Mac, y por supuesto, plataformas *nix (FreeBSD, GNU/Linux). TeXstudio se llamó, hasta junio de 2011, TexmakerX, porque pretendía ser un fork de Texmaker, con mejoras.

No está en español, sólo en inglés, francés y alemán, y hay quienes han hecho una traducción de una versión previa a checo y húngaro. Para Archlinux se puede descargar de AUR sin problemas. Para los usuarios de Debian, no hay más remedio que bajarse las fuentes.

El interfaz es casi idéntico a Texmaker, salvo que tiene algunos elementos más en la barra de menú, y que está en inglés, claro.

Screenshot de TeXstudio

Creo que es una magnífica opción para trabajar con Latex.

Comments No Hay Comentarios »

Hace tiempo que no escribo nada sobre política ni sobre opiniones no relacionadas con la informática. Respondiendo a las cuestiones sobre una discusión que tuve hace poco con unos conocidos, remito a la lectura de la metáfora de Isaac Asimov sobre el cuarto de baño. Más interesante son las opiniones y los comentarios de los lectores, y por ello invito a que se lean, al menos algunas. Para quienes no dispongan de mucho tiempo para leer, más abajo dejo un video de Youtube.

En resumen, hace años se entrevistó a Isaac Asimov y explicó algo sobre la superpoblación y la dignidad humana:

Si dos personas viven en un apartamento y hay dos cuartos de baño, entonces los dos tienen libertad para usar el cuarto de baño cuantas veces quieran y pueden estar en el cuarto de baño todo el tiempo que deseen y para lo que deseen usarlo. Y todo el mundo cree en el derecho a cuarto de baño y en la libertad a usarlo cuando le apetezca, nadie está en contra de eso, todos creemos que debería estar hasta en la Constitución.

Pero si hay veintidós personas en el apartamento y solamente dos cuartos de baño, no importa cuánto crea la gente en la libertad y el derecho a cuarto de baño, porque tales cosas no existen. Entonces hay que establecer turno para cada persona para usar el baño, se tienen que establecer normas como que no puedes usarlo para cortarte las uñas, solo para necesidades y ducharte, lo que tendrás que hacer en poco tiempo… tienes que golpear la puerta para entrar… “¿Aún no estás listo?”… y así.

De la misma manera la democracia no sobrevive cuando hay superpoblación. La dignidad humana no puede sobrevivir a ello. La comodidad y la decencia no pueden sobrevivir a ello. A medida que crece la población planetaria el valor de una vida no solamente declina, sino que al final desaparece. Ya no importa si alguien muere. Cuanta más gente hay, menos importa cada individuo.

Personalmente no estoy de acuerdo: ni desaparece la democracia ni la dignidad humana ni la comodidad ni la decencia. De hecho, creo que es más bien que la Democracia nos ayuda a que todos podamos utilizar este recurso.

Las normas de la Democracia actual, si bien puede que no sea el método de gobierno perfecto, sí es un modelo de convivencia perfectamente válido, ya que permite que todos podamos utilizar estos cuartos de baño. Para ello se dictan normas de utilización y de convivencia, por eso creo que, antes de ver el lado negativo a la cita de Asimov, debemos ver precisamente que esta parábola es la justificación de que exista Democracia.

Esta parábola es la justificación de que exista la Democracia

El vídeo de Youtube que había prometido es el siguiente:

Imagen de previsualización de YouTube

Comments 1 Comentario »

Como hace unos días, vuelvo a colocar otra receta a modo de recordatorio sobre cómo se hacen consultas SQL con rango de fechas. Utilizo con mucha frecuencia estas sentencias en mi trabajo habitual, pero se me suelen olvidar con la misma frecuencia. Suelo echar mano del histórico de comandos, pero a veces el histórico no llega a tanto, y tengo que echar mano de la memoria.

Realmente es una construcción de orden SQL muy sencilla, pero casi siempre precisa de algún truco para que se obtenga el resultado deseado. Asumo que la tabla de la base de datos se llama Tabla1, y que la fecha es sencillamente Fecha:

SELECT * FROM Tabla1 WHERE Fecha BETWEEN '2011-09-01' AND '2011-10-01'

Esta no es la manera en que yo utilizo la orden, porque nunca sé si el resultado obtenido contiene los límites (no sé si incluye el 1 de Septiembre, ni tampoco sé si la búsqueda contiene el 1 de Octubre). Así, lo que utilizo siempre es lo siguiente:

SELECT * FROM Tabla1 WHERE Fecha >= '2011-09-01' AND < '2011-10-01'

De esta manera sí que controlo más los parámetros de búsqueda. El signo igual (=) me indica que sí incluye el límite inferior, mientras que si lo omito del límite superior, nunca me entrará el 1 de Octubre en la búsqueda, es decir, me busca exclusivamente en el mes de Septiembre.

Comments No Hay Comentarios »