domingo, 7 de julio de 2013

Convertir disco virtual de VirtualBox (.vdi) a VMWare (.vmdk) y viceversa utilizando vboxmanage de VirtualBox

Googleando (tomado de "Google it"(Googlealo), en este caso buscando en Google) cómo convertir discos vdi(VirtualBox) a vmdk(vmware), se encontró la siguiente solución obtenida de Algo de Linux, la cuál es clonando el disco virtual utilizando la herramienta vboxmanage de VirtualBox, dependiendo de su tamaño es lo que tarda en clonar el disco virtual, no obstante se encuentra otra solución mencionada en How-To Geek o Linuxeros por mencionar algunos. Para ésta solución se debe:

1.- Ingresar como Usuario raíz (root), en el terminal(GNOME) o Konsole (KDE), se explicó en "

" de este mismo blog.

2.-Tener instalado VitualBox, en caso de no tenerlo y desea instalarlo sólo copie lo siguiente y presione Enter o Intro:

yum -y install VirtualBox

Nota: Ésta linea sólo aplica teniendo el paquete "yum" instalado y después de instalarse se debe reiniciar el ordenador(computadora), para aplicar los cambios pertinentes.

3.- Repetir sólo el paso 1, sólo en caso de haber reiniciado o salido del Konsole o Terminal, e ingresar  la siguiente linea con los datos que se piden y presionar Enter o Intro al finalizar:

vboxmanage clonehd <nombre o dirección del disco fuente>.vdi <nombre o dirección del disco destino>.vmdk -format <formato en el que se convertirá (VMDK)> -variant standard

Ejemplo: vboxmanage clonehd EcsPi.vdi EcsPi.vmdk -format VMDK -variant standard <<Enter>>

4.- Finalmente, nos aparecerá algo parecido a:

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VMDK'. UUID: 278a2e34-90fa-451d-a971-ec5b8db05921

donde "0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%" es el progreso y "UUID: 278a2e34-90fa-451d-a971-ec5b8db05921" es el ID que en este caso arrojó vboxmanage al crear el disco con el nuevo formato.

 Ésta es una imagen del disco funcionando en VMWare:


Imagen 1.1 (VMWare captura de pantalla).

Para realizar la acción en caso inverso simplemente se debe realizar el paso 3 con los siguientes atributos:

vboxmanage clonehd <nombre o dirección del disco fuente>.vmdk <nombre o dirección del disco destino>.vdi -format <formato en el que se convertirá (VDI)> -variant standard

Ejemplo: vboxmanage clonehd Ubuntu-Svr.vmdk Ubuntu-Svr.vdi -format VDI -variant standard <<Enter>>

Finalmente, se obtendrá algo parecido a lo del paso 4, es decir:

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

Clone hard disk created in format 'VDI'. UUID: 25eb215e-e3e0-46e5-8617-b4c0ec597c2c

Nota: Ésta solución se comprobó con Fedora 18 y funcionó de maravilla, aunque cabe aclarar que se debería poder en cualquier distribución y no sólo linux,en windows debería ser algo parecido a lo que mencionan en taringa en conjunto a lo que se describió aquí, cosa que no he comprobado, sin embargo si a usted le ha funcionado en cualquier otra distribución, o en otro sistema Operativo, como en Windows, le invito a que por favor nos lo comparta. 

"Hay que devolver un poco a la comunidad, ya que de ella hemos aprendido muchas cosas" - Carlos Rodríguez

"HONOR A QUIEN HONOR MERECE" - Carlos Rodríguez:

Para más información se sugiere revisar los links,  cada link o enlace dirige al autor intelectual o página de 

donde se obtuvo la información para realizar éste pequeño manual. Las marcas son propiedad de cada uno 

de sus autores intelectuales, sólo se han utilizado en éste manual con fines íntimamente ilustrativos y 

educativos.

martes, 11 de junio de 2013

Errores solucionados de JpGraph y FPDF con PHP6.


    Es común que haya este tipo de errores cuando te encuentras programando o haciendo pruebas con nuevo  software (parte lógica de una computadora, que permite la interacción, para obtener un resultado u una respuesta), el problema esta en la función CheckPHPVersion del archivo jpgraph.php. en php 5.1.0 se usa la función split que evalúa "[/.-]". luego de 5.3 es discontinua su uso y hay que reemplazarla por explode que no evalúa eso, y lo toma literal (como lo menciona aquí agustín, de donde se obtuvo la solución ):

ERROR:

//
// Check minimum PHP version
//

function CheckPHPVersion($aMinVersion) {
    list($majorC, $minorC, $editC) = preg_split('/[\/.-]/', PHP_VERSION);
    list($majorR, $minorR, $editR) = preg_split('/[\/.-]/', $aMinVersion);

    if ($majorC != $majorR) return false;
    if ($majorC < $majorR) return false;
    // same major - check minor
    if ($minorC > $minorR) return true;
    if ($minorC < $minorR) return false;
    // and same minor
    if ($editC  >= $editR)  return true;
    return true;
}

 Para solucionar el problema primero se debe de cambiar lo anterior a algo similar a lo siguiente: 

//
// Check minimum PHP version
//
function CheckPHPVersion($aMinVersion) 
$actual = preg_replace("/[^0-9]/","", PHP_VERSION); 
$minima = preg_replace("/[^0-9]/","", $aMinVersion); 

return( $minima <= $actual ); 
}

y queda  solucionado el problema, no obstante si nos aparece el siguiente error:

Strict Standards: strftime() [function.strftime]: It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for '-5.0/DST' instead in \jpgraph\src\jpgraph.php on line 400.

lo que se debe hacer es colocar date_default_timezone_set();, antes de llamar a la librería de fpdf, es preciso colocar entre los paréntesis la  zona horaria que más aplique, para más información revisar PHP: date_default_timezone_set - Manual, es decir:


date_default_timezone_set(UTC);
include "fpdf/fpdf.php";

Ahora si aparece el siguiente error:

Fatal error: Call to undefined function get_magic_quotes_runtime() in ...\fpdf\fpdf.php on line 1054

Ésto se debería resolver,  según esta fuente,  cambiando lo que dice set_magic_quotes_runtime(0) y lo que contiene dentro de sus paréntesis cambiándolo por ini_set("magic_quotes_runtime", 0);, dónde lo que se encuentra en el interior de los paréntesis se colocará después de la coma, es decir:

ERROR:

Código 1 - PHP
1.    /* FUNCION QUE DARÁ ERRORES*/
2.     
3.    if (PHP_VERSION < 6) {
4.    $magic_quotes = get_magic_quotes_runtime();
5.    set_magic_quotes_runtime(0);
6.    }
7.    $file_buffer = file_get_contents($path);
8.    $file_buffer = $this->EncodeString($file_buffer, $encoding);
9.    fclose($fd);
10. if (PHP_VERSION < 6) { set_magic_quotes_runtime($magic_quotes); }
11. return $file_buffer;
12. }

SOLUCIÓN:

Código 2 - PHP
1.    /* NUEVA FUNCION CORRECTA */
2.     
3.    if (PHP_VERSION < 6) {
4.    $magic_quotes = get_magic_quotes_runtime();
5.    ini_set("magic_quotes_runtime", 0);
6.    }
7.    $file_buffer = file_get_contents($path);
8.    $file_buffer = $this->EncodeString($file_buffer, $encoding);
9.    fclose($fd);
10. if (PHP_VERSION < 6) { ini_set("magic_quotes_runtime", $magic_quotes); }
11. return $file_buffer;
12. }

Ahora bien, para terminar, si se presenta este error:


Se debe simplemente cambiar el nombre, como se muestra a continuación la solución obtenida de aquí, donde el error es lo que sigue:

$graph->Stroke("/img/grafica.png");
Y simplemente se debe quitar las diagonales “/” como sigue:

$graph->Stroke("grafica.png");

 Y el problema se habrá resuelto.

“Honor  a quien Honor merece” – Carlos Rodríguez:

Cada solución fue probada y obtenida de sus respectivos autores y páginas, espero les sea útil como lo ha sido conmigo.


miércoles, 1 de mayo de 2013

Instalar LAMP (Linux Apache MySQL PHP) stack con Workbench en Fedora

Ingresar a la Terminal
Antes que nada se debe entrar a la Terminal (Gnome) o Konsole (KDE), dependiendo de la interfáz gráfica que esté utilizando. Normalmente cuando descargamos Fedora la interfáz gráfica que se descarga es Gnome, aunque también la página permite descargar el sistema operativo en diferentes entornos gráficos o interfaces gráficas (KDE, Xfce, entre otros.)


Figura 1.1 (Terminal o Konsole)


Ingresar como Super Usuario o Usuario raíz (root)
Una vez en la Terminal entramos como super usuario o usuario raíz(root) tecleando la siguiente linea de código y presionamos enter:

su -

Éste comando hace referencia al comando Switch User (su), el guión nos mostrará como que usuario vamos a trabajar y si no colocamos el usuario separandolo con un espacio, asumirá que queremos entrar como usuario root. Una vez que se teclea el comando y presionando la tecla enter, nos pedirá que ingresemos la contraseña del usuario con el que queremos trabajar, en nuestro caso es el usuario root, ingresamos dicha contraseña y presionamos Enter de nuevo. 


Instalar Apache
Antes de instalar Apache (servidor web que permite visualizar nuestras páginas web) se recomienda revisar que sea correcto el nombre del host, se sugiere revisar el siguiente tema. Para instalar Apache se teclea la siguiente linea o comando y presionamos enter:

dnf -y install httpd

Iniciar el servicio
Una vez finalizando la instalación del Apache, se inicia el servicio tecleando la siguiente linea y se presiona enter:

service httpd start
o
servicectl start httpd

Iniciar el servicio al iniciar el sistema
Para iniciar el servicio cuando inicie el sistema, se crea el enlace tecleando la siguiente linea de comandos y presionando enter:

systemctl enable httpd.service

chkconfig httpd on

Se inicia el servicio tecleando la siguiente linea y se presiona enter:

systemctl start httpd.service

Probar Apache
Ingresar en el explorador de internet preferido la siguiente página:

http://localhost


Donde "localhost" puede ser el nombre o la dirección IP del computador (máquina) o servidor donde se ha instalado Apache. La carpeta donde colocaremos los scripts [guión, archivo de órdenes o archivo de procesamiento por lotes escritos en algún lenguaje de programación (PHP, HTML, CSS, JavaScript, entre otros), que por lo regular se almacena en un archivo de texto planoes:

 /var/www/html

A la cual se le debe asignar permisos con el siguiente comando y presionando enter:

chmod -R 775 /var/www/html 


Instalar MySQL y Workbench
Para instalar MySQL (Servidor de Bases de datos de Oracle) se teclea la siguiente linea o copiamos la siguiente linea y presionamos shift+insert en la terminal y presionamos enter:

dnf update

ésta linea nos ayudará a revisar que tengamos la ultimas actualizaciones en los repsitorios y de software, se recomienda que se conozca el repositorio yum de MySQL para conocer el paquete RPM y enseguida tecleamos algo similar a lo siguiente:

dnf install https://dev.mysql.com/get/mysql80-community-release-fc39-2.noarch.rpm

ésta linea nos ayudará a agregar MySQL desde los repositorios de Oracle. Ya terminado de ejecutar el comando deberemos ejecutar lo siguiente:

dnf install -y mysql-community-server

Iniciar el servicio
Una vez finalizando la instalación del MySQL, se inicia el servicio tecleando la siguiente linea y se presiona enter:

service mysqld start
o
systemctl start mysqld

Si no ha iniciado el servicio por algún error, mi sugerencia es detener el servicio del firewall con :
systemctl stop firewalld

Asignar password al usuario root de base de datos
Oracle se ha vuelto muy minucioso con la seguridad, es por esto que al realizar una instalación nueva, se genera una contraseña aleatoria, la cual podemos revisar con el siguiente comando:

grep 'temporary password' /var/log/mysqld.log

con el sevicio de la base de datos corriendo, se debe ejecutar el siguiente comando :

mysql_secure_installation

Éste comando nos pedirá la contraseña del usuario root de base de datos obtenida con el comando grep 'temporary password' /var/log/mysqld.log, te pedirá que asignes una nueva contraseña para el usuario root de la base de datos y unas consideraciones para mantener seguro nuestro servidor de base de datos. Responda las preguntas de seguridad como prefiera o simplemente presione "y" en todas como sus respuestas.

Iniciar el monitor
Iniciamos el monitor con el siguiente comando y presionamops  enter al finalizar:
mysql -u root -p
enseguida nos pedira la contraseña del usuario, en este momento ya podremos usar la contraseña previamente asignada. Si desea salir del monitor, solamente deberá escribir el comando:
quit

Si no te ha funcionado lo anterior o se te ha olvidado tu contraseña, puedes recurrir a lo siguiente:
  • Inserta en el terminal la siguiente linea  y presionamos enter (ésta Linea es muy importante ya que con esta podremos asignarle una contraseña para el acceso a MySQL, de lo contrario la contraseña del usuario root estará con la contraseña generada de manera aleatoria:
          mysqladmin -u root password yourrootsqlpassword 

NOTA: En "yourrootsqlpassword" se cambiará por la contraseña que se desee. 

  • En caso de que no se haya cambiado "yourrootsqlpassword" como password, se sugiere revisar el siguiente tema o realizar lo siguiente:

Detener el servicio
service mysqld stop

          o 

         systemctl stop mysqld 


Iniciar en modo FULL o abierto
mysqld_safe --skip-grant-tables --skip-networking&

esta opción causa que el servidor no use el sistema de privilegios lo que le da acceso ilimitado a todas las bases de datos a todos los usuarios de la base de datos.

NOTA: Si MySQL fue configurado y compilado con la opción '--disable-grant-options' entonces lo anterior no funcionará y no hay mucho que se pueda hacer entonces y no se podrá cambiar la contraseña, aunque en la práctica realmente esta opción casi no se usa.
deja de escuchar (LISTEN) conexiones TCP/IP provenientes de la red, es decir MySQL trabajaría en un ambiente totalmente local.


Iniciar el monitor
mysql -u root

Como no hay sistema de privilegios en este momento, no se preguntara por la contraseña.

Usamos la base de datos del sistema mysql
 mysql> use mysql;

Actualizamos el campo que cambiará la contraseña de 'root'
mysql> UPDATE user SET password=PASSWORD('nuevo_pass') WHERE user='root';
Query OK, 1 rows affected (0.07 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> exit

o

mysql> quit 

NOTA: Recuerda usar o cambiar la leyenda nuevo_pass por la contraseña deseada, 

 

sino, nuevo_pass se volverá tú contraseña.
Reiniciar el servicio
service mysqld restart
La siguiente vez que ingreses al monitor () usa la clave o contraseña 
que colocaste en lugar de 'nuevo_pass'.

Iniciar el servicio al iniciar el sistema
Para iniciar el servicio cuando inicie el sistema, se crea el enlace tecleando la siguiente linea de comandos y presionando enter:

systemctl enable mysqld
chkconfig mysqld on

Si en algún momento detuviste el servicio del firewall deberás inicializarlo con el siguiente código:
systemctl start firewalld

Workbench
Workbench (Workbench es una herramienta que permite la administración de las bases de datos MySQL de Oracle, es fácil de usar). Hay dos maneras de instalar éste software una es por la linea de comandos y la otra es desde el ambiente gŕafico:
  • para instalarlo desde la linea de comandos, debemos ejecutar como usuario raíz las siguientes lineas de comando (no olvidar presionar enter después de cada línea):
        dnf install -y https://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-8.0.36-1.fc38.x86_64.rpm

        dnf install -y mysql-workbench-community

  • Para instalarlo desde el modo gráfico:
    •  se descarga la aplicación desde su página, seleccionando la plataforma (Sistema Operativo) para la cuál se va a usar y se hace clic en descargar.
    • Una vez descargado se le da doble clic (si descargaste el ejecutable o rpm en caso de fedora) y se ejecutará el instalador donde sólo debe seguirse las instrucciónes y listo sólo hay que configurar.

Configuración de Workbench:

  • Para configurar en modo avanzado, se sugiere revisar el siguiente tema(inglés).
  • Para configurar de una manera más sencilla, sólo sigue los pasos 1,2,3(hasta donde dice: "Do not press OK"),12,13 del siguiente manual(inglés), si nos aparece un mensaje de error, repetir el paso 3 hasta donde se mencionó, pero donde dice Password o Contraseña, hacer clic en Store in Vault... o Store in Keychain  o Guardar en el baúl... y nos aparecerá una ventanita donde teclearemos la contraseña del usuario root de la base de datos y seleccionaremos el botón OK o Aceptar y repetimos apartir del paso 12.

Instalar PHP
Para instalar PHP (es un lenguaje de scripting de propósito general ampliamente usado que es especialmente adecuado para el desarrollo web y puede ser embebido en páginas HTML) se teclea la siguiente linea o comando y presionamos enter:

dnf -y install php

Reiniciar Servicio
Se reinicia el servicio de Apache tecleando la siguiente linea y presionando enter:

service httpd restart

Revisar configuración PHP
una vez reiniciado el servicio para revisar los detalles de la instalación de PHP teclear la siguiente línea y presionar enter  :

vi /var/www/html/info.php


Se creará un nuevo documento, si no existe, llamado "info.php" el cual será 
modificado con el editor de textos vi (en linea de comandos o CLI), presionar 
insert o "I" y teclear lo siguiente:


<?php
phpinfo();
?>
 Figura 1.3 (Script PHP)

Al terminar presionar la tecla escape "Esc" y teclearemos ":wq" para guardar los cambios o el documento creado. Ingresar en nuestro explorador de internet preferido la siguiente página:

http://localhost/info.php



 Figura 1.4 (información de PHP)

Para obtener soporte MySQL en PHP, se puede instalar el paquete php-mysql. Son buenas pŕacticas instalar tantos módulos de PHP como vaya necesitando para sus aplicaciones. Puede buscar módulos de PHP disponibles con el siguiente comando:

dnf search php


o


dnf list php*

Una vez que haya Eligido los que necesite, procedemos a instalar tecleando lo siguiente y 

presionando Enter o Intro, los módulos que se encuentran dentro de corchetes sólo muestran 

la estructura, a excepción de los corchetes("[ ]") y con esto no significa que debe instalar los mismos :

dnf -y install [
php-pdo php-mysql php-odbc php-mssql]


Nota: si deseas utilizar pdo con mysql ingresa a esta página de repositorios antes de instalar y seleccione el 

que más se adecué a sus preferencias, en mi caso particular elegí éste.



Reinicar Apache:

 
service httpd restart


systemctl restart httpd.service

Ahora recargar o actualizar la página: "http://localhost/info.php" en su navegador y vaya a la sección de módulos de nuevo. Ahora debe encontrar los módulos que instaló, incluyendo el 

módulo de MySQL:






 Figura 1.5 (PHP soporte MySQL)

Nota: También se puede visualizar desde línea de comandos tecleando lo siguiente como usuario root o raíz:
php -r "phpinfo();" | grep "/etc/php.d/" --color=always


"HONOR A QUIEN HONOR MERECE" - Carlos Rodríguez:

para más información se sugiere revisar el siguiente tema. Cada link o enlace dirige al autor intelectual o página de donde se obtuvo la información para
realizar éste pequeño manual.

NOTA: Si deseas instalar LAMP en Ubuntu simplemente sigue este link.


Instalar Sublime Text en Fedora e instalarle el Package Control al Sublime Text

Instalar Sublime Text en Fedora  Saludos, alguna vez has utilizado Sublime Text?, Sublime Text  es un "Sofisticado editor de texto...