Autoempoderamiento tecnológico

Han pasado ya unos días de la disolución de marsupi y han florecido de nuevo interesantes debates de cómo tienen que ser los movimientos sociales, como se deben autogestionar, como autoempoderarse, qué es un servidor autogestionado y cómo tiene que funcionar…
La disolución de marsupi se tendría que haber llevado a cabo hace unos años, ya que su planteamiento aunque inicialmente era bueno, había acabado decayendo en la actualidad en un proyecto muerto. Y es un proyecto muerto cuando es incapaz de renovarse, tanto en ideas como en personas. Así, al final es uno solo quien intenta mantener la antorcha encendida… hasta que esta se apaga.

Quiero centrarme pues con todos aquellos colectivos, asociaciones, grupos de personas, etc. que ofrecen servicios y productos, diferenciándolos de aquellos sólo reivindicativos o de la parte reivindicativa de los mismos.…

Proxy apache con https

Cuando tienes pocas IPs y muchas maquinas una de las opciones que tienes para preservar IPs es usar proxy_http de apache, pero ¿qué ocurre cuando quieres proxyear conexiones https?

Lo lógico ha sido crear el certificado en la máquina que contiene el servicio bajo ssl, hasta aquí todo OK, pero se complicaba la cosa al tratar de hacerlo pasar por el servidor que hace de proxy apache.

Vamos a ver como lo he hecho, no es exactamente como quería, pero la cosa es que funciona :P

Para recopilar un poco y como ha habido cambios en la web startssl voy a poner el paso a paso, además que el post que tengo es un poco viejuno ya!…

Dump MySQL a través de PHP

Tengo un servidor al que sacarle una copia de la bbdd pero no me deja usar exec y como consecuencia mysqldump… así que un script para hacerlo de otra forma:

backup_tables('localhost','username','password','blog');

/* backup the db OR just a table */
function backup_tables($host,$user,$pass,$name,$tables = '*')
{
	
	$link = mysql_connect($host,$user,$pass);
	mysql_select_db($name,$link);
	
	//get all of the tables
	if($tables == '*')
	{
		$tables = array();
		$result = mysql_query('SHOW TABLES');
		while($row = mysql_fetch_row($result))
		{
			$tables[] = $row[0];
		}
	}
	else
	{
		$tables = is_array($tables) ? $tables : explode(',',$tables);
	}
	
	//cycle through
	foreach($tables as $table)
	{
		$result = mysql_query('SELECT * FROM '.$table);
		$num_fields = mysql_num_fields($result);
		
		$return.= 'DROP TABLE '.$table.';';
		$row2 = mysql_fetch_row(mysql_query('SHOW CREATE TABLE '.$table));
		$return.= "\n\n".$row2[1].";\n\n";
		
		for ($i = 0; $i < $num_fields; $i++) 
		{
			while($row = mysql_fetch_row($result))
			{
				$return.= 'INSERT INTO '.$table.' VALUES(';
				for($j=0; $j < $num_fields; $j++) 
				{
					$row[$j] = addslashes($row[$j]);
					$row[$j] = ereg_replace("\n","\\n",$row[$j]);
					if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
					if ($j < ($num_fields-1)) { $return.= ','; }
				}
				$return.= ");\n";
			}
		}
		$return.="\n\n\n";
	}
	
	//save file
	$handle = fopen('db-backup-'.time().'-'.(md5(implode(',',$tables))).'.sql','w+');
	fwrite($handle,$return);
	fclose($handle);
}

Te guarda el dump en la raiz del script.…

Proxmox + nat + iptables

Acabo de contratar un servidor en un datacenter y sólo me dan una sola ip.
Como me gusta tener los servicios separados y todo bien ordenadito le he instalado proxmox 4, con soporte LXC, pero necesito que el host se comunique con los contenedores de alguna forma.

Lo que vamos a crear va a ser una interfaz virtual nueva, donde crearemos nuestra subred y luego redigiremos los puertos con iptables. Esto es lo que se llama hacer nat y redirección de puertos :P…

Las emociones equiparadas a un termómetro de Galileo

Estaba hablando con una persona y lo típico de ¿qué tal estamos? y la respuesta que le he dado ha sido la de “como un termómetro de Galileo”. Aunque la respuesta ha sido espontánea nos ha encantado a ambas la definición, así que voy a tratar de desarrollarla un poco :)

galileo thermometer 2

Primero de todo, el termómetro de Galileo consiste en un tubo de cristal cilíndrico lleno de un líquido con un coeficiente de dilatación mayor que el del agua (una mezcla de hidrocarburos) y dentro un conjunto de ampollas de cristal de distintas medidas que contienen agua o alcohol teñido. Depende de la temperatura que haga, la disposición de las ampollas de cristal es una u otra debido a la modificación de las densidades de los líquidos.

La equiparación pues entre las emociones y el termómetro de Galileo, vendría a ser que cada una de nuestras emociones corresponderían a las ampollas dentro del cilindro, la temperatura nuestro entorno (nuestro trabajo, las relaciones con otras personas, etc.) y el líquido del cilindro nuestro cuerpo evolutivo. En el conjunto de los 3 tendríamos pues nuestro estado emocional.

La temperatura es un factor que no podemos controlar, de repente hace frío (conflictos) y de repente calor (acuerdos, buenas noticias, tranquilidad, paz, etc.). La densidad del líquido del cilindro sería nuestro trabajo interno, su densidad sería una u otra dependiendo de lo atentos e identificados que estamos de nosotros mismos y las ampollas cada una de las emociones.
El conjunto hace que prevalga una …

Compartir una sesión de terminal con screen

A veces es necesario que dos usuarios conectados remotamente accedan a la misma sesión, sea para realizar juntos una configuración o para que uno le muestre al otro como hacer alguna cosa.
Una herramienta super cómoda será screen.

El usuario que va a crear la terminal compartida ejecuta el siguiente comando para iniciar la sesión de screen y nombrarla (mySharedSession en este caso).

$ screen -d -m -S mySharedSession

El siguiente paso radica en unir la terminal del usuario a la sesión compartida de screen mediante la ejecución del siguiente comando que debe ser ejecutado por todos los usuarios incluyendo al creador de la sesión ya que esta se crea inicialmente separada de su terminal actual.

$ screen -x mySharedSession

En cualquier momento es posible listar las sesiones de screen disponibles mediante la ejecución del siguiente comando.

$ screen -ls

Salir y terminar sesiones

Para salir de una sesión compartida sin destruírla es necesario ejecutar la siguiente combinación de teclas: CTRL+a d.

Para salir de una sesión destruyéndola se puede utilizar el comando exit (cierre brusco) o la combinación de teclas CTRL+a k (cierre limpio) la cual es equivalente a CTRL+a :kill. Debe tener en cuenta que la destrucción de la sesión afecta a todos los usuarios que se encontraban conectados a ella.

Fuente: Jorgeivanmeza