Archivo de la categoría: linux

Como virtualizar de manera gratuita Ubuntu Linux en los Mac con chip M1

Hola a todos:
Hoy vamos a ver cómo podemos virtualizar Ubuntu en un Mac con chip M1 utilizando Multipass.
Los nuevos procesadores M1 qué incorporan los Mac recientes les otorgar una gran potencia, sin embargo por el momento no existen muchas opciones para poder virtualizar Linux en ellos de una manera solvente. Si te dedicas al desarrollo es probable que te interese tener una maquina virtual con linux para determinadas tareas.
De momento VirtualBox y VMWare no son compatibles con esta nueva arquitectura. Tenemos la opción de utilizar Parallels, pero esta herramienta es de pago.
Por suerte Canonical nos ofrece la herramienta Multipass que ahora nos permite virtualizar ubuntu también en los nuevos Mac con chip M1.
Multipass nos permite realizar con un sólo comando todo el proceso de configurar una máquina virtual, buscar y verificar una imagen de disco, instalar el sistema operativo y lanzar la máquina virtual. Pueden activar o destruir rápidamente varias máquinas virtuales con facilidad, y los desarrolladores pueden elegir entre un catálogo cada vez mayor de imágenes y máquinas para fines especiales.

Bien, una vez hecha la presentación pasemos a la acción que es lo que nos interesa.

Instalar Multipass

Lo primero que vamos a necesitar es instalar Multipass para ello podemos seguir las instrucciones que se indican en su repositorio en GitHub.

La opción más sencilla es utilizar Homebrew para su instalación,
Si no tienes instalado Homebrew deberás instalarlo primero con el siguiente comando, (si ya lo tienes instalado puedes saltarte este paso):

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Para más información puedes consultar en la web https://brew.sh/

Una vez tengamos instalado Homebrew para instalar Multipass solo tienes que utilizar el siguiente comando:

brew install --cask multipass

Una vez terminada la instalación ya estaremos listos para crear máquinas virtuales con ubuntu.

Crear nueva máquina virtual nueva

Para saber que imágenes tenemos disponibles para crear una instancia utilizaremos el comando multipass find:

multipass find

Para crear una nueva máquina virtual nueva utilizaremos el comando launch desde el terminal y el alias de la imagen que queremos instalar, por ejemplo si queremos instalar la versión 18.04 de ubuntu utilizaremos el comando multipass launch bionic:

multipass launch bionic

Para crear una una nueva instancia del Ubuntu LTS actual utilizaremos el comando launch ubuntu desde el terminal:

multipass launch ubuntu


Esto descargará e instalará y lanzará una instancia de ubuntu y en unos segundos tendrás lista una máquina virtual.

Hay que decir que la instancia se crea por defecto con un espacio de disco pequeño y uso de memoria limitado, si solo vas a utilizar aplicaciones de consola puede que sea suficiente, pero si quieres utilizar un entorno de escritorio como veremos más adelante puede que no sea suficiente para que funcione con la fluidez necesaria. Si quieres otorgarle mas espacio debes indicarlo en el momento de utilizar el comando launch añadiendo algunos parámetros:

multipass launch -c 2 -d 20G -m 4G ubuntu

En este ejemplo con el parámetro “-c” le indicamos el numero de núcleos de procesador que queremos que utilice nuestra instancia, en este ejemplo de decimos que 2.

Con el parámetro “-d” le indicamos el tamaño de disco que va a utilizar, en este caso 20G.

Con el parámetro “-m” le indicamos la memoria ram que queremos que tenga, en ese ejemplo 4G.

Si no se le indica ningún nombré multipass asignará un nombre por defecto a la instancia creada, si deseamos que se cree con un nombre personalizado podemos usar el parámetro “-n” al crear la instancia con el comando launch.

Una vez termine el proceso de instalación de máquina ya podremos acceder a nuestra instancia.

Conectarnos por consola a una instancia:

Para ver las instancias que tenemos instaladas usaremos el comando multipass list:

multipass list

En el listado de maquinas que tengas instaladas nos indicará el nombre de la instancia, el estado (si está corriendo o parada) la ip que se le ha asignado a la maquina y el tipo de imagen que hemos instalado.

Apunta la ip que tiene asignada la instancia porque más tarde la vamos a necesitar para acceder al entorno de escritorio.

Si la instancia está parada (Stopped) tendremos que arrancarla primero, para ello utilizaremos el comando multipass start [nombre de la instancia].

Para conectarnos por consola a la instancia lanzada utilizaremos el comando multipass shell [nombre de la instancia]:

multipass shell vocal-jaeger

En lugar de “vocal-jaeger” tienes que poner el nombre de la máquina a la que quieres conectarte.

Ahora podremos ejecutar comandos dentro de la máquina virtual que hemos creado.

Escritorio gráfico en Multipass

Puede que no sea suficiente el acceso a la consola de la máquina virtual y necesites o quieras tener también un entorno gráfico completo con su escritorio.
Para poder ejecutar ubuntu en entorno gráfico debemos instalar un entorno de escritorio, para ello desde el terminal una vez conectados a la instancia utilizando multipass shell como vimos en el apartado anterior vamos a ejecutar los siguientes comandos:

sudo apt update 
sudo apt install ubuntu-desktop xrdp

Tras un rato instalando paquetes tendremos instalado en nuestra instancia el entorno de escritorio de ubuntu.

Ahora necesitamos un usuario con una contraseña para iniciar sesión. Una posibilidad es establecer una contraseña para el usuario “ubuntu” que se crea por defecto. Para ellos vamos a utilizar el siguiente comando:

sudo passwd ubuntu

Nos pedirá dos veces la contraseña:

El comando multipass shell que vimos anteriormente solo nos sirve para conectarnos a la maquina virtual por consola, pero para acceder al entorno gráfico vamos a tener que instalar alguna aplicación que nos permita conectarnos a un escritorio remoto, Microsoft Remote Desktop es una buena opción, para instalarlo vamos a App store y escribimos “Microsoft Remote Desktop” en el buscador:

Lo instalamos y una vez instalado abrimos la aplicación:

Pulsamos en el botón “Add PC” para crear una nueva conexión:

En la siguiente ventana debemos introducir la IP de la maquina a la que nos queremos conectar, recuerda que anteriormente con el comando multipass list nos mostraba la IP de las instancias.
Tambien podemos darle un nombre opcionalmente:

Ya solo nos queda hacer doble click en la conexión que ha creado para acceder a nuestra máquina virtual con entorno gráfico:

Al conectarnos nos pedirá usuario y contraseña, recuerda que el usuario es “ubuntu” y contraseña la que le pusiste anteriormente cuando ejecutaste el comando passw.

Una vez dentro nos pedirá de nuevo la contraseña, la volvemos a introducir y listo, ¡ya tenemos Ubuntu con entorno gráfico funcionando en un Mac con chip M!

Ahora pulsamos en el botón Next, seccionamos el idioma, volvemos a pulsar next, en la siguiente pantalla pulsamos tambien next y hemos terminado:

¡Así de fácil!
Ahora cada vez que queramos utilizar ubuntu desde nuestro Mac tendremos que arrancar la maquina desde el Terminal con el comando multipass start [nombre de la instancia] y conectarnos desde Microsoft Remote Desktop.

Como instalar cliente de Google Drive "Grive" en ubuntu y derivados.

Hola a todos:

Hoy vamos a ver como instalar Grive en Ubuntu o distribuciones compatibles con esta.

Google Drive no dispone de un cliente oficial para Linux cosa que por cierto me parece muuuuuy mal por parte de Google :(.

Grácias a the fan club existe una alternativa llamada Grive que si bien no es tan completa como el cliente de Google Drive para Windows  y Mac,  nos permite tener una carpeta sincronizada con el contenido que tengamos en Google Drive.

Para instalar Grive vamos a abrir un terminal y seguimos los siguientes pasos:

Lo primero que tenemos que hacer es añadir el siguiente repositorio:

sudo add-apt-repository ppa:thefanclub/grive-tools

Actualizamos los repositorios:

sudo apt-get update

Y por último instalamos grive:

sudo apt-get install grive-tools

Con esto nos habrán aparecido tres nuevas aplicaciones en el menú de aplicaciones:

Google drive, Google drive indicator y Grive setup.

Debemos buscar en las aplicaciones Grive setup y ejecutarla.

Al ejecutarla nos abrirá una ventana en el navegador para que iniciemos sesión en Google Drive.

Una vez logeados nos pedirá permiso para acceder a tus datos,  le decimos que si, copiamos la clave que nos muestra y la pegamos en la ventana de Grive setup.
Le damos a aceptar y acto seguido seguido comenzará a sincronizar el contenido que tengamos en google drive.
La primera vez que se sincroniza puede tardar bastante tiempo así que procura tener el ordenador enchufado a la corriente si se trata de un portatil y no lo apagues hasta que termine de sincronizar

Grive nos habrá creado una carpeta en nuestra carpeta personal llamada Google Drive donde se sincronizarán los archivos que tengamos en nuestra cuenta.

Si por algún motivo quisiéramos desinstalar Grive solo tenemos que ejecutar el siguiente comando desde consola:

sudo apt-get remove grive-tools

Por concluir solo me falta comentar algunas limitaciones de Grive tools:

  • La auto singronización solo detecta cambios el las carpetas y archivos de tu carpeta local de Google Drive.
  • Los Links Simbolicos no están soportados.
  • De momento no es posible descargar los documentos de Google.
  • Los nombres de archivos muy largos o que contengan caracteres especiales pueden causar problemas  y hacer que no se complete la sincronización correctamente.
A pesar de estas limitaciones sigue siendo una forma muy util de poder tener en nuestro sistema linux una carpeta sincronizada con nuestra cuenta de Google Drive.
 Eso es todo por hoy.

Instalar facilmente servidor LAMP en Ubuntu y derivados.

Hola a todos:

Hoy vamos a ver como crear nuestro entorno de desarrollo LAMP fácilmente en nuestro PC.

LAMP viene de linux, apache , mysql y php, y es exactamente todo lo que necesitamos para desarrollar web utilizando php con el servidor apache, es lo que necesitamos por ejemplo si vamos a desarrollar bajo wordpress.

Estos pasos que os voy a mostrar a continuación han sido probado en un viejo portatil con Lubuntu 13.10 instalado, en principio debería funcionar con cualquier derivado de Ubuntu.

El primer requisito lógicamente es tener instalada nuestra distribución de Linux.

Después abrimos el terminal y escribimos lo siguiente para actualizar los repositorios:

sudo apt-get update

Acto seguido instalamos el lamp-server:

sudo apt-get install lamp-server^

Ahora añadimos algunos extras que nos pueden ser útiles como php5-gd para el tratamiento de imágenes y php5-curl:

sudo apt-get install php5-gd php5-curl

Activamos el mod_rewrite que es un modulo de Apache que nos permite modificar la forma en que se muestran las direcciones en la barra de direcciones:

sudo a2enmod rewrite

Por ultimo vamos a instalar phpmyadmin para gestionar nuestra base de datos mysql:

sudo apt-get install phpmyadmin -y 

Al instalar nos preguntará para que servidor web configurar, elegimos apache2 y le damos a continuar.

Después nos preguntará si queremos configurar la base de datos con dbconfig-common, le decimos que no y terminará la instalación.

Para finalizar debemos crear un enlace simbólico desde /usr/share/phpmyadmin hacia la carpeta donde guardamos nuestros archivos web.

En versiones de apache anteriores a 2.4.7 el directorio raiz para guardar los archivos web era /var/www por lo cual crearemos el enlace simbólico de la siguiente manera:

 sudo ln -s /usr/share/phpmyadmin /var/www/

Sin embargo de la versión 2.4.7 en adelante el directorio raiz es /var/www/html/ así que en versiones actuales tenemos  que crear el siguiente enlace simbólico

sudo ln -s /usr/share/phpmyadmin /var/www/html/

De esta manera siescribimos http://localhost/phpmyadmin en la barra del navegador nos abrirá el gestor de mysql phpmyadmin.

Para saber que versión de apache tenemos instalada desde consola escribimos:

 apache2ctl -v

Para finalizar solo comentaros que si necesitáis además mandar emails desde php aquí os explico Como instalar y configurar un servidor de correo SMTP para enviar emails desde localhost con php.

Espero que os sirva de ayuda.

Como instalar y configurar un servidor de correo SMTP para enviar emails desde localhost con php. (Linux)

 

Hola a todos.

Si estas programando en tu entorno local “localhost” y quieres  mandar mails desde php necesitas tener instalado un servidor de correo  SMTP .

En entornos linux uno de los mas utilizado es  Postfix. Sin embargo si lo que queremos es simplemente poder enviar email desde nuestro entorno de puebas podemos optar por opciones mas livianas y simples.

Una opción ligera es instalar el paquete ssmtp.

En mi caso estoy trabajando desde un viejo portatil con lubuntu instalado, para otras distribuciones no derivadas de ubuntu el proceso de instalación puede ser diferente.

Para instalar el paquete  ssmtp abrimos un terminal y escribimos:

sudo apt-get install ssmtp

Ahora debemos editar el archivo ssmtp.conf:

sudo nano /etc/ssmtp/ssmtp.conf

Descomentamos o añadimos si no existen las siguientes lineas:

mailhub=smtp.gmail.com:587
UseSTARTTLS=YES
AuthUser=<YOUR-EMAIL>@gmail.com
AuthPass=<YOUR-PASSWORD>

Debemos sustituir lo que se encuentra entre “<” y “>”  por nuestros valores.

En este caso vamos a utilizar nuestra cuenta de gmail para enviar el correo así que en AuthUser pondremos nuestra dirección de mail de gmail y enAuthPass la contraseña que utilizamos para acceder a nuestra cuenta de gmail.

Si lo dejamos así en el from del los mails delante de la dirección de correo desde donde se envía aparecerá “www-data”, para poder cambiar el from desde php tenemos que añadir tambien la siguiente linea en  ssmtp.conf:

FromLineOverride=YES

Ahora guardamos el archivo (Ctrl+O si lo editas con nano) y salimos (Ctrl+X).

Ahora tenemos que editar el archivo php.ini para asignar la variable sendmail_path:

sudo nano /etc/php5/apache2/php.ini

Buscamos la linea sendmail_path (Ctrl + W para buscar desde nano).

y la dejamos de la siguiente manera:

sendmail_path = /usr/sbin/ssmtp -t

Guardamos (Ctrl + O) y salimos (Ctrl + X).

Reiniciamos el servidor apache:

sudo /etc/init.d/apache2 restart

Y ya podemos enviar mails desde php utilizando la función mail() o wp_mail() si estais usando wordpress.

¿Necesitas un presupuesto para un desarrollo WordPress a medida?

¿Quieres un plugin a medida que realice una funcionalidad concreta que necesitas para tu WordPress?

Solicita un presupuesto sin compromiso: