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: