VirtualBox 4.3 + PhpVirtualBox en Ubuntu Server 14.04

imgvirtualbox1

Objetivo:

Ejecutar máquinas virtuales en un servidor ubuntu 12.04 LTS, sin interfaz gráfica, para acceder a ellas de forma remota.

 

Instalación de VirtualBox Headless.

 

Añadimos la clave de apt de virtualbox

wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

 

Editamos el archivo de fuentes de apt

sudo nano /etc/apt/sources.list

 

Y añadimos el repositorio a apt de VirtualBox, añadiendo la siguiente línea

deb http://download.virtualbox.org/virtualbox/debian trusty contrib

Actualizamos e instalamos VirtualBox y otros paquetes:

sudo apt-get update
sudo apt-get install build-essential virtualbox-4.3 dkms

 

Descargamos e instalamos el “extension pack” para tener acceso a funciones como el USB 2.0, y el servidor rdp que necesitamos para instalar phpvirtualbox. La última versión la podemos encontrar en http://www.virtualbox.org/wiki/Downloads. En el momento actual :

cd /tmp
wget http://dlc.sun.com.edgesuite.net/virtualbox/4.3.16/Oracle_VM_VirtualBox_Extension_Pack-4.3.16-95972.vbox-extpack
sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.3.16-95972.vbox-extpack

 

Y finalmente añadimos nuestro usuario al grupo VirtualBox (donde user es nuestro nombre de usuario)

sudo adduser user vboxusers

 

Instalar phpvirtualbox.

La página del proyecto es http://sourceforge.net/projects/phpvirtualbox/

Actuamos como root

sudo su

 

Añadimos nuestro usuario habitual al acceso web de VirtualBox editando …

nano /etc/default/virtualbox

Y añadimos la línea

VBOXWEB_USER=User

En User ponemos nuestro usuario

Ahora creamos los enlaces de inicio del vboxwebsrv

update-rc.d vboxweb-service defaults
/etc/init.d/vboxweb-service start

 

Añadimos unos cuantos paquetes para el servidor Apache + PHP

apt-get install apache2 php5 libapache2-mod-php5

Reiniciamos apache

service apache2 restart

 

Descargamos y descomprimimos la última versión de phpvirtualbox en el directorio /var/www/html (en el momento actual la phpvirtualbox-4.3-1)

cd /var/www/html

wget http://heanet.dl.sourceforge.net/project/phpvirtualbox/phpvirtualbox-4.3-1.zip
unzip phpvirtualbox-4.3-1.zip
mv phpvirtualbox-4.3-1 phpvirtualbox
rm phpvirtualbox-4.3-1.zip

 


Ahora entramos dentro del directorio de phpvirtualbox y hacemos copia de seguridad del archivo de configuración.

cd /var/www/html/phpvirtualbox/cp config.php-example config.php

 

Modificamos config.php

nano config.php

Y modificamos las siguientes líneas. Introducimos usuario y contraseña de nuestro usuario.

[...]
/* Username / Password for system user that runs VirtualBox */
var $username = 'user';
var $password = 'secret';
[...]

 

Y ya podemos acceder al interface de phpvirtualbox tecleando

http://ip_servidor/phpvirtualbox.

 

El usuario es “admin”, y el password “admin”. Por tanto lo primero que tenemos que hacer es cambiarlo. En File, Chage Password.

A partir de aquí el uso es similar al cliente gtk de virtual box.

Si la máquina virtual que instaláis es linux, os recomiendo que después de instalar los «guest tools», instaléis xrdp en español.

Para optimizar los discos virtuales podéis mirar este enlace.

Gracias a:

http://www.howtoforge.com/managing-a-headless-virtualbox-installation-with-phpvirtualbox-ubuntu-12.04

 

http://www.howtoforge.com/vboxheadless-running-virtual-machines-with-virtualbox-4.1-on-a-headless-ubuntu-12.04-server

 

Transmission-daemon + transmission remote en Ubuntu 14.04 LTS

transmission

Nota: versión actualizada a Ubuntu 16.04, aquí.

¿Qué es transmission?

El cliente para bittorrent transmission es uno de los más habituales y comunes programas de descarga, especialmente en Linux y OSX.

Objetivos

Instalar transmission como servicio en linux sin la interface de gnome para poder acceder a él a través de un navegador o un gestor remoto.

Paso 1. El servidor

1. Primero vamos a instalar una utilidad que nos permitirá añadir repositorios a apt-get, sin necesidad de editar el archivo /etc/apt/sources.list

$ sudo apt-get install python-software-properties

2. Ahora añadimos el repositorio de transmission

$ sudo add-apt-repository ppa:transmissionbt/ppa

3. En caso de tener instalada la versión de escritorio gnome de transmision podemos desintalarla con

$ sudo apt-get remove transmission-gtk

4. Actualizamos e instalamos transmission-daemon

$ sudo apt-get update
$ sudo apt-get install transmission-cli transmission-common transmission-daemon

5. Ahora vamos a crear un arbol de directorios para los archivos de descarga de transmission. En mi caso he dedicado un disco especialmente para ello, pero en este tutorial la ubicación del directorio está en el directorio home de vuestro ususario.

 $ mkdir ~/downloads
 $ mkdir ~/downloads/completos
 $ mkdir ~/downloads/incompletos

6. Unimos nuestro usuario al grupo debian-transmission y damos permisos a los directorios creados. Donde pone username, poneis vuestro nombre de ususario.

$ sudo usermod -a -G debian-transmission username
$ sudo chown -R username /home/username/Downloads
$ sudo chmod -R 775 /home/username/Downloads

7. Muy importante: para editar el archivo de configuración de transmission, debemos parar el demonio.

$ sudo service transmission-daemon stop

8. Editamos el archivo de configuración:

$ sudo nano /etc/transmission-daemon/settings.json

8a.- Activamos la lista de bloqueo de instituciones anti-p2p, y spam

    "blocklist-enabled": true,
    "blocklist-url": "http://list.iblocklist.com/?list=bt_level1&fileformat=p2p&archiveformat=gz",

8b,. Modificamos los directorios de descarga:

"download-dir": "/transmission/completos",
"incomplete-dir": "/transmission/incompletos",
"incomplete-dir-enabled": true,

8c.- Cambiamos el usuario y la password del usuario remoto de transmission, para aumentar la seguridad. Es importante que sea una password fuerte y un usuario distinto del habitual. Cuando arranquéis transmission de nuevo, si volveis a edita este archivos observareis que transmission lo ha encriptado. Además dejais en la lista blanca todas las redes para poder acceder desde fuera de casa.

«rpc-password»: «transmissionpassword«,
«rpc-username»: «transmissionuser«,
«rpc-whitelist»: «*»,
«rpc-whitelist-enabled»: true,

8d. Podeis también cambiar el puerto en que escucha transmission para el navegador web. Si es asñi modificad:

"rpc-port": 9091,

9. Iniciamos el demonio de transmission

$ sudo service transmission-daemon start

Paso 2. El cliente remoto:

Podéis descargalo en Google Code en el siguiente enlace transmisson-remote-gui . Es un cliente multiplataforma, lo hay incluso para android, y la configuración es muy sencilla. Simplemente hay que introducir la ip o nombre del servidor, el usuario y el password que hemos elegido. Por lo demás, las opciones son muy parecidas a las del cliente habitual de transmission.

Paso 3. Acceder a las descargas:

A través de Samba, Netatalk, sshd, ftp,… o cualquier otro servidor de archivos (hay que configurarlo, claro). Os recomiendo que los archivos los borréis desde el cliente remoto de transmission.

Gracias a: