Archive for the 'Sistemas' Category

SeguridadHacía un tiempo que tenía un fallo en varios Wordpress que tengo alojados en Hostgator. El primero era que el editor visual para escribir artículos fallaba, le habían desaparecido la barra de botones. El segundo ha sido hoy, dónde los archivos PHP que llamo por AJAX (básicamente mi plugin para la galería de fotos) mostraba HTTP Error.

Analizando el problema descubrí que ambos fallos estaban relacionados, ya que se recibía un error 404 en todos ellos. En el AJAX fué fácil: el firebug me lo ha dicho a la primera, pero el fallo del editor WYSIWYG era más complejo, aunque el firebug, con su herramienta para visualizar los JS cargados, me mostraba que el PHP que escupe el JS a cargar (wp-includes/js/tinymce/tiny_mce_gzip.php) devolvía un 404 con la plantilla de Wordpress (osea, un HTML).

Al final la cosa ha sido tan “fácil” como setar correctamente los permisos de mis archivos y directorios del Hosting.

Los permisos que deben tener son los siguientes:

  • Todos los directorios del hosting: chmod 755
  • Todos los archivos del hosting: chmod 644
  • El directorio public_html: chmod 750
  • Todos los archivos y directorios: propietario debe ser el usuario de la cuenta

Espero que ésto ayude a los que también tienen el mismo problema.

Según los del servicio de soporte de Hostgator, ésto ha sido por culpa de subir archivos desde Windows (¿?).

Salu10.

ASUS eeePCMucho tiempo desde el último post… Los proyectos del trabajo me gastan las neuronas, y además mi pequeño nuevo juguete me roba el resto de mi tiempo libre: un ASUS eeePC 701 negro (8GB SSD / 1GB RAM).

Con éste, empiezo un nuevo tag donde loguear los cambios que le doy a la pequeña maravilla. Hoy toca, para empezar, una introducción y una puesta al día del “proyecto”.

SFTPDrivePues bién, la herramienta de hoy es SFTPDrive, una sencilla herramienta (de pago) que cubre una necesidad en Windows fácilmente solucionada en Linux: el acceso cómodo a la estructura de directorios de un servidor remoto via SSH.

En Linux podemos montar casi cualquier cosa en un directorio, sea algo local (USBs, CDs, …) o remoto (Samba, NFS, …). Mi caso particular se centra en conexiones SSH. En Linux podemos usar sshfs para montar en un directorio el árbol de un servidor remoto al que tenemos acceso por SSH. En cambio, en Windows no es tan fácil.

En Windows existe esta utilidad, SFTPDrive, a la que le configuramos el acceso SSH y nos monta una unidad nueva como si de una unidad mapeada se tratase.

Primer AniversarioEl 17 de Noviembre SyntaxError.es cumplió su primer año. Felicidades! ;)

El proyecto comenzó como análisis del fenómeno Blog en un momento en que en mi entorno sonaba mucho esa palabra. Éramos muchos técnicos con blog propio y cada uno tenía sus técnicas y caprichos. Pensé en escindir los artículos puramente técnicos de mi blog personal LaDragonera.com y crear un blog muy enfocado a la programación y los sistemas. La propuesta era ver hasta dónde puede llegar un blog sólo con contenido técnico y aprovechando las técnicas legales que la blogosfera nos brinda.

Así que en éste artículo voy a intentar hacer un análisis sui géneris de lo que este primer año nos ha traido, desde la popularidad hasta los ingresos, pasando por las técnicas usadas y sus resultados.

OracleLa instalación por defecto de PHP no lleva soporte para Oracle si en el momento de su instalación no había ni un cliente ni un servidor Oracle en el sistema. La puesta en marcha de un módulo PHP para proporcionar conexión a un Oracle en un servidor remoto consta de dos pasos: Instalar el Oracle Instant Client y Generar e instalar el módulo OCI.

Al instalar el servidor web directamente en los primeros pasos de la instalación (ver artículo Instalar Debian 4 Etch en un Compaq Proliant DL 360) recibimos un Apache 2.0 con PHP 5.2.0, e instalaremos el Oracle InstantClient 11.1.0.1-1, generando un módulo PHP usando el código fuente de OCI8 versión 1.2.4 (todo último estable).

Apache TomcatSiguiendo con la instalación del servidor Debian 4 en un Compaq Proliant DL 360 que empezamos en el anterior artículo, esta vez toca instalar un Tomcat para que acepte las conexiones desde un Apache. Para ello debemos tener instalado un Apache (ver el anterior artículo) y realizar los pasos que se describen aquí, que consiste en instalar el JDK de Java, instalar Tomcat 5.5 e instalar el módulo conector mod_jk.

DebianHe tenido la oportunidad de realizar una instalación de Debian 4 en un Compaq Proliant DL 360, el primero de estas características dónde instalo un Linux.

La necesidad es la de tener un servidor Apache+Tomcat conectándose a una base de datos externa Oracle, además de funcionar como servidor CVS. En éste artículo voy a describir los pasos para tener el servidor funcionando con Debian, como anticipación a siguientes artículos de la puesta en marcha de los servicios descritos.

En Linux, para listar las conexiones abiertas, incluso las que sólo estén escuchando un puerto sin transmitir nada, podemos usar netstat. En mi caso, usando netstat con los siguientes parámetros obtengo un listado de interfícies, estado de la conexión y PID/programa que lo ejecuta, muy útil:

netstat -tapn

Para saber el significado de los estados, consultando la Wikipedia tenemos:

  • ESTABLISHED El socket tiene una conexión establecida
  • SYN_SENT El socket está intentando iniciar una conexión
  • SYN_RECV Una petición de conexión fue recibida por la red
  • FIN_WAIT1 El socket está cerrado, y la conexión esta finalizándose
  • FIN_WAIT2 La conexión esta cerrada, y el socket está esperando que finalice la conexión remota
  • TIME_WAIT El socket está esperando después de cerrarse que concluyan los paquetes que siguen en la red
  • CLOSED El socket no está siendo usado
  • CLOSE_WAIT La conexión remota ha finalizado, y se espera que se cierre el socket
  • LAST_ACK La conexión remota ha finalizado, y se espera que se cierre el socket. Esperando el acknowledgement.
  • LISTEN El socket está esperando posibles conexiones entrantes
  • CLOSING Ambos sockets han finalizado pero aun no fueron enviados todos los datos
  • UNKNOWN El estado del socket no se conoce

Una de las cosas más comunes que hago al acabar de instalar un Linux es modificar el modo en el que arranca. Primero de todo debemos tener en cuenta que existen 5 modos de arranque en un Linux (más 2 extras ;) ) :

  1. Modo monousuario
  2. Modo multiusuario sin NFS (igual que el modo 3 sin red)
  3. Modo completo multiusuario sin entorno gráfico
  4. Sin uso
  5. Modo completo multiusuario con entorno gráfico (X11)

Además existe el modo 0 para apagar el ordenador y el modo 6 para reiniciarlo, pero nunca debemos setarlos en el contexto de éste artículo.

Normalmente, al instalar cualquier distribución desktop de Linux se autoconfigura para arrancar siempre en modo 5. Es el normal y típico. Pero si por alguna razón nos da problemas, nos ocupa memoria, o simplemente queremos ser nosotros quienes iniciemos el entorno gráfico, debemos modificar ésta configuración.

Ésto se encuentra en el archivo /etc/inittab. Allí debemos buscar la línia siguiente:

id:5:initdefault:

Normalmente es la primera línia del archivo (sin contar las líneas de los comentarios). Debemos sustituirla por la siguiente:

id:3:initdefault:

Hemos cambiado el 5 por el 3. Con ésto, Linux no va a autoiniciar el entorno gráfico cada vez que arranquemos el entorno gráfico.

Si, es simple, pero la cantidad de veces que tengo que hacerlo…

Saludos.

Ayer descubrí tcpdump bajo Linux, una eficaz herramienta para visualizar los paquetes que circulan por una determinada red.

En mi caso usé

tcpdump -i eth0 -A

Con lo que se printa por pantalla todo paquete que la eth0 detecte, independientemente de la red lógica que tenga la tarjeta configurada. Ésto último se refiere a que aunque la eth0 tenga una IP 192.168.1.100, con tcpdump será capaz de capturar los paquetes de otras redes como 192.168.2.0, simplemente genial para identificar IPs de equipos conectados a nuestra red.

Más Información: