Crear un sitio web WordPress con una máquina virtual local

En el último post comenté que estaba usando una máquina virtual de Bitnami para hacer sitios web con WordPress y me pidió Fernando que explicara cómo subir el resultado de ese sitio web a un servidor que tengamos contratado en hosting. Ya que lo estoy haciendo esta semana, voy a anotarlo (para que no se me olvide), pero me gustaría empezar por el principio. Y ya advierto: este post está lleno de frikismo, comando UNIX de terminal y cosas ininteligibles. Luego no te quejes.

¿Por qué una máquina virtual? ¿Y qué es Bitnami?

Una máquina virtual es un programa que me permite ejecutar un S.O. completo dentro de otro. Por ejemplo, puedo arrancar Linux dentro de Windows 7, o Windows XP dentro de Mac OS X. Las máquinas virtuales tienen múltiples usos, pero a mi me encantan para no llenar de programas mi S.O. base. Así no se ralentiza, ni tengo el disco duro lleno de programas de «usar y tirar».

En el caso de crear un sitio web con WordPress es aún peor. Sin la máquina virtual necesitas:

  • un servidor web, como Apache, que soporte PHP
  • un servidor de BB.DD., como MySQL
  • configurarlo todo
  • instalar WordPress
  • y luego, claro, crear tu sitio con WP, es decir, instalar plugins, ponerlo en Español, crear contenido, probar diferentes temas, etc.

Todo esto se podría hacer directamente en nuestro servidor (ese que tenemos contratado en hosting), pero los inconvenientes son varios:

el sitio está visible mientras lo preparamos (a no ser que lo protejamos, por ej. mediante autenticación HTTP, pero eso exige aún más trabajo)

si la conexión que tenemos a Internet es mejorable, vamos a tardar bastante

Por eso, lo ideal es disponer de una máquina virtual, por ejemplo con Linux ya instalado y que lo traiga todo (Linux, Apache, MySQL, PHP y WordPress). Esto es lo que se llama un servidor LAMP + WordPress. Buscando en el catálogo de máquinas virtuales gratuítas que tiene VMWare me encontré con la Appliance de Bitnami. Es una máquina virtual VMWare con todo lo anterior ya instalado y configurado, gracias a la empresa Bitnami. Para instalarla, la descargamos y descomprimidos, y listo: ya podemos abrirla con VMWare. En mi caso, me he bajado la versión basada en Ubuntu, porque dominio mejor los Linux Debian-based que otros.

Manejando la máquina virtual de Bitnami

La máquina cuando arranca nos muestra una pantalla poco espectacular. Termina con un mensaje que nos indica cómo nos podemos conectar al WordPress que tiene dentro, y poco más.

MV Bitnami

MV Bitnami

En mi caso me indica que conectándome a la IP http://10.0.1.25 me aparecerá la interfaz web de la máquina virtual. Esa interfaz es una página web con información y el acceso al WP que está instalado dentro. Inicialmente el usuario es «user» y el password «bitnami». Al entrar, llegamos a un WP vacío, que podemos proceder a adaptar. En mi caso, lo que he estado haciendo ha sido:

  • traducirlo al Español. Abajo lo cuento con detalle.
  • instalar un tema de pago que queda bonito y que tenía por ahí abandonado. Me lo compré en el bundle de diseño Bundlehunt.
  • instalar unos cuantos plugins, para tener un formulario de contacto, mapas de Google, etc.
  • crear las páginas necesarias y copiar el contenido (texto y fotos) del sitio web antiguo

Probablemente lo más «complicado» sea traducir WP a español. Pero es muy sencillo. Sólo hay que ir a la página que tiene la traducción de WordPress y bajarse el ZIP.  Lo descomprimimos y veremos que un WP completo, sólo que ya traducido. Como a mí me gustan las cosas complicadas, prefiero pasar sólo los ficheros de localización al Español y decirle a WP que está en Español 🙂

Para eso, debemos iniciar sesión en la máquina virtual, e ir a la carpeta: /opt/bitnami/apps/wordpress/htdocs/wp-content/ con un:

$ cd  /opt/bitnami/apps/wordpress/htdocs/wp-content/

Bitnami guarda en /opt/bitnami/apps las aplicaciones web que lleva el appliance, concretamente PhpMyAdmin y WP.

Ahora, vamos a copiar los ficheros que antes descomprimimos. Los vamos a copiar por scp (suponiendo que te conectes a una máquina *NIX), con algo como:

$ scp usuario@la-ip-de-tu-maquina-real:/Users/tu-usuario/Desktop/wordpress/wp-content/languages/* .

Lo que hace la «frase mágica» anterior es conectarse a tu ordenador real (debes indicar la IP), con tu usuario (con el que has iniciado sesión). Te pedirá tu clave. Lo que hace es copiar los ficheros de la ruta que le hemos indicado, en la carpeta de la máquina virtual en la que estábamos.

Bueno, WP tiene los ficheros en su sitio, pero no los va a usar hasta que no se lo digamos. Para ello, hay que modificar el fichero wp-config.php  (en nuestro caso, está en /opt/bitnami/apps/wordpress/htdocs, por lo que bastará con hacer un cd ..). Yo lo he modificado con vi, que para eso estoy en modo geek :-). Hay que buscar la línea que pone:

define ('WPLANG', 'xxxx');
y dejarla así:
define ('WPLANG', 'es_ES');

Una vez que hemos acabado, grabamos y listo. Yo reinicié la máquina virtual completa (con reboot) para comprobar que todo estaba OK.

Subiendo todo esto a mi servidor en hosting

Ahora que todo funciona como queremos y hemos terminado en local ¿cómo subimos todo esto a mi servidor web?. Supongo que tienes un dominio, pongamos www.misuperwebquemevaahacerrico.com y su alojamiento asociado. Hay que tener claro lo que hay que subir:

  • por un lado, el sitio web de WordPress. Nada más en el apartado web. Es decir, ni la configuración de Apache, ni otras cosas. En el caso de bitnami, sería la carpeta /opt/bitnami/apps/wordpress de la máquina virtual
  • por otro, la base de datos asociada a esta web. Esa BD está en el MySQL que tiene la máquina virtual de bitnami.

Subiendo el wordpress

Lo primero que vamos a hacer va a ser comprimir la carpeta. En la máquina virtual tecleamos:

$ cd /opt/bitnami/apps

una vez en la carpeta apps, nos convertimos en root (ya que si no no podremos leer algunas de las carpetas del WP), con:

$ sudo su

comprimimos con el proverbial tar:

tar cvfz wp.tgz wordpress

esto va a comprimir la carpeta wordpress completa en un fichero llamado wp.tgz. Ahora hay que subir ese fichero a nuestro proveedor de alojamiento. Para eso, primero lo voy a copiar a la máquina física, usando de nuevo scp:

$ scp wp.tgz usuario@la-ip-de-tu-maquina-real:/Users/tu-usuario/Desktop/

Eso debería dejar el fichero wp.tgz en tu escritorio. Espero 🙂

Ahora sólo te queda subirlo, usando el interfaz que te de tu proveedor de alojamiento. En mi caso, esto va a RedCoruna y tienen, como todo el mundo, CPanel, que viene con un explorador de ficheros integrado en el navegador que permite subir cosas. Cuando lo tengas en la carpeta que te interesa, descomprímelo. Podrás acceder mediante: http://www.tudominioesequetevaahacerrico.com/wordpress. Y te va a fallar. Recuerda: no hay base de datos aún.

Subiendo la BD

Para subir la BD, primero vamos a exportarla. Para ello, necesitamos activar una aplicación que viene en la máquina virtual, pero que por razones de seguridad está desabilitada. Es PhpMyAdmin, una aplicación web para administrar el servidor de BB.DD. MySQL. Para activarlo, vamos a /opt/bitnami/apps/phpmyadmin/conf/ y editamos phpmyadmin.conf

$ cd /opt/bitnami/apps/phpmyadmin/conf/
$ vi phpmyadmin.conf

y cambiamos la línea que pone

Allow from 127.0.0.1

por

Allow from all
Configurando phpMyAdmin

Configurando phpMyAdmin

Debemos reiniciar el servidor Apache para que este cambio entre en funcionamiento. En el caso de la máquina virtual de bitnami lo hacemos con:

$ /opt/bitnami/ctlscript.sh restart apache

Ahora, apuntando un navegador a http://10.0.1.25/phpmyadmin nos aparecerá una pantalla de login. Usuario: administrator, clave: bitnami y al fin se abre el PhpMyAdmin

Dentro de PhpMyAdmin veremos la lista de BB.DD. a la izquierda:

Lista de BB.DD.

Lista de BB.DD.

Escogemos la nuestra (bitnami_wordpress) y nos vamos a la solapa «Exportar». Tal como viene debe funcionar. Marcamos la opción «Enviar (genera un archivo descargable)» y se nos descargará, al pulsar Continuar, un fichero con extensión .sql en nuestra máquina. ¡Esa es nuestra BD!

Ojo: en ese fichero (que es la BD de WordPress) las URLs están metidas «a pelo». Es decir, está lleno de 10.1.0.25 por todos lados. Y no queremos eso. En mi caso, he usado TextEdit de Mac para buscar y sustituir todas las ocurrencias de 10.0.1.25 por www.viajescarrasco.com, que es el dominio que estaba usando. Es un poco lamentable que WP meta en su BD referencias al dominio «hardcoded» en lugar de usar una variable, pero es lo que hay.

Ahora sólo nos queda subirla a nuestro dominio (probablemente usando el PhpMyAdmin de nuestro CPanel). Pista importante: ahora hay que buscar la pestaña «importar» de PhpMyAdmin e indicarle el fichero .sql anterior :-). Casi seguro que tendremos que crear la BD, un usuario para la misma y darle permisos a ese usuario para esa BD. Todo se hace en CPanel.

Configurar el sitio web

Pero aún no funciona nada. ¿Por qué?. Porque hemos subido un sitio web WordPress que piensa que está instalado en http://10.0.1.25, en lugar de en http://www.midominioetcetc.com. Hay que configurar eso. Para ello, buscamos el fichero wp-config.php (sí, el mismo que tocamos para el idioma) y cambiar el nombre de la BD, usuario y password. Nos debe quedar algo como:

define('DB_NAME', 'minombrededb');

/** MySQL database username */
define('DB_USER', 'usuarioquehecreado');

/** MySQL database password */
define('DB_PASSWORD', 'laclave');

/** MySQL hostname */
define('DB_HOST', 'localhost:3306');

Además, debemos cambiar el fichero .htaccess que viene con bitnami y dejarlo así:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Este fichero hace la «magia negra» de la reescritura de URLs, de forma que funcionen los nombres de página en WP, por ej., cuando escribimos blog.freniche.com/formacion y nos lleva a la página correcta. No existe una carpeta llamada formación: se «traduce» al vuelo de forma que el WP lo interprete correctamente.

Conclusión

Como puedes ver, el proceso de traslado del sitio web es un poco laborioso. Lo bueno que es esto te serviría para mover tu WordPress entre diferentes proveedores de alojamiento. Y lo mejor de todo es que con la máquina virtual puedes hacer todas las pruebas que quieras, sin riesgos.
EOF.

j j j

Una mañana de trabajo cualquiera

Me paro un momento y miro en lo que estaba trabajando, y los programas que tengo abiertos ahora mismo, y no puedo evitar pensar que soy lo más alejado del minimalismo. Al menos en lo que se refiere al ordenador. Era minimalista cuando no tenía dinero más que para mi querido Amstrad CPC 464 con el monitor fósforo verde, con su unidad de casetes. El único periférico que tenía era un Joystick. Y a usarlo. Pero veía en las películas a gente en países lejanos y extraños, en salas llenas de ordenadores.

Como el programador de Parque Jurásico (que, por supuesto, además de ser el malo, cobarde y torpe, estaba mal pagado y era gordo y feo). Por cierto, si veis de nuevo JP os llamarán la atención dos cosas: una, que están programando fumando, algo impensable en cualquier entorno de hoy en día. La otra, que el sistema de «bug tracking» que usan es una libreta donde van anotando los errores 🙂

Volviendo al tema que me traía aquí, en esta mañana he comenzado programando en C, en el IDE Eclipse corriendo sobre Windows 7. Ese Windows 7 está instalado en mi MBP. Por si fuera poco frikismo, he usado el escritorio remoto de Windows para programar esos ejemplos en una ventana del iMac de 27″, que para eso tengo una pantalla grande. Mientras programaba iba actualizando la presentación de Keynote que acompaña al curso, en el iMac. Sonaba la música desde iTunes, donde estaba restaurando mi iPhone 3Gs con una copia de seguridad de ayer: mis niños han borrado algunas fotos en un descuido.

He terminado con C y me he pasado a WordPress. Arrancando una máquina virtual VMWare de Bitnami, que ya tiene un entorno WP completo sobre Linux, me he dedicado a crear un nuevo sitio para migrar una vieja web que hice hace ya la tira en Typo3. Es decir, instala plugins, widgets, temas, escribe posts, importa información, etc.

Ahora toca pensar en el próximo curso de Java EE que tengo que impartir a finales de mes. Java, Servlets, EJBs, JBoss, Eclipse de nuevo (aunque ahora en su «sabor» Java). Tendré que ojear un libro, que tengo en formato CHM (formato típico de Windows en otra época). Y luego, un poco de Objective C para comenzar un proyecto iPad que me han encargado. Tengo cosas que leer de UML…

Es por este desbarajuste de trabajo que tengo, con tantas tecnologías, frameworks, lenguajes, herramientas y entornos distintos por lo que amo a mis dos Macs. Necesito ser anti-minimalista, ya que si lo fuera no podría hacer la mitad de las cosas que hago. Esta es la razón de haber ampliado mi iMac a 12 GB de RAM. Aún así, procuro no instalar nada si ya tengo una aplicación que hace más o menos lo mismo, que si no acabas con un montón de aplicaciones similares que no acabas de dominar en profundidad.

Bueno, sigo, que quiero ir terminando. Que no hace mucho me comentaron que a lo mejor tengo que aprender CLIPS… 🙂

j j j

«The more memory and HD you’ll have, the happier you’ll be»

No recuerdo dónde escuché esta cita por primera vez. Debió de ser en los años de la carrera, allá por el 94 ó 95. Sí, en la prehistoria. El caso es que la he usado muchas veces. Y la última vez ha sido para responder a gente que se asustaba en Twitter de que le he puesto al iMac 12 GB de RAM. ¿Es mucho?. ¿Es poco?. Vamos con ello.

Lo  primero, dar la razón fundamental de ponerle tanta memoria al iMac: porque puedo. Sí, así de sencillo. En el 94 ni hubiera soñado con estas cantidades de memoria, ni siquiera para un disco duro. Es como pensar hoy en una RAM de 32 Hexabytes. Así que no podía plantearme si era mucho o poco: simplemente no podía. Pero hoy en día, cuando 8 GB cuestan 120 Eur. IVA inc., si necesitas esa memoria, o te apetece, tampoco es una inversión que te lleve a la bancarrota.

Además, cuando es aquí donde me gasto mi dinero. Quiero decir, que no tengo moto, no me gustan los coches potentes, ni la ropa de diseñador, ni juego al bingo, ni me gusta la coca, ni jugar al póker. Mis vicios son baratos ¡qué le vamos a hacer!. Nada me gusta más que un buen gadget electrónico. Hay quien le da por coleccionar sellos, o montar maquetas. O tener un yate. Yo tengo chismes.

Así que nada mejor para complementar a mi querido iMac Core i7 que estos 8 GB, que se han sumado a los 4 GB que traía de fábrica. Ahora tengo una máquina redonda, muy equilibrada, potente y estable. Y de la pantalla, para qué hablar 🙂

En un día normal de trabajo, si miro el consumo de memoria me puedo encontrar con algo como esto:

Memoria usada

Memoria usada

Este es el consumo que tengo mientras escribo estas líneas. Se puede ver que, usado (ya sea por programas, por el S.O. o que está «cacheando» algo en memoria) tengo 4,59 GB. Algo más que los 4 GB originales. Hace unos meses, el equipo estaría paginando, es decir, tendría que sacar algún programa de memoria y guardarlo en disco (normalmente el que hace más tiempo que no se usa). El dato de Paginación (salidas) sería mayor que 0, y todo el sistema me iría más lento. Estaría tratando de ejecutar, a la vez, más programas de los cabrían en mi memoria RAM.

Como se puede ver, el problema ahora no es ese. Me sobran 7,40 GB. ¿Excesivo?. Para nada. En cuanto tenga que correr alguna máquina virtual con VMWare, o lanzar XCode 4 (con todo lo que ello implica), o jugar a Left 4 Dead 2 sin parar algo 😉 la memoria disminuye y se queda en algo como esto:

Usando memoria

Usando memoria

Uso el ordenador muchas horas al día. Por trabajo, y por placer. Y no hay cosa que me irrite más que quedarme sin espacio en disco, o ver que la máquina no va todo lo «fina» que debiera, por una tontería como es la RAM. Así que, como dice el título, un poco de RAM me hace mucho más feliz. ¡Comprueba la tuya!

P.D.: Si quieres saber cómo interpretar el uso de memoria que está haciendo tu Mac, te recomiendo este excelente post de MPG.

j j j

Todo Linux: resultado del artículo «virtualización en Linux» es que no uses VMWare

Hace poco que he leído el artículo sobre Virtualización en Linux de la revista Todo Linux, incluido en su número 65 y escrito por David Santo Orcero. Como ya sabreis soy un usuario habitual de máquinas virtuales, especialmente VMWare. Pero como debeis saber también, me gusta aprender nuevas cosas y escuchar diferentes puntos de vista.

Con ese objetivo me compré la revista. El artículo en general no está mal, ya que muestra desde una perspectiva histórica la virtualización y apunta sus posibles usos. Luego, pasa revista a las diferentes soluciones que existen para Linux. El problema es que desde el principio, y coincidiendo un poco con el tono general de la revista, «lo que no es Software Libre no es bueno punto y no hay más que hablar y sobre todo como hables de Microsoft te cortamos el cuello u otra cosa a la que le tengas más aprecio», todas las soluciones que no sean Xen son malas.

Es decir, los competidores de Xen se muestran con todos sus errores posibles. Xen, sin embargo, siendo un buen producto, no es capaz de ejecutar un XP que nos instalemos directamente desde los CDs de Microsoft, lo cual impide de momento usarlo para un montón de cosas, como por ejemplo ejecutar Access dentro de Linux (se entiende, dentro de un Windows que se ejecute en una máquina virtual en Linux).

El colmo de este sectarismo «Software Libre» es el análisis exageradamente parcial que se hace de VMWare. En él, se resalta que no es Software Libre, pero no se comenta que tanto VMWare Player como Server son gratis. Bien, no es igual de bueno que S.L., pero a mucha gente ya puede valerle. Cuando se habla de VMWare el autor se remonta a su versión 2. ¿Cómo?. Que ya vamos por la versión 5 de VMWare, señores. Comparar la última versión de Xen con la versión de VMWare que funcionaba en un PDP-11 no me parece demasiado justo, pero bueno.

El problema principal es que al continuar nos encontramos con dos afirmaciones erróneas:

  • la primera es que para ejecutar un Linux con kernel 2.6 en una máquina virtual hay que instalar un parche o si no no es estable. Falso porque dispongo de media docena de máquinas instaladas con diferentes sabores de Linux todas con kernel 2.6 y funcionan sin ningún problema. Por supuesto, en el artículo no se mencionan cuáles son esos problemas ni se apunta un enlace donde leer acerca de esos problemas.
  • la segunda es que todas las máquinas virtuales comparten la misma dirección MAC en la tarjetas de red. Esto es un error muy grave porque da la impresión de que el producto tiene una calidad determinada cuando es mentira. En la imagen que adjunto (resolución 1600×1200) se pueden ver un par de máquinas virtuales corriendo sobre mi máquina real. Cada una tiene una MAC diferente, es decir, cada máquina virtual se comporta como un auténtico PC.

Varias máquinas virtuales VMWare corriendo a la vez

Varias máquinas virtuales VMWare corriendo a la vez

Soy un defensor convencido del S.L. Lo uso, me gusta y cuando me piden opinión, si existe una solución S.L. que solucione correctamente un problema, propongo primero esa solución. Por ejemplo, para navegar por Internet tengo claro que Firefox es la solución. O el servidor web es Apache. Pero comparar Xen con VMWare de manera tendenciosa para volcar la balanza en favor del producto S.L. no me parece lógico: al final la gente lo usa, se encuentra que no puede usar su XP desde Linux y lo dejan de lado enfadados y quejándose del S.L. «ya sabía yo que siendo gratis no podía ser bueno, etc. etc.»

Mi punto de vista es que la gente tiene problemas que solucionar y que lo que les interesa es arreglar esos problemas y no centrarse en las herramientas. Por ello, les da igual que algo sea S.L. o no, y en ocasiones casi mejor que ni lo sepan. Así usarán el S.L. simplemente porque les hace más felices y no por una cuestión pseudo-religiosa.

Por cierto, ni estoy afiliado a VMWare, ni me pagan un duro. Uso su producto porque me gusta. Se aceptan réplicas por mail. Y jamones.

j j j

Concurso VMWare. STOP. Primer premio 100.000 USD. STOP. Concurso

Supongo que ya todos conoceis VWare. Para los que no lo conozcan, es un programa que emula un PC completo, de forma que podemos instalar un S.O. dentro de este PC y ejecutar, por ejemplo, Win XP dentro de Linux, o emular una red completa de PCs.

Ya sabeis también que existen ahora mismo dos productos gratuitos de VMWare: por un lado está el VMWare Player, que nos permite ejecutar en una máquina las máquinas virtuales creadas con VMWare Server o Workstation y por otro VMWare Server. La diferencia principal entre VMWare Workstation y Server es que con este último no podemos definir grupos de máquinas. Con el WS sí podemos y, por ejemplo, al arrancar el grupo se levantaría a la vez el servidor web, el de correo, el de aplicaciones, etc. Con el server hay que ir levantando máquinas una a una.

Bueno, tras la introducción, pasemos al objeto de esta comunicación: VMWare dispone de máquinas virtuales preconfiguradas listas para bajar de su Web. Las llaman Appliances, ya que están orientadas a resolver un problema concreto. Por ejemplo, hay una con Oracle instalado. Si necesitas un servidor de B.D. Oracle, en lugar de pelearte con la instalación, te bajas el Aplliance de Oracle, lo ejecutas con el VMWare Player (gratis) y listo. La lista de Appliances está en www.vmware.com/vmtn/appliances/.

Y ahora viene lo bueno. Para fomentar el uso de las Appliances, VMWare ha convocado un concurso. Te bajas el VMWare Server, te creas una Appliance (con Software legal, claro, bien Software Libre o producciones propias, o cosas donadas al Dominio Público, pero nada de meter un Windows 2003 Server en la máquina virtual), la mandas y a esperar. A la mejor le dan el premio de 100.000 $. Hay tres categorías: Appliances para usuario final, de sistemas y para desarrollo.

Pensad en los beneficios del concurso. Cuando acabe, tendremos en la web de VMWare de multitud de Appliances listas para probar. ¿Que quiero aprender Eiffel?. Me bajo el Appliance correspondiente. ?Quieres programar en COBOL?. Ya no hay que buscar el compilador, pelearse con las depedencias, buscar un IDE… hay un fulano que lo ya lo ha hecho por mí.

Creo que es un concurso muy estimulante. Leed las condiciones en www.vmware.com/vmtn/appliances/challenge/ y suerte.

P.D.: yo concurso seguro. Ya quería crear máquinas virtuales por un tubo, pero ahora… Por cierto, dispongo de una para desarrollo Java (Debian+Eclipse 3.3.1+J2SE SDK 1.4.1+Tomcat 5) y alguna más (Debian Stable pelada, Guadalinex V3, Debian Stable con Apache, Debian Stable con X, …). Para mis cursos esto es el no va m?s.

j j j

¿Cómo instalo VMWARE en Linux?

Instalación de VMWARE en GuadaLinex
Para impacientes:

Versión descargada de VMWARE: VMware-workstation-4.5.2-8848.tgz
Se obtiene de www.vmware.com
Se descomprime el tgz y se siguen las instrucciones en pantalla, llegando a recompilar sin problemas vmmon.o (ver copia de la salida que la instalación nos da por pantalla más abajo)

MUY IMPORTANTE:

NO me ha funcionado con el kernel 2.4 de mi anterior Guadalinex. Para ver la versión del kernel, basta con escribir en una consola:
$ uname -a
Linux einstein.physics.local 2.6.8 #1 SMP Fri Aug 27 09:39:31 CEST 2004 i686 GNU/Linux

Vemos en la salida anterior que la versión del kernel es la 2.6.8

Me ha funcionado con la versión 2.6.8 y con la 2.6.0. Por inducción supongo que cualquier versión de la rama 2.6 funciona. Pero hay que instalar el paquete con los fuentes.

Instalación con la 2.6.0:

Para ello, hemos instalado kernel 2.6.0 (paquete kernel-source-2.6.0). No ha sido preciso instalar los kernel-headers-2.6.0

La carpeta del arbol de fuentes del kernel que se nos pide en la instalación es /usr/src/kernel-source-2.6.0

Una vez instalado VMWare hay que introducirle un código de registro. Se pueden solicitar registrándote en la página de VMWare y duran un mes (para evaluación).

La instalación creará un nuevo «servicio» /etc/init.d/vmware que nos permite arrancar y parar los módulos necesarios para que funcione VMWARE.

Una vez funcionando, podemos copiar una Máquina Virtual que tengamos instalada en XP y funcionará a la perfección en Linux.
La salida de la instalación es:
einstein:~/vmware-distrib# ./vmware-install.pl
Creating a new installer database using the tar3 format.

Installing the content of the package.

In which directory do you want to install the binary files?
[/usr/bin]

What is the directory that contains the init directories (rc0.d/ to rc6.d/)?
[/etc]

What is the directory that contains the init scripts?
[/etc/init.d]

In which directory do you want to install the library files?
[/usr/lib/vmware]

In which directory do you want to install the manual files?
[/usr/share/man]

In which directory do you want to install the documentation files?
[/usr/share/doc/vmware]

The installation of VMware Workstation 4.5.2 build-8848 for Linux completed
successfully. You can decide to remove this software from your system at any
time by invoking the following command: «/usr/bin/vmware-uninstall.pl».

Before running VMware Workstation for the first time, you need to configure it
by invoking the following command: «/usr/bin/vmware-config.pl». Do you want thisprogram to invoke the command for you now? [yes]

Making sure services for VMware Workstation are stopped.

Stopping VMware services:
Virtual machine monitor done

You must read and accept the End User License Agreement to continue.
Press enter to display it.

END USER LICENSE AGREEMENT
FOR VMWARE (R) DESKTOP SOFTWARE PRODUCT
March 4, 2004

VMWARE, INC. LICENSES THIS DESKTOP SOFTWARE PRODUCT TO YOU SUBJECT
TO THE TERMS CONTAINED IN THIS END USER LICENSE AGREEMENT
(«EULA»). READ THE TERMS OF THIS EULA CAREFULLY. BY INSTALLING,
COPYING OR OTHERWISE USING THE SOFTWARE (AS DEFINED BELOW), YOU
AGREE TO BE BOUND BY THE TERMS OF THIS EULA. IF YOU DO NOT AGREE
WITH THE TERMS OF THIS EULA, DO NOT INSTALL, COPY OR USE THE
SOFTWARE AND IF YOU HAVE PROOF OF PAYMENT, YOU MAY RETURN THE
UNOPENED SOFTWARE TO THE LOCATION AT WHICH YOU ACQUIRED IT WITHIN
THIRTY (30) DAYS FOR A REFUND OF THE LICENSE FEE.

NOTICE TO CUSTOMER
This EULA is a contract between you (either an individual or an
entity) and VMware, Inc. («VMware»), which governs your use of the
VMware software product that accompanies this EULA and related
software components, which may include associated media, printed
materials, and online or electronic documentation. This VMware
software product is designed for installation and use on a
personal computer only. You may not install or use this VMware
software product on a server.

DEFINITIONS
This Desktop software package includes a Desktop software product
(the «VMware Desktop Software») and Open Source Software
components. In this EULA, the VMware Desktop Software and
associated media, printed materials, and online or electronic
documentation are collectively referred to as the «Software.» The
VMware Desktop Software enables you to run one or more instances
of third-party operating systems («Guest Operating Systems») and
applications on a single personal computer. A serial number
(«Software License Key») issued to you by VMware is required to
use the Software. The term «Number of Licensed Users» means the
number one (1), unless you received a VMware License Certificate
with this software product, in which case the term «Number of
Licensed Users» means the Number of Licensed Users set forth on
the VMware License Certificate.

«Open Source Software» means various open source software
components, including, without limitation, Samba, DHCP Server,
Tcl/Tk, XFree86, Libresolv, zlib, libpng, OpenSSL and Advanced
Encryption Standard (AES) licensed under the terms of applicable

Do you accept? (yes/no) yes

Thank you.

Trying to find a suitable vmmon module for your running kernel.

None of the pre-built vmmon modules for VMware Workstation is suitable for your
running kernel. Do you want this program to try to build the vmmon module for
your system (you need to have a C compiler installed on your system)? [yes]

Using compiler «/usr/bin/gcc». Use environment variable CC to override.

As of September 2003, the Linux kernel development team does not support gcc
version 3 and later. See Documentation/Changes in your kernel source directory
for information on installing the correct compiler. Do you want to use the
version «3.3.3» of compiler «/usr/bin/gcc»? [no] yes

What is the location of the directory of C header files that match your running
kernel? [/lib/modules/2.6.0/build/include]

Extracting the sources of the vmmon module.

Building the vmmon module.

Using 2.6.x kernel build system.
make: Entering directory /tmp/vmware-config0/vmmon-only'
make -C /lib/modules/2.6.0/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory
/usr/src/kernel-source-2.6.0′
*** Warning: Overriding SUBDIRS on the command line can cause
*** inconsistencies
make[2]: arch/i386/kernel/asm-offsets.s' está actualizado.
CC [M] /tmp/vmware-config0/vmmon-only/linux/driver.o
CC [M] /tmp/vmware-config0/vmmon-only/linux/hostif.o
CC [M] /tmp/vmware-config0/vmmon-only/common/cpuid.o
CC [M] /tmp/vmware-config0/vmmon-only/common/memtrack.o
CC [M] /tmp/vmware-config0/vmmon-only/common/phystrack.o
CC [M] /tmp/vmware-config0/vmmon-only/common/task.o
CC [M] /tmp/vmware-config0/vmmon-only/common/vmx86.o
LD [M] /tmp/vmware-config0/vmmon-only/vmmon.o
Building modules, stage 2.
/usr/src/kernel-source-2.6.0/scripts/Makefile.modpost:17: *** Uh-oh, you have stale module entries. You messed with SUBDIRS,
/usr/src/kernel-source-2.6.0/scripts/Makefile.modpost:18: do not complain if something goes wrong.
MODPOST
CC /tmp/vmware-config0/vmmon-only/vmmon.mod.o
LD [M] /tmp/vmware-config0/vmmon-only/vmmon.ko
make[1]: Leaving directory
/usr/src/kernel-source-2.6.0′
cp -f vmmon.ko ./../vmmon.o
make: Leaving directory `/tmp/vmware-config0/vmmon-only’
The module loads perfectly in the running kernel.

Extracting the sources of the vmnet module.

Building the vmnet module.

Using 2.6.x kernel build system.
make: Entering directory /tmp/vmware-config0/vmnet-only'
make -C /lib/modules/2.6.0/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory
/usr/src/kernel-source-2.6.0′
*** Warning: Overriding SUBDIRS on the command line can cause
*** inconsistencies
make[2]: arch/i386/kernel/asm-offsets.s' está actualizado.
CC [M] /tmp/vmware-config0/vmnet-only/driver.o
CC [M] /tmp/vmware-config0/vmnet-only/hub.o
CC [M] /tmp/vmware-config0/vmnet-only/userif.o
CC [M] /tmp/vmware-config0/vmnet-only/netif.o
CC [M] /tmp/vmware-config0/vmnet-only/bridge.o
CC [M] /tmp/vmware-config0/vmnet-only/procfs.o
LD [M] /tmp/vmware-config0/vmnet-only/vmnet.o
Building modules, stage 2.
/usr/src/kernel-source-2.6.0/scripts/Makefile.modpost:17: *** Uh-oh, you have stale module entries. You messed with SUBDIRS,
/usr/src/kernel-source-2.6.0/scripts/Makefile.modpost:18: do not complain if something goes wrong.
MODPOST
CC /tmp/vmware-config0/vmnet-only/vmnet.mod.o
LD [M] /tmp/vmware-config0/vmnet-only/vmnet.ko
make[1]: Leaving directory
/usr/src/kernel-source-2.6.0′
cp -f vmnet.ko ./../vmnet.o
make: Leaving directory `/tmp/vmware-config0/vmnet-only’
The module loads perfectly in the running kernel.

Do you want networking for your virtual machines? (yes/no/help) [yes]

Configuring a bridged network for vmnet0.

Your computer has multiple ethernet network interfaces available: eth0, eth1.
Which one do you want to bridge to vmnet0? [eth0]

The following bridged networks have been defined:

. vmnet0 is bridged to eth0

Do you wish to configure another bridged network? (yes/no) [no]

Do you want to be able to use NAT networking in your virtual machines? [yes]

Configuring a NAT network for vmnet8.

Do you want this program to probe for an unused private subnet? (yes/no/help)
[yes] no

What will be the IP address of your host on the private network? 10.1.1.2

What will be the netmask of your private network? 255.255.255.0

Do you want to be able to use host-only networking in your virtual machines?
[no]

Do you want this program to automatically configure your system to allow your
virtual machines to access the host’s filesystem? (yes/no/help) yes

The version of Samba used in this version of VMware Workstation is licensed as
described in the «/usr/share/doc/vmware/SAMBA-LICENSE» file.

Hit enter to continue.

Creating a host-only network on vmnet1. (this is required to share the host’s
filesystem).

Configuring a host-only network for vmnet1.

Do you want this program to probe for an unused private subnet? (yes/no/help)
[yes] no

What will be the IP address of your host on the private network? 10.1.1.2

What will be the netmask of your private network? 255.255.255.0

This system appears to have a CIFS/SMB server (Samba) configured for normal use.If this server is intended to run, you need to make sure that it will not
conflict with the Samba server setup on the private network (the one that we useto share the host’s filesystem). Please check your /etc/samba/smb.conf file so
that:

. The «interfaces» line does not contain «10.1.1.1/255.255.255.0»
. There is a «socket address» line that contains only your real host IP address

Hit enter to continue.

Starting VMware services:
Virtual machine monitor done
Virtual ethernet done
Bridged networking on /dev/vmnet0 done
Host-only networking on /dev/vmnet1 (background) done
Host-only networking on /dev/vmnet8 (background) done
NAT service on /dev/vmnet8 done

You have successfully configured VMware Workstation to allow your virtual
machines to access the host’s filesystem. Would you like to add a username and
password for accessing your host’s filesystem via network interface vmnet1 at
this time? (yes/no/help) [yes] no

You can add more usernames at any time by invoking the following command as
root: «/usr/bin/vmware-smbpasswd vmnet1 -a «

The configuration of VMware Workstation 4.5.2 build-8848 for Linux for this
running kernel completed successfully.

You can now run VMware Workstation by invoking the following command:
«/usr/bin/vmware».

Enjoy,

–the VMware team

j j j

Poner la tarjeta de red de VMWARE en modo promíscuo en Linux

VMware Workstation does not allow the virtual Ethernet adapter to go into promiscuous mode unless the user running VMware Workstation has permission to make that setting. This follows the standard Linux practice that only root can put a network interface into promiscuous mode.

When you install and configure VMware Workstation, you must run the installation as root. VMware Workstation creates the VMnet devices with root ownership and root group ownership, which means that only root has read and write permissions to the devices.

To set the virtual machine’s Ethernet adapter to promiscuous mode, you must launch VMware Workstation as root because you must have read and write access to the VMnet device. For example, if you are using bridged networking, you must have access to /dev/vmnet0.

To grant selected other users read and write access to the VMnet device, you can create a new group, add the appropriate users to the group and grant that group read and write access to the appropriate device. You must make these changes on the host operating system as root (su -). For example, you can enter the following commands:

chgrp /dev/vmnet0

chmod g+rw /dev/vmnet0

is the group that should have the ability to set vmnet0 to promiscuous mode.

If you want all users to be able to set the virtual Ethernet adapter (/dev/vmnet0 in our example) to promiscuous mode, run the following command on the host operating system as root:

chmod a+rw /dev/vmnet0
Enlaces relacionados
www.vmware.com/support/ws55/doc/ws_net_advanced_linux_vadapter_promiscuous.html

j j j