Mostrando entradas con la etiqueta Virtual Box. Mostrar todas las entradas
Mostrando entradas con la etiqueta Virtual Box. Mostrar todas las entradas

domingo, 29 de septiembre de 2019

Máquina Virtual con LAMP en Virtual Box

Llevo un par de semanas pensando en un proyecto para ir realizando poco a poco en tecnificados.com, y uno de los componentes que necesito para empezar es  una base de datos relacional.

Lo más cómodo es utilizar MySQL, y para administrarla utilizar PHPMyAdmin, el "problema" es que son muchos componentes a desplegar, y no me gusta instalar muchos servicios en el sistema operativo nativo de mi portátil (Windows).

Dándole una vuelta, he decidido montarlo en una máquina virtual con Ubuntu Server 18.

Y nada, me he puesto con ello y lo he hecho con la última versión de Virtual Box.

Lo que he instalado se llama LAMP, que son las siglas de:
  • Linux
  • Apache
  • MySQL
  • PHP para PHPMyAdmin
He tardado más de lo que pensaba, en otras versiones de Ubuntu Server se instalaba con un solo comando, aquí he tenido que instalar los componentes uno por uno, hacer que se hablen,... y para acabar, he solucionado un bug en el código de PHPMyAdmin (https://stackoverflow.com/questions/48001569/phpmyadmin-count-parameter-must-be-an-array-or-an-object-that-implements-co).

Cuando he terminado he pensado, que si exporto la máquina y la subo a Mega, la puedo compartir y así cualquiera puede descargarse la máquina y evitar volver a hacer lo mismo. Al terminar lo he exportado en formato "OpenVirtualizationFormat 1.0" para que se pueda abrir con cualquier software de virtualización.

Así que os cuento brevemente las características de la máquina:

- RAM: 2 Gigas
- Disco: 40 Gigas (reservado dinámicamente)
- Procesadores: 1

Más cosillas a tener en cuenta:

- Nombre de la máquina: ironman
- Usuario ubuntu: tecno
- Password ubuntu: tecnificados
- Usuario mysql: root
- Password mysql: tecnificados
- SSHServer instalado.


He creado dos "snapshots":



Si no os interesa LAMP y queréis sólo el sistema operativo, podéis eliminar el segundo.

El firewall esta desactivado, y el MySQL soporta conexiones remotas desde cualquier host. A nivel de seguridad deja bastante que desear, pero es un entorno de pruebas.

Para que todo funcione bien, recordar tener abiertos los siguientes puertos:

- 22: acceso ssh
- 80 y 443: puertos para acceder vía web a PHPMyAdmin
- 3306: el puerto por defecto de MySql

Os podéis descargar la máquina a través del siguiente enlace: https://mega.nz/#F!6lMylKLR!nuW8D9A-zRMWcsRiaFAiVA

El tamaño de la imagen es de 1 Giga, espero que os sea de utilidad, y que os haya ahorrado algo de tiempo.

lunes, 31 de marzo de 2014

Tomcat y Eclipse: compañeros de camino


En este post vamos a finalizar nuestro entorno de pruebas. Vamos a instalar Tomcat 7 para poder desplegar las aplicaciones que hagamos en nuestro entorno de desarrollo.

Arrancamos nuestra máquina virtual y accedemos a ella a través de nuestro cliente favorito: putty.


Si habéis hecho lo mismo que yo vemos que tenemos algunas actualizaciones pendientes, para estar seguros de que tenemos los paquetes de los repositorios actualizados ejecutamos el comando:

sudo apt-get update

La consola empezará a escribir como loca, en cuando metamos nuestro password. Tranquilos, sólo está actualizando lo que el sistema necesita.



Cuando llegue al final podremos leer:

Leyendo lista de paquetes... Hecho

Ahora vamos a instalar Tomcat 7 y el Administrador Web de Tomcat.

Ejecutamos el comando:

sudo apt-get install tomcat7 tomcat7-admin

A continuación nos aparece todo lo que va a instalar, y nos pregunta si estamos de acuerdo.


Le decimos que Sí y esperamos un rato (largo). Como veis es bastante fácil.

Él sólo se va a bajar Java y todas las dependencias que necesita:


Cuando termina en la consola aparece lo siguiente:

Procesando disparadores para libc-bin ...
ldconfig deferred processing now taking place

Para ver si todo ha ido bien podemos ver la versión de JAVA que tenemos instalada con:

java -version

A mí me aparece esto:

java version "1.6.0_30"
OpenJDK Runtime Environment (IcedTea6 1.13.1) (6b30-1.13.1-1ubuntu2~0.12.04.1)
OpenJDK Client VM (build 23.25-b01, mixed mode, sharing)

Cuando instalamos Tomcat así, se "reparte" por el sistema de ficheros de forma que todo cuadre con el sistema operativo. Las rutas que necesitamos saber son éstas:

Dentro de /var/lib/tomcat6 tenemos estos directorios:
  • common  
  • conf 
  • logs  
  • server  
  • shared  
  • webapps  
  • work
Para arrancarlo, pararlo y esas cosas, podemos usar el comando service:

Arrancar: sudo tomcat7 start
Parar: sudo tomcat7 stop
Reiniciar: sudo tomcat7 restart

Cualquier servicio que instalemos se puede gestionar desde este comando. Mola, ¿eh?

Ahora vamos a configurar los permisos del administrador web.

Por defecto viene deshabilitado, pero vamos a crearnos un usuario para poder gestionar las aplicaciones que contiene.

Editamos su fichero de configuración:

sudo vi /var/lib/tomcat7/conf/tomcat-users.xml

Yo soy de usar este editor, aunque podéis usar cualquier otro.

Éste es el contenido del fichero:



Cómo podéis ver esté todo comentado y muy bien documentado. Explica perfectamente lo que hay que hacer. Yo lo que voy a hacer es pegar este contenido dentro de <tomcat-users>:

<role rolename="manager-gui"/>
<user username="tecnificados" password="tecnificados" roles="manager-gui"/>

Esto otorgará al usuario "tecnificados" privilegios para poder entrar vía web al administrador de Tomcat.



Guardamos el fichero y reiniciamos Tomcat con sudo service tomcat7 restart.

Vamos a probarlo a través del navegador, el contexto es /manager y el puerto por defecto de Tomcat es el 8080.

Ahora hay que redirigir el puerto 8080 para que funcione (si no sabes qué es esto, mira el anterior post).

Yo lo que hago es redirigir el puerto 80 de mi máquina física al 8080 de la máquina virtual. Cuidado, si tenéis el 80 ocupado no os funcionará la redirección.

Ésta es mi configuración de puertos:



Con esto lo que hago es reservarme el puerto 8080 para el Tomcat que usaremos en desarrollo y usar el puerto 80 para el de pruebas.

En mi caso yo accedo al administrador de tomcat así: http://localhost/manager, si lo queréis dejar en el puerto 8080 accederíais con esta otra URL: http://localhost:8080/manager

Al escribir la URL en el navegador lo primero que nos pide es la autenticación:


Escribimos lo que hemos puesto en el fichero de usuarios y pulsamos aceptar.




Desde esta pantalla podremos subir nuestras aplicaciones, pararlas o borrarlas.

Y con esto ya tenemos nuestro entorno de pruebas listo.

Ahora sólo nos queda el entorno de desarrollo.

domingo, 16 de marzo de 2014

Redirección de puertos en Virtual Box


Continuando con mis anteriores "posts", vamos a terminar nuestro entorno de pruebas redirigiendo los puertos que nos interesan de la máquina virtual a nuestro PC.

Con Virtual Box podemos configurar la red de diversas formas, una de ellas es redireccionar los puertos de la máquina virtual a la nuestra.

Es bastante fácil y rápido de configurar, y lo que hace es que tengamos unos puertos destinados al entorno de desarrollo y otros para el entorno de pruebas.

Ejemplo de uso: 

- podemos usar el puerto 8080 para desarrollar en eclipse en nuestro entorno de desarrollo con Tomcat.
- usaremos el puerto 80 para el Tomcat del entorno de pruebas
Más adelante veremos cómo configurar las redes de virtual box para que sean máquinas independientes conectadas a nuestra red y más opciones.

Vamos a hacer la redirección del puerto 22 para poder acceder a nuestra máquina virtual a través de uno de los clientes ssh más extendidos (y con nombre controvertido): "putty".

Si recordáis, cuando instalamos Ubuntu 12 Server dejamos marcada la opción de "Open SSH Server", esto hace que nuestra máquina virtual escuche por el puerto 22 (por defecto) las peticiones ssh.

Antes de nada vamos a bajarnos el cliente de esta url: http://www.putty.org/



Pulsamos en el primer enlace ("here") y seleccionamos el fichero "putty.exe" que más se ajuste a nuestro sistema operativo y a nuestra arquitectura. En mi caso "For Windows on Intel x86".

Descargamos el fichero y lo ejecutamos.


Vamos a hacer una prueba que no debe funcionar: escribimos en "Host Name or (IP Address)" localhost y pulsamos el botón "Open". Nos aparecerá el siguiente error:


Esto ocurre porque nuestra máquina física no sabe que tiene que redirigir las peticiones del puerto 22 a la máquina virtual. Vamos a decírselo.

Sobre nuestra máquina virtual pulsamos botón derecho y en "configuración".


Seleccionamos "Red" en la parte de la izquierda y pulsamos el botón "Reenvío de puertos".


Se nos abre la siguiente ventana. Pulsamos sobre la cruz verde de la derecha.


Nos aparece una linea para añadir una regla. Escribimos en la columna "Puerto anfitrión" el puerto de la máquina física que queremos dirigir y en la columna "Puerto invitado" el puerto de la máquina virtual. Vamos a poner el 22 en las dos columnas.



Si por casualidad el puerto 22 de nuestra máquina física está ocupado, podemos poner otro como el 24. A la hora de lanzar la llamada desde "putty" hay que poner ese número de puerto en el texto "Port" en lugar del 22 que aparece por defecto.

Puede que en algún momento puede que nos aparezca el siguiente aviso:


Se pulsa en el botón "Permitir acceso" y ya no debería aparecernos más.

Volvemos al "putty" (suena un poco raro, ¿verdad?). Y repetimos la operación anterior.



Debería aparecer la siguiente advertencia:



Como es un entorno de pruebas no pasa nada y pulsamos el botón "Si".

A continuación ya deberíamos ver el terminal pidiéndonos nuestro usuario y password.


Trabajar con este terminal es mucho más rápido que directamente contra la máquina virtual. 

Truco: si queremos cortar algún texto solo tendremos que seleccionarlo con el ratón y para pegar pulsar con el botón derecho.

Una vez dentro ya podemos empezar a trabajar con la máquina virtual. Recordar que para apagarla basta con escribir "sudo shutdown -P now".

Con esto ya tenemos el entorno de pruebas listo para configurarlo a nuestro gusto.

Si queremos redirigir más puertos solo tenemos que repetir el proceso tantas veces como puertos queramos redirigir.

miércoles, 12 de febrero de 2014

Preparación de entorno de pruebas con Virtual Box

Hoy quiero empezar a montar un entorno de pruebas para los distintos tutoriales y prácticas que iremos haciendo.

Mi entorno de desarrollo es el sistema operativo de mi pc (Windows 8).

Y para el entorno de pruebas será un Ubuntu Server 12.04. 

Para crear este último vamos a utilizar una máquina virtual.

Yo he elegido Virtual Box, aunque hay otras alternativas como VM Ware, Pararells,...

Para empezar nos vamos a la Web de Virtual Box (https://www.virtualbox.org/) sección "Downloads" y nos descargamos el paquete que se corresponda con nuestro sistema operativo. Yo he seleccionado "Virtual Box 4.3.6 for Windows hosts".


Una vez descargado, iniciamos el instalador.


Lo dejamos todo como viene por defecto:


Nos avisa de un posible corte de conexión de red al instalar las interfaces de red. Aceptamos.


Esperamos a que la barra de progreso llegue al final.

Pulsamos el botón "finish".


Ya tenemos "Virtual Box" instalado, vamos a estrenarlo creando una primera máquina virtual.

Iniciamos el programa, veremos la pantalla inicial y pulsaremos sobre el botón "Nueva".


Rellenaremos los datos básicos de la máquina virtual.



Seleccionaremos la memoria virtual. Cuidado con esto, seleccionar la Ram dentro del rango de color verde, o vuestra máquina será una tortuga.

 

Ahora le toca al disco duro. Yo siempre selecciono "Crear un disco virtual ahora".


Ahora tenemos que elegir qué tipo de disco, esto se utiliza para compatibilidad con otros sistemas de virtualización. Cómo no tengo pensado utilizar esta máquina virtual en otros entornos me quedo con el sistema por defecto.


Ahora seleccionamos cómo queremos que se cree el disco: "Reservado dinámicamente", el disco duro se creará ocupando poco espacio e irá creciendo hasta llegar a su límite. O "Tamaño fijo", el disco se creará ocupando el tamaño especificado. Aquí yo prefiero la segunda opción.


En la siguiente pantalla podemos elegir la ruta del disco si pulsamos en el icono de la carpeta de la derecha.


 

Yo cambio la ruta y la apunto a: "D:\VM\".


Ahora nos toca elegir el tamaño del disco, con ocho gigas será suficiente. No vamos a instalar entorno gráfico y con esto ahorramos mucho espacio.

Y una vez hecho esto ya tenemos la máquina virtual creada.

Eso si, vacía. Imaginaros que tenemos un PC recién comprado y sin sistema operativo.

Vamos a configurarla para que su CD sea una ISO con un sistema operativo que nos hemos bajado previamente.

Para esto seleccionamos nuestra máquina virtual, y después pulsamos en el botón "Configuración".


Aparecerá la siguiente pantalla. Ahora pulsamos en "Almacenamiento".


Y debajo "Controlador: IDE", aparece un icono con forma de CD donde pone "Vacio".


Pulsamos en el CD que está a la derecha y pulsamos en la primera opción.


Ahora seleccionamos la ISO y pulsamos el botón "Aceptar".


La máquina virtual arrancará utilizando el CD, con esto empezará la instalación.

Aunque este tutorial está pensado para un Ubuntu Server 12, nos valdría también para probar otro sistema operativo. Os pongo un par de enlaces donde conseguir ISOS de Sistemas Operativos:

Y hasta aquí el tutorial de hoy. En breve publicaré la instalación en otro tutorial.