Skip to content
Minko Gechev edited this page Feb 7, 2013 · 4 revisions

##Installation instructions

For installing plainvm you need Perl v5.10+ with few modules installed:

  1. AnyEvent
  2. JSON
  3. Image::Imlib2
  4. HTTP (HTTP::Request, HTTP::Response)

These modules can be installed using cpan:

cpan AnyEvent
cpan JSON
cpan Image::Imlib2
cpan HTTP

For installing Image::Imlib2 you may first need to install imlib2. It's located in libimlib2 and libimlib2-dev packages for Ubuntu and imlib2, imlib2-devel for Fedora. After that make sure that plainvm/endpoint/src/main.pl and plainvm/entryhost/src/main.pl are executable.

chmod +x plainvm/entryhost/src/main.pl
chmod +x plainvm/endpoint/src/main.pl

By running endpoint/src/main.pl you'll start the End point. After that run entryhost/src/main.pl to start the Entry host. If the connection between both is not established successfully check the configucarion files (located at endpoint/conf and entryhost/conf). If you want to use plainvm with many End point instances just start the End point on all of them and insert their host names into entryhost/config/endpoints.conf.

If you want to start the remote desktop access to the virtual machines you need some extra work. If you use VirtualBox for virtualization platform you must install VirtualBox's extension pack for your version of VirtualBox. After you're done with this you need Guacamole. For integration with plainvm you can use the dirty patch of Guacamole's JavaScript files. In /etc/guacamole/user-mapping.xml enter all hosts for which you need remote access. For user name enter the VM's id, the password field leave empty. If you want to use plainvm for creating this mapping you should make the user mapping file writable by the user by which plainvm is started:

chmod +w /etc/guacamole/user-mapping.xml

Here is a sample file:

<user-mapping>

    <authorize username="d4984690-bd87-4029-be99-a44996a6d7ba" password="">
        <protocol>rdp</protocol>
        <param name="hostname">localhost</param>
        <param name="port">3355</param>
    </authorize>

    <authorize username="d26d067a-f6e7-441b-9bd1-a05fbe846642" password="">
        <protocol>rdp</protocol>
        <param name="hostname">localhost</param>
        <param name="port">3356</param>
    </authorize>

</user-mapping>

Currently there's no better integration with Guacamole and probably the installation guide is a bit complex. You can also improve it by contributing to the project.

Clone this wiki locally