Securing Debian

14 06 2007

El “Securing Debian HowTo” es uno de los documentos indispensables para todo administrador de máquinas Linux en general.

No sólo contiene consejos y buenas prácticas si no que también cubre muchos puntos de la instalación y puesta a punto de máquinas Debian, aunque puede ser extrapolado a otras distribuciones.

Página oficial aquí.





Detectando la IP del visitante

26 05 2007

PHP sin detección de Proxy

<?php
$direccionip = getenv(REMOTE_ADDR);
?>

PHP con detección de Proxy

<?php
if (getenv(HTTP_X_FORWARDED_FOR)) {
    $direccionip = getenv(HTTP_X_FORWARDED_FOR);
} else {
    $direccionip = getenv(REMOTE_ADDR);
}?>

ASP sin detección de Proxy

<%
direccionip = Request.ServerVariables(”REMOTE_ADDR”)
%>

ASP con detección de Proxy

<%
direccionip = Request.ServerVariables(”HTTP_X_FORWARDED_FOR”)
If direccionip = “” Then
    direccionip = Request.ServerVariables(”REMOTE_ADDR”)
End If
%>

JSP sin detección de Proxy

<%
String direccionip = request.getRemoteAddr();
%>

JSP con detección de Proxy

<%
if (request.getHeader(”HTTP_X_FORWARDED_FOR”) == null) {
    String direccionip = request.getRemoteAddr();
} else {
    String direccionip = request.getHeader(”HTTP_X_FORWARDED_FOR”);
}
%>

Fuente | Sistemas Operativos





Mysql no arranca por la variable expire_logs_days

9 05 2007

De repente me encuentro con que el servidor de MySQL no arranca y da un mensaje de error como el que sigue:

May  9 04:20:16 localhost mysqld_safe[11853]: started
May  9 04:20:17 localhost mysqld[11857]: 070509  4:20:17 /usr/sbin/mysqld: unknown variable 'expire_logs_days=10'
May  9 04:20:17 localhost mysqld[11857]:
May  9 04:20:17 localhost mysqld_safe[11859]: ended
May  9 04:20:23 localhost /etc/init.d/mysql[11922]: 0 processes alive and '/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping' resulted in
May  9 04:20:23 localhost /etc/init.d/mysql[11922]: ^G/usr/bin/mysqlad min: connect to server at 'localhost' failed
May  9 04:20:23 localhost /etc/init.d/mysql[11922]: error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
May  9 04:20:23 localhost /etc/init.d/mysql[11922]: Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
May  9 04:20:23 localhost /etc/init.d/mysql[11922]: mysqld: unknown variable 'expire_logs_days=10'

Buscando por la red, finalmente he encontrado de dónde venía el posible problema. Más concretamente, en esta porción de código:

# The following can be used as easy to replay backup logs or for replication.
#server-id		= 1
log_bin			= /var/log/mysql/mysql-bin.log
# WARNING: Using expire_logs_days without bin_log crashes the server! See README.Debian!
expire_logs_days	= 10
max_binlog_size         = 100M
#binlog_do_db		= include_database_name
#binlog_ignore_db	= include_database_name

¿Como solucionarlo?

Editando el fichero de configuración de MySQL (/etc/mysql/my.cnf) y comentando la correspondiente linea donde se define el valor de expire_logs_days.

Una vez modificado el fichero de configuración, basta con reiniciar MySQL (/etc/init.d/mysql restart) y todo vuelve a la normalidad.

Fuente | Mysql no arranca per la variable expire_logs_days





Chuletas para programadores web

21 04 2007

A menudo, programando, uno se encuentra con esa duda sobre como era tal o cual función el PHP, Javascript, etc. Normalmente, la solución está en algún libro de referencia o en Google.

Pues bien, desde ya mismo hay una tercera solución que es el de consultar las chuletas que indico a continuación:

Fuente | Chuletas

URI para TrackBacks.





Mostrar el escritorio

23 02 2007

En los sistemas Windows, existe un icono en la barra de herramientas que permite minimizar todas las ventanas para acceder directamente al escritorio.

No son pocos los usuarios a los que, por accidente, les ha desaparecido ese icono y después echan de menos su funcionalidad. Ahí va un pequeño truco para solucionar el problema en solo 3 pasos.

  1. Crear un fichero con en siguiente contenido
    [Shell]
    Command=2
    IconFile=explorer.exe,3
    [Taskbar]
    Command=ToggleDesktop
  2. Guardarlo en el escritorio con el nombre Show Desktop.scf
  3. Arrastrarlo hacia la barra de herramientas de acceso rápido

Puedes descargar el fichero haciendo clic aqui.

Si te ha gustado esta noticia puedes compartirla: MeneameDeliciousTechoratiDiggYahoo!





Posicionamiento web

27 01 2007

Una de las claves para obtener un buen posicionamiento web es el de construir las páginas de la forma más sencilla posible.

Los Web Crawler o robots buscadores se dedican a explorar la red en búsqueda de páginas web para su posterior indexación en los principales buscadores. En su trabajo, estos ingenios no valoran en absoluto los detalles de diseño gráfico. Antes al contrario, lo único que tienen en cuenta son el texto de las páginas y los enlaces que contengan.

Un diseño para “agradar” a los buscadores

No cabe duda de que es interesante realizar diseños que sean atractivos para los visitantes “humanos” pero sobre todo, si a lo que aspiramos es a tener un buen posicionamiento web, va a ser interesante realizar un diseño atractivo para los Web Crawler.

Una manera de aproximarnos a la forma en como va a “ver” una determinada página web uno de esos robots buscadores es utilizando el navegador Lynx. Se trata de un navegador en modo texto que no tiene en cuenta ni las imágenes ni aquellos elementos superfluos como JavaScript, DHTML, Flash, Frames, Session IDs, Applets de Java, … Eso no quiere decir que esos elementos no puedan ser usados. Simplemente que la información que aparezca dentro de ellos no será mostrada por los motores de búsqueda.

Lynx viene ya instalado, por defecto, en (la mayoría de) las distribuciones de Linux. Para usarlo, basta con abrir una shell y escribir esto:

# lynx http://www.sitio-web-a-visualizar.com

Si, por el contrario, se está utilizando otro sistema operativo (Windows, Mac OS, … o incluso desde el mismo Linux) lo más sencillo va a ser acceder, vía web, a un emulador de Lynx a través de la siguiente página web http://www.delorie.com/web/lynxview.html.

Nota: debido al abuso que, por lo visto, se ha venido realizando de este servicio, sus autores han limitado el uso únicamente a los webmasters (ver aqui la forma de poder acceder al servicio)

Es recomendable echar un vistazo a los sitios web propios a través de los ojos de este “Lince”. Uno se puede encontrar con verdaderas calamidades. Del estilo de que, debido a un mal diseño de una plantilla, aparezca el “footer” antes que el “header”.

Un diseño para “agradar” a los “humanos”

Como se ha dicho más arriba, hay que intentar realizar diseños que sean atractivos para los visitantes “humanos”. Y esos humanos pueden visitarnos desde cualquier plataforma y/o navegador.

A pesar de que, actualmente, el navegador de internet más utilizado es el Internet Explorer, es notorio que las otras alternativas como Firefox van ganando cada vez más adeptos. Es por eso que se aconseja realizar diseños web que sean válidos para la mayoría de los navegadores y plataformas. Comprobar que el diseño de una determinada página se “vea bien” en la mayoría de los navegadores puede llegar a ser un trabajo harto tedioso. Por eso os presento una web que nos puede aydar en esa tarea. Se trata de browsershots.org.

Se trata de un sitio web que permite visualizar el aspecto de una determinada página web en distintos navegadores de distintas plataformas (Internet Explorer, Firefox, Galeon, Konqueror, Safari, Opera, …). Además, el servicio permite realizar una prueba de visualización teniendo en cuenta parámetros como Resolución de pantalla, Profundidad de color, Javascript, Flash, Plugins multimedia, …

Para ello, basta con entrar la URL de la web y mandarla a la cola de proceso. Al cabo de un momento retornará las capturas de pantalla seleccionadas.

Altamente recomendable.

Más información en:

Si te ha gustado esta noticia puedes compartirla: MeneameDeliciousTechoratiDiggYahoo!





sudo: timestamp too far in the future

7 01 2007

Acabo de instalar Ubuntu 6.10 (Edgy Eft) y cuando intento actualizar el sistema con “sudo apt-get update” me da el siguiente mensaje:

sudo: timestamp too far in the future: Jan 8 00:10:06 2007

Cuando, en realidad, la hora actual es Jan 7 23:17:35 2007.

Por lo visto, esto pasa porque sudo tiene fijado un timestamp posterior al instante de tiempo actual y por eso da problemas. Para solucionarlo he hecho lo siguiente:

  1. Ajustar la fecha del sistema a un momento cualquiera que sea posterior al indicado por el mensaje de sudo.
  2. sudo -k” para limpiar el timestamp
  3. Volver a fijar la fecha y hora correctas.

A mi me ha funcionado. Espero que también os sirva a vosotros.

Si te ha gustado esta noticia puedes compartirla: MeneameDeliciousTechoratiDiggYahoo!








Seguir

Get every new post delivered to your Inbox.