viernes, 27 de junio de 2014

Escritorio remoto de Ubuntu a Ubuntu 14.04 y de Ubuntu a Windows7


Escritorio remoto de Ubuntu a Ubuntu 14.04 y de Ubuntu a Windows7
En ocasiones los usuarios o nuestros clientes necesitan de nuestro ayuda de manera rapido sin salir de sus casa o Pymes , es útil controlar un equipo de forma remota, ya sea en una red LAN o a través del internet, para lograr este objetivo en ubuntu o en Windows les presentaré varias opciones fáciles de utilizar, ustedes usen la que mas les guste.
El Escritorio remoto, como su propio nombre indica, nos permite visualizar (e incluso controlar) el escritorio de otro equipo desde el nuestro.

Veamos un ejemplo en el que desde el equipo server_ubuntu(PC1) controlaremos el equipo cliente_ubuntu PC2 (ya sea windows o linux). Para ello, primero debemos activar el Escritorio remoto en cliente_ubuntu(PC2).

1. Vamos a aplicación - Herramientas del Sistema -Preferencias – Compartición de Escritorio:
2. En la imagen anterior comprobamos que el Escritorio remoto de la pc cliente_ubuntu (pc2) estaban desactivado, así que procedemos a activarlo tal cual como vez ahora arriba:
- Marcamos Permitir a otros usuarios ver mi escritorio y, como queremos un control total, marcamos también Permitir a otros usuarios controlar su escritorio.
- Como medida de seguridad, seleccionamos Requerir que el usuario introduzca una contraseña y la escribimos.
-Que debemos utilizar desde server_ubuntu (PC1) para conectarnos a este equipo:
3. Nos vamos a server_ubuntu (PC1) y abrimos el Visor de escritorios remotos (Vamos a: aplicación - Herramientas del Sistema -Preferencias – Compartición de Escritorio:):

 
a realmente me aparece que ya estoy contrlando a dos pc's .. pero a ustedes les sadra vacio como este:

4.- Y hora llenaremos los campos de la siguiente manera donde dice Nombre: en mi caso hora mismo les pondre: (pcwin8) .
luego: Grupo no es necesario.
Nombre de usuario: uservirtual (por que asi se llama el usuario de de mi maquina virtual que esta cargado windows8)
contraseña sera el que entra cuando inicia windows8: xxxxxxxx y asi nada  mas damos ->Conectar claro luego podemos editar también.

5. Como habíamos establecido una contraseña para el acceso remoto a cliente_ubuntu (PC2), ahora se nos requiere que la introduzcamos:
hasta acá ya hemos terminado con el escritorio remoto windows
ahora sera con server ubuntu(pc1) a cliente_ubuntu (pc2)
seguiremos de la misma manera pero ahora para Ubuntu 14.04




 7. Si nos ponemos ante el escritorio de cliente_ubuntu (PC2) descubrimos el "problema". Como podéis observar en la segunda imagen de esta entrada, habíamos dejado activada la opción Debe confirmar cada acceso a este equipo, y eso es precisamente lo que tenemos que hacer; debemos Permitir que clinete_ubuntu (PC1) se conecte:
8. Ahora ya podemos visualizar y controlar el equipo remoto:
Este cliente es muy sencillo de usar y fácilmente podemos configurar una conexión dentro de una red LAN, por otro lado,  las conexiones desde internet conllevan un poco mas de complejidad ya que es necesario conocer la IP publica del equipo y hay que abrir los puertos correspondientes en el router, cosa que puede ser sencillo o todo un dolor de cabeza si no sabemos como funciona.
fuente de ayuda a este blog:
http://www.nosinmiubuntu.com/2011/04/escritorio-remoto-en-ubuntu.html

domingo, 4 de mayo de 2014

como hacer un Sistema de usuarios con PHP y MySQL (phpMyAdmin) utlizando OpenSuse 31.1

En esta oportunidad les voy a dejar un tutorial básico para desarrollar un sistema de registro usuarios con PHP y MySQL (phpMyAdmin),.

(antes debes tomar en cuenta que ) Es recomendable trabajar con una DB de tipo InnoDB por que ofrece una fiabilidad y consistencia muy superior a MyISAM. tablas relacionales muy grandes debes aplicar: InnoDB.

Para empezar, crearemos nuestra base de datos :('userdatasql') y la tabla de ('usuarios') con los siguientes campos:

CREATE TABLE IF NOT EXISTS usuarios (
usuario_id int(5) NOT NULL AUTO_INCREMENT,
usuario_nombre varchar(15) NOT NULL DEFAULT '',
usuario_clave varchar(32) NOT NULL DEFAULT '',
usuario_email varchar(50) NOT NULL DEFAULT '',
usuario_freg datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (usuario_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;



Como podrán notar, el campo usuario_clave tiene una longitud de 32 caracteres, ya que la contraseña de los usuarios registrados las encriptaremos en md5(). Ahora pasamos a crear nuestro scripts PHP.

Creación de archivo de configuración de acceso a MySQL:


A este archivo lo llamaremos acceso_db.php y va a contener los datos de acceso a nuestra Base de Datos.
<?php
$host_db ="localhost"; //nombre de la bd
$usuario_db =" ";// usuario dela BD
$clave_db =" "; // clave de user DB
$nombre_db =" "; //nombre la BD
//CONECTAMOS Y SELECCIONAMOS LA BD:
mysql_connect($host_db, $usuario_db, $clave_db) or exit('Datos de conexion incorrectos.');
mysql_select_db($nombre_db) or exit('no se encontro la BD.');
echo 'se conecto correctamente con la BD';
?>



Formulario de Registro:


 Ahora procederemos a crear nuestro formulario de registro, al cual llamaremos registro.php

<?php
include('acceso_db.php'); // incluimos el archivo de conexión a la Base de Datos
if(isset($_POST['enviar'])) { // comprobamos que se han enviado los datos desde el formulario
// creamos una función que nos parmita validar el email
function valida_email($correo) {
if (preg_match('/^[A-Za-z0-9-_.+%]+@[A-Za-z0-9-.]+\.[A-Za-z]{2,4}$/', $correo)) return true;
else return false;
}
// Procedemos a comprobar que los campos del formulario no estén vacíos
$sin_espacios = count_chars($_POST['usuario_nombre'], 1);
if(!empty($sin_espacios[32])) { // comprobamos que el campo usuario_nombre no tenga espacios en blanco
echo "El campo <em>usuario_nombre</em> no debe contener espacios en blanco. <a href='javascript:history.back();'>Reintentar</a>";
}elseif(empty($_POST['usuario_nombre'])) { // comprobamos que el campo usuario_nombre no esté vacío
echo "No haz ingresado tu usuario. <a href='javascript:history.back();'>Reintentar</a>";
}elseif(empty($_POST['usuario_clave'])) { // comprobamos que el campo usuario_clave no esté vacío
echo "No haz ingresado contraseña. <a href='javascript:history.back();'>Reintentar</a>";
}elseif($_POST['usuario_clave'] != $_POST['usuario_clave_conf']) { // comprobamos que las contraseñas ingresadas coincidan
echo "Las contraseñas ingresadas no coinciden. <a href='javascript:history.back();'>Reintentar</a>";
}elseif(!valida_email($_POST['usuario_email'])) { // validamos que el email ingresado sea correcto
echo "El email ingresado no es válido. <a href='javascript:history.back();'>Reintentar</a>";
}else {
// "limpiamos" los campos del formulario de posibles códigos maliciosos
$usuario_nombre = mysql_real_escape_string($_POST['usuario_nombre']);
$usuario_clave = mysql_real_escape_string($_POST['usuario_clave']);
$usuario_email = mysql_real_escape_string($_POST['usuario_email']);
// comprobamos que el usuario ingresado no haya sido registrado antes
$sql = mysql_query("SELECT usuario_nombre FROM usuarios WHERE usuario_nombre='".$usuario_nombre."'");
if(mysql_num_rows($sql) > 0) {
echo "El nombre usuario elegido ya ha sido registrado anteriormente. <a href='javascript:history.back();'>Reintentar</a>";
}else {
$usuario_clave = md5($usuario_clave); // encriptamos la contraseña ingresada con md5
// ingresamos los datos a la BD
$reg = mysql_query("INSERT INTO usuarios (usuario_nombre, usuario_clave, usuario_email, usuario_freg) VALUES ('".$usuario_nombre."', '".$usuario_clave."', '".$usuario_email."', NOW())");
if($reg) {
echo "Datos ingresados correctamente.";
}else {
echo "ha ocurrido un error y no se registraron los datos.";
}
}
}
}else {
?>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<label>Usuario:</label><br />
<input type="text" name="usuario_nombre" maxlength="15" /><br />
<label>Contraseña:</label><br />
<input type="password" name="usuario_clave" maxlength="15" /><br />
<label>Confirmar Contraseña:</label><br />
<input type="password" name="usuario_clave_conf" maxlength="15" /><br />
<label>Email:</label><br />
<input type="text" name="usuario_email" maxlength="50" /><br />
<input type="submit" name="enviar" value="Registrar" />
<input type="reset" value="Borrar" />
</form>
<?php
}
?>



Formulario de acceso:


Ahora pasaremos a crear nuestro formulario de acceso o Login, a este archivo lo llamaremos acceso.php

<?php
session_start();
include('acceso_db.php');
if(empty($_SESSION['usuario_nombre'])) { // comprobamos que las variables de sesión estén vacías
?>
<form action="comprobar.php" method="post">
<label>Usuario:</label><br />
<input type="text" name="usuario_nombre" /><br />
<label>Contraseña:</label><br />
<input type="password" name="usuario_clave" /><br />
<input type="submit" name="enviar" value="Ingresar" />
</form>
<?php
}else {
?>
<p>Hola <strong><?=$_SESSION['usuario_nombre']?></strong> | <a href="logout.php">Salir</a></p>
<?php
}
?>

Este es el archivo que comprueba los datos ingresados en el formulario de login, lo llamaremos comprobar.php


<?php
session_start();
include('acceso_db.php');
if(isset($_POST['enviar'])) { // comprobamos que se hayan enviado los datos del formulario
// comprobamos que los campos usuarios_nombre y usuario_clave no estén vacíos
if(empty($_POST['usuario_nombre']) || empty($_POST['usuario_clave'])) {
echo "El usuario o la contraseña no han sido ingresados. <a href='javascript:history.back();'>Reintentar</a>";
}else {
// "limpiamos" los campos del formulario de posibles códigos maliciosos
$usuario_nombre = mysql_real_escape_string($_POST['usuario_nombre']);
$usuario_clave = mysql_real_escape_string($_POST['usuario_clave']);
$usuario_clave = md5($usuario_clave);
// comprobamos que los datos ingresados en el formulario coincidan con los de la BD
$sql = mysql_query("SELECT usuario_id, usuario_nombre, usuario_clave FROM usuarios WHERE usuario_nombre='".$usuario_nombre."' AND usuario_clave='".$usuario_clave."'");
if($row = mysql_fetch_array($sql)) {
$_SESSION['usuario_id'] = $row['usuario_id']; // creamos la sesion "usuario_id" y le asignamos como valor el campo usuario_id
$_SESSION['usuario_nombre'] = $row["usuario_nombre"]; // creamos la sesion "usuario_nombre" y le asignamos como valor el campo usuario_nombre
header("Location: acceso.php");
}else {
?>
Error, <a href="acceso.php">Reintentar</a>
<?php
}
}
}else {
header("Location: acceso.php");
}
?>


Cerrando la sesión del usuario:
Con este pequeño script cerramos la sesión del usuario, a este archivo lo llamamos logout.php

<?php
session_start();
include('acceso_db.php'); // incluímos los datos de acceso a la BD
// comprobamos que se haya iniciado la sesión
if(isset($_SESSION['usuario_nombre'])) {
session_destroy();
header("Location: index.php");
}else {
echo "Operación incorrecta.";
}
?>


Página Personal de Usuarios:


Ahora pasaremos a crear una página personal para cada usuario registrado en el sistema, para ello, mostraremos el perfil de usuario, según su ID. Creamos un archivo llamado perfil.php

<?php
session_start();
include('acceso_db.php');
$perfil = mysql_query("SELECT * FROM usuarios WHERE usuario_id='".$_GET['id']."'") or die(mysql_error());
if(mysql_num_rows($perfil)) { // Comprobamos que exista el registro con la ID ingresada
$row = mysql_fetch_array($perfil);
$id = $row["usuario_id"];
$nick = $row["usuario_nombre"];
$email = $row["usuario_email"];
$freg = $row["usuario_freg"];
?>
<strong>Nick:</strong> <?=$nick?><br />
<strong>Email:</strong> <?=$email?><br />
<strong>Registrado el:</strong> <?=$freg?><br />
<strong>URL del perfil:</strong> <a href="perfil.php?id=<?=$id?>">Click aquí</a>
<?php
}else {
?>
<p>El perfil seleccionado no existe o ha sido eliminado.</p>
<?php
}
?>


Páginas restringidas:

Como en toda web con sistema de usuarios, siempre habrán zonas restringidas a las que sólo podrán acceder usuarios registrados, entonces para ello partimos del siguiente código:

<?php
session_start();
include('acceso_db.php'); // incluímos los datos de acceso a la BD
// comprobamos que se haya iniciado la sesión
if(isset($_SESSION['usuario_nombre'])) {
?>
<!-- Aquí ponemos todo el código HTML de nuestra página restringida, desde <html> a </html>-->
<?php
}else {
echo "Estás accediendo a una página restringida, para ver su contenido debes estar registrado.<br />
<a href='acceso.php'>Ingresar</a> / <a href='registro.php'>Regitrarme</a>";
}
?>


Recuperación de la contraseña:


Si el usuario ha olvidado su contraseña, habrá que facilitársela, para ello generaremos una nueva contraseña de forma aleatoria y se la enviaremos a su correo, a este archivo lo llamaremos recuperar_contrasena.php

<?php
include('acceso_db.php'); // incluímos los datos de acceso a la BD
if(isset($_POST['enviar'])) { // comprobamos que se han enviado los datos del formulario
if(empty($_POST['usuario_nombre'])) {
echo "No ha ingresado el usuario. <a href='javascript:history.back();'>Reintentar</a>";
}else {
$usuario_nombre = mysql_real_escape_string($_POST['usuario_nombre']);
$usuario_nombre = trim($usuario_nombre);
$sql = mysql_query("SELECT usuario_nombre, usuario_clave, usuario_email FROM usuarios WHERE usuario_nombre='".$usuario_nombre."'");
if(mysql_num_rows($sql)) {
$row = mysql_fetch_assoc($sql);
$num_caracteres = "10"; // asignamos el número de caracteres que va a tener la nueva contraseña
$nueva_clave = substr(md5(rand()),0,$num_caracteres); // generamos una nueva contraseña de forma aleatoria
$usuario_nombre = $row['usuario_nombre'];
$usuario_clave = $nueva_clave; // la nueva contraseña que se enviará por correo al usuario
$usuario_clave2 = md5($usuario_clave); // encriptamos la nueva contraseña para guardarla en la BD
$usuario_email = $row['usuario_email'];
// actualizamos los datos (contraseña) del usuario que solicitó su contraseña
mysql_query("UPDATE usuarios SET usuario_clave='".$usuario_clave2."' WHERE usuario_nombre='".$usuario_nombre."'");
// Enviamos por email la nueva contraseña
$remite_nombre = ""; // Tu nombre o el de tu página
$remite_email = ""; // tu correo
$asunto = "Recuperación de contraseña"; // Asunto (se puede cambiar)
$mensaje = "Se ha generado una nueva contraseña para el usuario <strong>".$usuario_nombre."</strong>. La nueva contraseña es: <strong>".$usuario_clave."</strong>.";
$cabeceras = "From: ".$remite_nombre." <".$remite_email.">\r\n";
$cabeceras = $cabeceras."Mime-Version: 1.0\n";
$cabeceras = $cabeceras."Content-Type: text/html";
$enviar_email = mail($usuario_email,$asunto,$mensaje,$cabeceras);
if($enviar_email) {
echo "La nueva contraseña ha sido enviada al email asociado al usuario ".$usuario_nombre.".";
}else {
echo "No se ha podido enviar el email. <a href='javascript:history.back();'>Reintentar</a>";
}
}else {
echo "El usuario <strong>".$usuario_nombre."</strong> no está registrado. <a href='javascript:history.back();'>Reintentar</a>";
}
}
}else {
?>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<label>Usuario:</label><br />
<input type="text" name="usuario_nombre" /><br />
<input type="submit" name="enviar" value="Enviar" />
</form>
<?php
}
?>


Cambiando la contraseña:


Con este script, los usuarios podrán cambiar su contraseña, a este archivo lo llamaremos cambiar_contrasena.php

<?php
session_start();
include('acceso_db.php'); // incluímos los datos de conexión a la BD
if(isset($_SESSION['usuario_nombre'])) { // comprobamos que la sesión esté iniciada
if(isset($_POST['enviar'])) {
if($_POST['usuario_clave'] != $_POST['usuario_clave_conf']) {
echo "Las contraseñas ingresadas no coinciden. <a href='javascript:history.back();'>Reintentar</a>";
}else {
$usuario_nombre = $_SESSION['usuario_nombre'];
$usuario_clave = mysql_real_escape_string($_POST["usuario_clave"]);
$usuario_clave = md5($usuario_clave); // encriptamos la nueva contraseña con md5
$sql = mysql_query("UPDATE usuarios SET usuario_clave='".$usuario_clave."' WHERE usuario_nombre='".$usuario_nombre."'");
if($sql) {
echo "Contraseña cambiada correctamente.";
}else {
echo "Error: No se pudo cambiar la contraseña. <a href='javascript:history.back();'>Reintentar</a>";
}
}
}else {
?>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<label>Nueva contraseña:</label><br />
<input type="password" name="usuario_clave" maxlength="15" /><br />
<label>Confirmar:</label><br />
<input type="password" name="usuario_clave_conf" maxlength="15" /><br />
<input type="submit" name="enviar" value="Enviar" />
</form>
<?php
}
}else {
echo "Acceso denegado.";
}
?>


Agregando mensaje de bienvenida con enlace hacia el perfil personal y un enlace para cerrar sesión, en cualquier página:


Ahora lo que haremos será agregar un mensaje de bienvenida al usuario logueado, además de un enlace para que éste mismo cierre su sesión:

Al inicio de todo el documento HTML de nuestras páginas agregamos lo siguiente:
<?php
session_start();
include('acceso_db.php');
?>


Y en cualquier zona de nuestras páginas insertamos el siguiente código:

<?php
if(isset($_SESSION['usuario_nombre'])) {
?>
Bienvenido: <a href="perfil.php?id=<?=$_SESSION['usuario_id']?>"><strong><?=$_SESSION['usuario_nombre']?></strong></a><br />
<a href="logout.php">Cerrar Sesión</a>
<?php
}
?>

miércoles, 26 de junio de 2013

inició de sesión con un perfil temporal en Windows 7 solución

Opción (1):
El otro día me encontré que un usuario arrancaba su ordenador con su perfil de dominio y le aparecía el error de perfil temporal. El entorno es el siguiente un SBS 2003 R2 y cliente Windows 7 Pro 64 bits. Para poderlo solucionar hice lo siguiente:
El error:


1- Abrimos una sesión como administrador local en el pc.
2- Vamos a INICIO y escribimos "regedit".
3- Buscamos la siguiente ruta:

HKey_Local_Machine\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

4- Una vez en la ruta veremos que en uno de los valores aparece el perfil con el error. Lo marcamos y realizamos una exportación de esta clave.

5- Ahora eliminamos la clave del perfil y reiniciamos el pc.
6- Ahora ya no tendríamos que tener el problema del perfil temporal.

Opción (1):
sigan este paso:
http://blog.aisha.es/2011/03/como-solucionar-error-de-inicio-de.html



jueves, 13 de junio de 2013

Configurar Outlook 2010 con una Gmail



Configurar el correo electrónico en Outlook 2010 o Outlook 2013

Si desea configurar Outlook 2010 o Outlook 2013 para obtener acceso a su cuenta, escriba la dirección de correo electrónico y la contraseña. Outlook usa un proceso denominado Detección automática para buscar automáticamente los valores de configuración correspondientes y configurar la conexión de Exchange con la cuenta.
Si es un usuario de Office 365, deberá configurar el escritorio para poder configurar Outlook para obtener acceso a su cuenta. Para más información, vea Configurar su escritorio para Office 365.
 Nota   Puede que sea capaz de configurar Outlook 2010 o Outlook 2013 manualmente para obtener acceso a su cuenta de correo electrónico mediante POP o IMAP. Sin embargo, se recomienda el uso del proceso de detección automática para configurar una conexión de Exchange a su cuenta. Si usa POP o IMAP, no podrá disfrutar del calendario ni de otras características de colaboración que sí se encontrarán disponibles si decide conectar a la cuenta a través de Exchange. Para obtener más información, vea Más información de utilidad más adelante en este artículo.

Cuál es el servidor de correo entrante (POP3) y saliente (SMTP) ?

Para que puedas configurar tu cliente de correo electrónico, ponemos a tu disposición los datos del servidor entrante (POP3) y saliente (SMTP). Si requieres instrucciones para configurar tu cliente de correo electrónico, da click aquí.
Google Apps.- En caso de que tu cuenta de correo esté en google apps:
Servidor de entrada (POP3): pop.gmail.com
Puerto: 995, Activar SSL
Servidor de salida (SMTP): smtp.gmail.com
Puerto: 465, Activar SSL o bien Puerto: 587, Activar TLS/STARTTLS
Activar autenticación
Nombre de la cuenta: tu cuenta de correo completa
Dirección de correo: la dirección de correo completa
Contraseña: la asignada a tu cuenta
Servidor Angeleon/Linuxreal
En caso de que tu servicio de correo se encuentre alojado en el mismo servidor, los datos son los siguientes:
Servidor de entrada (POP3): mail.angeleon.net
Puerto: 110
Servidor de salida (SMTP): mail.angeleon.net
Puerto: 26
Activar autenticación
Webmail
En ambos casos, la dirección de acceso al webmail es de la siguiente forma:


Cuáles son los servidores de nombres (DNS) ?

En caso de que cuentes con tu nombre de dominio y desees configurarlo para utilizar nuestros servidores de nombres, ponemos a tu disposición las direcciones que tienes que utilizar:
  • DNS 1: ns1.angeleon.net [174.37.144.176]
  • DNS 2: ns2.angeleon.net [148.243.70.3]

Cuál es la dirección del servidor FTP ?

La dirección siempre corresponde con el nombre de dominio de tu sitio, por ejemplo, si el dominio es angeleon.net, el servidor ftp es angeleon.net. Sin embargo, en caso de que dicha dirección no sea accesible por alguna razón, siempre se puede utilizar la siguiente:
Dirección:ftp.angeleon.net
Puerto: 21
  ********************************************
Dicho esto aca les dejo un video 
*********************************************