<?xml version="1.0" encoding="UTF-8"?>
<chapter xml:id="installing-guacamole" xmlns="http://docbook.org/ns/docbook" version="5.0"
    xml:lang="en" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
    <title>Installing Guacamole natively</title>
    <indexterm>
        <primary>installing</primary>
    </indexterm>
    <indexterm>
        <primary>compiling</primary>
        <secondary>Guacamole</secondary>
    </indexterm>
    <para>Guacamole is separated into two pieces: <package>guacamole-server</package>, which
        provides the <package>guacd</package> proxy and related libraries, and
            <package>guacamole-client</package>, which provides the client to be served by your
        servlet container, usually <link xl:href="http://tomcat.apache.org/">Tomcat</link>.</para>
    <para><package>guacamole-client</package> is available in binary form, but
            <package>guacamole-server</package> must be built from source. Don't be discouraged:
        building the components of Guacamole from source is <emphasis>not</emphasis> as difficult as
        it sounds, and the build process is automated. You just need to be sure you have the
        necessary tools installed ahead of time. With the necessary dependencies in place, building
        Guacamole only takes a few minutes.</para>
    <section xml:id="building-guacamole-server">
        <title>Building <package>guacamole-server</package></title>
        <indexterm>
            <primary><package>libguac</package></primary>
            <secondary>compiling</secondary>
        </indexterm>
        <indexterm>
            <primary>guacd</primary>
            <secondary>compiling</secondary>
        </indexterm>
        <indexterm>
            <primary>VNC support</primary>
            <secondary>compiling</secondary>
        </indexterm>
        <indexterm>
            <primary>RDP support</primary>
            <secondary>compiling</secondary>
        </indexterm>
        <indexterm>
            <primary>SSH support</primary>
            <secondary>compiling</secondary>
        </indexterm>
        <indexterm>
            <primary>telnet support</primary>
            <secondary>compiling</secondary>
        </indexterm>
        <indexterm>
            <primary><package>libguac-client-vnc</package></primary>
            <secondary>compiling</secondary>
        </indexterm>
        <indexterm>
            <primary><package>libguac-client-rdp</package></primary>
            <secondary>compiling</secondary>
        </indexterm>
        <indexterm>
            <primary><package>libguac-client-ssh</package></primary>
            <secondary>compiling</secondary>
        </indexterm>
        <indexterm>
            <primary><package>libguac-client-telnet</package></primary>
            <secondary>compiling</secondary>
        </indexterm>
        <indexterm>
            <primary><package>guacamole-server</package></primary>
            <secondary>compiling</secondary>
        </indexterm>
        <para><package>guacamole-server</package> contains all the native, server-side components
            required by Guacamole to connect to remote desktops. It provides a common C library,
                <package>libguac</package>, which all other native components depend on, as well as
            separate libraries for each supported protocol, and <package>guacd</package>, the heart
            of Guacamole.</para>
        <para><package>guacd</package> is the proxy daemon that runs on your Guacamole server,
            accepts users' connections that are tunneled through the Guacamole web application, and
            then connects to remote desktops on their behalf. Building <package>guacd</package>
            creates an executable called <filename>guacd</filename> which can be run manually or, if
            you wish, automatically when your computer starts up.</para>
        <para>To build <package>guacamole-server</package>, you will need a C compiler (such as
                <package>gcc</package>) and the libraries that <package>guacamole-server</package>
            depends on. Some dependencies are absolutely required, while others are optional. The
            presence of optional dependencies enables additional features.</para>
        <important>
            <para>Many Linux distributions separate library packages into binary and "development"
                packages; <emphasis>you will need to install the development packages</emphasis>.
                These will usually end in a "-dev" or "-devel" suffix.</para>
        </important>
        <section xml:id="required-dependencies">
            <title>Required dependencies</title>
            <para>In order to build <package>guacamole-server</package>, you will need
                    <package>Cairo</package>, <package>libjpeg</package>, <package>libpng</package>,
                and the OSSP UUID library. These libraries are strictly required <emphasis>in all
                    cases</emphasis> - Guacamole cannot be built without them.</para>
            <informaltable frame="all">
                <tgroup cols="2">
                    <colspec colname="lib-name" colnum="1" colwidth="1*"/>
                    <colspec colname="features" colnum="2" colwidth="3.8*"/>
                    <thead>
                        <row>
                            <entry>Library name</entry>
                            <entry>Features</entry>
                        </row>
                    </thead>
                    <tbody>
                        <row>
                            <entry><link xl:href="http://cairographics.org/">Cairo</link></entry>
                            <entry>
                                <para>Cairo is used by libguac for graphics rendering. Guacamole
                                    cannot function without Cairo installed.</para>
                                <informaltable frame="none" rowheader="firstcol">
                                    <tgroup cols="2">
                                        <colspec colname="c1" colnum="1" colwidth="1.0*"/>
                                        <colspec colname="c2" colnum="2" colwidth="1.0*"/>
                                        <tbody>
                                            <row>
                                                <entry>Debian / Ubuntu package</entry>
                                                <entry><package>libcairo2-dev</package></entry>
                                            </row>
                                            <row>
                                                <entry>Fedora / CentOS / RHEL package</entry>
                                                <entry><package>cairo-devel</package></entry>
                                            </row>
                                        </tbody>
                                    </tgroup>
                                </informaltable>
                            </entry>
                        </row>
                        <row>
                            <entry><link xl:href="http://libjpeg-turbo.virtualgl.org/"
                                    >libjpeg-turbo</link></entry>
                            <entry>
                                <para>libjpeg-turbo is used by libguac to provide JPEG support.
                                    Guacamole will not build without this library present:</para>
                                <informaltable frame="none" rowheader="firstcol">
                                    <tgroup cols="2">
                                        <colspec colname="c1" colnum="1" colwidth="1.0*"/>
                                        <colspec colname="c2" colnum="2" colwidth="1.0*"/>
                                        <tbody>
                                            <row>
                                                <entry>Debian package</entry>
                                                <entry><package>libjpeg62-turbo-dev</package></entry>
                                            </row>
                                            <row>
                                                <entry>Ubuntu package</entry>
                                                <entry><package>libjpeg-turbo8-dev</package></entry>
                                            </row>
                                            <row>
                                                <entry>Fedora / CentOS / RHEL package</entry>
                                                <entry><package>libjpeg-turbo-devel</package></entry>
                                            </row>
                                        </tbody>
                                    </tgroup>
                                </informaltable>
                                <para>If libjpeg-turbo is unavailable on your platform, and you do
                                    not wish to build it from source, <link
                                        xl:href="http://www.ijg.org/">libjpeg</link> will work as
                                    well, though it will not be quite as fast:</para>
                                <informaltable frame="none" rowheader="firstcol">
                                    <tgroup cols="2">
                                        <colspec colname="c1" colnum="1" colwidth="1.0*"/>
                                        <colspec colname="c2" colnum="2" colwidth="1.0*"/>
                                        <tbody>
                                            <row>
                                                <entry>Debian / Ubuntu package</entry>
                                                <entry><package>libjpeg62-dev</package></entry>
                                            </row>
                                            <row>
                                                <entry>Fedora / CentOS / RHEL package</entry>
                                                <entry><package>libjpeg-devel</package></entry>
                                            </row>
                                        </tbody>
                                    </tgroup>
                                </informaltable>
                            </entry>
                        </row>
                        <row>
                            <entry><link xl:href="http://www.libpng.org/pub/png/libpng.html"
                                    >libpng</link></entry>
                            <entry>
                                <para>libpng is used by libguac to write PNG images, the core image
                                    type used by the Guacamole protocol. Guacamole cannot function
                                    without libpng.</para>
                                <informaltable frame="none" rowheader="firstcol">
                                    <tgroup cols="2">
                                        <colspec colname="c1" colnum="1" colwidth="1.0*"/>
                                        <colspec colname="c2" colnum="2" colwidth="1.0*"/>
                                        <tbody>
                                            <row>
                                                <entry>Debian / Ubuntu package</entry>
                                                <entry><package>libpng12-dev</package></entry>
                                            </row>
                                            <row>
                                                <entry>Fedora / CentOS / RHEL package</entry>
                                                <entry><package>libpng-devel</package></entry>
                                            </row>
                                        </tbody>
                                    </tgroup>
                                </informaltable>
                            </entry>
                        </row>
                        <row>
                            <entry><link xl:href="http://www.ossp.org/pkg/lib/uuid/">OSSP
                                    UUID</link></entry>
                            <entry>
                                <para>OSSP UUID is used by libguac to assign unique IDs to each
                                    Guacamole connection. These unique IDs are the basis for
                                    connection sharing support.</para>
                                <informaltable frame="none" rowheader="firstcol">
                                    <tgroup cols="2">
                                        <colspec colname="c1" colnum="1" colwidth="1.0*"/>
                                        <colspec colname="c2" colnum="2" colwidth="1.0*"/>
                                        <tbody>
                                            <row>
                                                <entry>Debian / Ubuntu package</entry>
                                                <entry><package>libossp-uuid-dev</package></entry>
                                            </row>
                                            <row>
                                                <entry>Fedora / CentOS / RHEL package</entry>
                                                <entry><package>uuid-devel</package></entry>
                                            </row>
                                        </tbody>
                                    </tgroup>
                                </informaltable>
                            </entry>
                        </row>
                    </tbody>
                </tgroup>
            </informaltable>
        </section>
        <section xml:id="optional-dependencies">
            <title>Optional dependencies</title>
            <para>The optional dependencies of Guacamole dictate which parts of
                    <package>guacamole-server</package> will be built. This includes the support for
                various remote desktop protocols, as well as any additional features of those
                protocols:</para>
            <itemizedlist>
                <listitem>
                    <para>VNC support depends on the <package>libvncclient</package> library, which
                        is part of <package>libVNCServer</package>.</para>
                </listitem>
                <listitem>
                    <para>RDP support depends on a recent version of <package>FreeRDP</package> (1.0
                        or higher, but please <link
                            xl:href="https://github.com/FreeRDP/FreeRDP/issues/2839">not a
                            non-release version from git</link>).</para>
                </listitem>
                <listitem>
                    <para>SSH support depends on <package>libssh2</package>, <package>OpenSSL</package>
                        and <package>Pango</package> (a font rendering and text layout library, used
                        by Guacamole's built-in terminal emulator).</para>
                </listitem>
                <listitem>
                    <para>Telnet depends on <package>libtelnet</package> and
                            <package>Pango</package>.</para>
                </listitem>
            </itemizedlist>
            <para>The <command>guacenc</command> utility, provided by
                    <package>guacamole-server</package> to translate screen recordings into video,
                depends on FFmpeg, and will only be built if at least the
                    <package>libavcodec</package>, <package>libavutil</package>, and
                    <package>libswscale</package> libraries provided by FFmpeg are installed.</para>
            <important>
                <para>If you lack these dependencies, <emphasis>then the features or protocols which
                        depend on them will not be enabled</emphasis>. Please read this section
                    carefully before deciding not to install an optional dependency.</para>
            </important>
            <informaltable frame="all">
                <tgroup cols="2">
                    <colspec colname="lib-name" colnum="1" colwidth="1*"/>
                    <colspec colname="features" colnum="2" colwidth="3.8*"/>
                    <thead>
                        <row>
                            <entry>Library name</entry>
                            <entry>Features</entry>
                        </row>
                    </thead>
                    <tbody>
                        <row>
                            <entry><link xl:href="https://ffmpeg.org/">FFmpeg</link></entry>
                            <entry>
                                <para>The <package>libavcodec</package>,
                                        <package>libavutil</package>, and
                                        <package>libswscale</package> libraries provided by FFmpeg
                                    are used by <command>guacenc</command> to encode video streams
                                    when translating recordings of Guacamole sessions. Without
                                    FFmpeg, the <command>guacenc</command> utility will simply not
                                    be built.</para>
                                <para>If you do not wish to make graphical recordings of Guacamole
                                    sessions, or do not wish to translate such recordings into
                                    video, then FFmpeg is not needed.</para>
                                <informaltable frame="none" rowheader="firstcol">
                                    <tgroup cols="2">
                                        <colspec colname="c1" colnum="1" colwidth="1.0*"/>
                                        <colspec colname="c2" colnum="2" colwidth="1.0*"/>
                                        <tbody>
                                            <row>
                                                <entry>Debian / Ubuntu package</entry>
                                                <entry>
                                                  <para><package>libavcodec-dev</package>,
                                                  <package>libavutil-dev</package>,
                                                  <package>libswscale-dev</package></para>
                                                </entry>
                                            </row>
                                            <row>
                                                <entry>Fedora / CentOS / RHEL package</entry>
                                                <entry><package>ffmpeg-devel</package></entry>
                                            </row>
                                        </tbody>
                                    </tgroup>
                                </informaltable>
                            </entry>
                        </row>
                        <row>
                            <entry><link xl:href="http://www.freerdp.com/">FreeRDP</link></entry>
                            <entry>
                                <para>FreeRDP is required for RDP support. If you do not wish to
                                    build RDP support, this library is not needed.</para>
                                <informaltable frame="none" rowheader="firstcol">
                                    <tgroup cols="2">
                                        <colspec colname="c1" colnum="1" colwidth="1.0*"/>
                                        <colspec colname="c2" colnum="2" colwidth="1.0*"/>
                                        <tbody>
                                            <row>
                                                <entry>Debian / Ubuntu package</entry>
                                                <entry><package>libfreerdp-dev</package></entry>
                                            </row>
                                            <row>
                                                <entry>Fedora / CentOS / RHEL package</entry>
                                                <entry><package>freerdp-devel</package></entry>
                                            </row>
                                        </tbody>
                                    </tgroup>
                                </informaltable>
                            </entry>
                        </row>
                        <row>
                            <entry><link xl:href="http://www.pango.org/">Pango</link></entry>
                            <entry>
                                <para>Pango is a text layout library which Guacamole's SSH and
                                    telnet support uses to render text. If you do not wish to build
                                    SSH or telnet support, this library is not needed.</para>
                                <informaltable frame="none" rowheader="firstcol">
                                    <tgroup cols="2">
                                        <colspec colname="c1" colnum="1" colwidth="1.0*"/>
                                        <colspec colname="c2" colnum="2" colwidth="1.0*"/>
                                        <tbody>
                                            <row>
                                                <entry>Debian / Ubuntu package</entry>
                                                <entry><package>libpango1.0-dev</package></entry>
                                            </row>
                                            <row>
                                                <entry>Fedora / CentOS / RHEL package</entry>
                                                <entry><package>pango-devel</package></entry>
                                            </row>
                                        </tbody>
                                    </tgroup>
                                </informaltable>
                            </entry>
                        </row>
                        <row>
                            <entry><link xl:href="http://www.libssh2.org/">libssh2</link></entry>
                            <entry>
                                <para>libssh2 is required for SSH support. If you do not wish to
                                    build SSH support, this library is not needed.</para>
                                <informaltable frame="none" rowheader="firstcol">
                                    <tgroup cols="2">
                                        <colspec colname="c1" colnum="1" colwidth="1.0*"/>
                                        <colspec colname="c2" colnum="2" colwidth="1.0*"/>
                                        <tbody>
                                            <row>
                                                <entry>Debian / Ubuntu package</entry>
                                                <entry><package>libssh2-1-dev</package></entry>
                                            </row>
                                            <row>
                                                <entry>Fedora / CentOS / RHEL package</entry>
                                                <entry><package>libssh2-devel</package></entry>
                                            </row>
                                        </tbody>
                                    </tgroup>
                                </informaltable>
                            </entry>
                        </row>
                        <row>
                            <entry><link xl:href="https://github.com/seanmiddleditch/libtelnet"
                                    >libtelnet</link></entry>
                            <entry>
                                <para>libtelnet is required for telnet support. If you do not wish
                                    to build telnet support, this library is not needed.</para>
                                <informaltable frame="none" rowheader="firstcol">
                                    <tgroup cols="2">
                                        <colspec colname="c1" colnum="1" colwidth="1.0*"/>
                                        <colspec colname="c2" colnum="2" colwidth="1.0*"/>
                                        <tbody>
                                            <row>
                                                <entry>Debian / Ubuntu package</entry>
                                                <entry><package>libtelnet-dev</package></entry>
                                            </row>
                                            <row>
                                                <entry>Fedora / CentOS / RHEL package</entry>
                                                <entry><package>libtelnet-devel</package></entry>
                                            </row>
                                        </tbody>
                                    </tgroup>
                                </informaltable>
                            </entry>
                        </row>
                        <row>
                            <entry><link xl:href="http://libvnc.github.io/"
                                >libVNCServer</link></entry>
                            <entry>
                                <para>libVNCServer provides libvncclient, which is required for VNC
                                    support. If you do not wish to build VNC support, this library
                                    is not needed.</para>
                                <informaltable frame="none" rowheader="firstcol">
                                    <tgroup cols="2">
                                        <colspec colname="c1" colnum="1" colwidth="1.0*"/>
                                        <colspec colname="c2" colnum="2" colwidth="1.0*"/>
                                        <tbody>
                                            <row>
                                                <entry>Debian / Ubuntu package</entry>
                                                <entry><package>libvncserver-dev</package></entry>
                                            </row>
                                            <row>
                                                <entry>Fedora / CentOS / RHEL package</entry>
                                                <entry><package>libvncserver-devel</package></entry>
                                            </row>
                                        </tbody>
                                    </tgroup>
                                </informaltable>
                            </entry>
                        </row>
                        <row>
                            <entry><link
                                    xl:href="http://www.freedesktop.org/wiki/Software/PulseAudio/"
                                    >PulseAudio</link></entry>
                            <entry>
                                <para>PulseAudio provides libpulse, which is used by Guacamole's VNC
                                    support to provide experimental audio support. If you are not
                                    going to be using the experimental audio support for VNC, you do
                                    not need this library.</para>
                                <informaltable frame="none" rowheader="firstcol">
                                    <tgroup cols="2">
                                        <colspec colname="c1" colnum="1" colwidth="1.0*"/>
                                        <colspec colname="c2" colnum="2" colwidth="1.0*"/>
                                        <tbody>
                                            <row>
                                                <entry>Debian / Ubuntu package</entry>
                                                <entry><package>libpulse-dev</package></entry>
                                            </row>
                                            <row>
                                                <entry>Fedora / CentOS / RHEL package</entry>
                                                <entry><package>pulseaudio-libs-devel</package></entry>
                                            </row>
                                        </tbody>
                                    </tgroup>
                                </informaltable>
                            </entry>
                        </row>
                        <row>
                            <entry><link xl:href="https://www.openssl.org/">OpenSSL</link></entry>
                            <entry>
                                <para>OpenSSL provides support for SSL and TLS - two common
                                    encryption schemes that make up the majority of encrypted web
                                    traffic.</para>
                                <para>If you have libssl installed, guacd will be built with SSL
                                    support, allowing communication between the web application and
                                    guacd to be encrypted. This library is also required for SSH
                                    support for the sake of manipulating public/private keys.</para>
                                <para>Without SSL support, there will be no option to encrypt
                                    communication to guacd, and support for SSH cannot be
                                    built.</para>
                                <informaltable frame="none" rowheader="firstcol">
                                    <tgroup cols="2">
                                        <colspec colname="c1" colnum="1" colwidth="1.0*"/>
                                        <colspec colname="c2" colnum="2" colwidth="1.0*"/>
                                        <tbody>
                                            <row>
                                                <entry>Debian / Ubuntu package</entry>
                                                <entry><package>libssl-dev</package></entry>
                                            </row>
                                            <row>
                                                <entry>Fedora / CentOS / RHEL package</entry>
                                                <entry><package>openssl-devel</package></entry>
                                            </row>
                                        </tbody>
                                    </tgroup>
                                </informaltable>
                            </entry>
                        </row>
                        <row>
                            <entry><link xl:href="http://xiph.org/vorbis/">libvorbis</link></entry>
                            <entry>
                                <para>libvorbis provides support for Ogg Vorbis - a free and open
                                    standard for sound compression. If installed, libguac will be
                                    built with support for Ogg Vorbis, and protocols supporting
                                    audio will use Ogg Vorbis compression when possible.</para>
                                <para>Otherwise, sound will only be encoded as WAV (uncompressed),
                                    and will only be available if your browser also supports
                                    WAV.</para>
                                <informaltable frame="none" rowheader="firstcol">
                                    <tgroup cols="2">
                                        <colspec colname="c1" colnum="1" colwidth="1.0*"/>
                                        <colspec colname="c2" colnum="2" colwidth="1.0*"/>
                                        <tbody>
                                            <row>
                                                <entry>Debian / Ubuntu package</entry>
                                                <entry><package>libvorbis-dev</package></entry>
                                            </row>
                                            <row>
                                                <entry>Fedora / CentOS / RHEL package</entry>
                                                <entry><package>libvorbis-devel</package></entry>
                                            </row>
                                        </tbody>
                                    </tgroup>
                                </informaltable>
                            </entry>
                        </row>
                        <row>
                            <entry><link xl:href="https://developers.google.com/speed/webp/"
                                    >libwebp</link></entry>
                            <entry>
                                <para>libwebp is used by libguac to write WebP images. Though
                                    support for WebP is not mandated by the Guacamole protocol, WebP
                                    images will be used if supported by both the browser and by
                                    libguac.</para>
                                <para>Lacking WebP support, Guacamole will simply use JPEG in cases
                                    that it would have preferred WebP.</para>
                                <informaltable frame="none" rowheader="firstcol">
                                    <tgroup cols="2">
                                        <colspec colname="c1" colnum="1" colwidth="1.0*"/>
                                        <colspec colname="c2" colnum="2" colwidth="1.0*"/>
                                        <tbody>
                                            <row>
                                                <entry>Debian / Ubuntu package</entry>
                                                <entry><package>libwebp-dev</package></entry>
                                            </row>
                                            <row>
                                                <entry>Fedora / CentOS / RHEL package</entry>
                                                <entry><package>libwebp-devel</package></entry>
                                            </row>
                                        </tbody>
                                    </tgroup>
                                </informaltable>
                            </entry>
                        </row>
                    </tbody>
                </tgroup>
            </informaltable>
        </section>
        <section xml:id="guacamole-server-source">
            <title>Obtaining the source code</title>
            <para>You can obtain a copy of the <package>guacamole-server</package> source from the
                Guacamole project web site. These releases are stable snapshots of the latest code
                which have undergone enough testing that the Guacamole team considers them fit for
                public consumption. Source downloaded from the project web site will take the form
                of a <filename>.tar.gz</filename> archive which you can extract from the command
                line:</para>
            <informalexample>
                <screen><prompt>$</prompt> <userinput>tar -xzf guacamole-server-1.0.0.tar.gz</userinput>
<prompt>$</prompt> <userinput>cd guacamole-server-1.0.0/</userinput>
<prompt>$</prompt></screen>
            </informalexample>
            <para>If you want the absolute latest code, and don't care that the code hasn't been as
                rigorously tested as the code in stable releases, you can also clone the Guacamole
                team's git repository on GitHub:</para>
            <informalexample>
                <screen><prompt>$</prompt> <userinput>git clone <uri>git://github.com/apache/guacamole-server.git</uri></userinput>
<computeroutput>Cloning into 'guacamole-server'...
remote: Counting objects: 6769, done.
remote: Compressing objects: 100% (2244/2244), done.
remote: Total 6769 (delta 3058), reused 6718 (delta 3008)
Receiving objects: 100% (6769/6769), 2.32 MiB | 777 KiB/s, done.
Resolving deltas: 100% (3058/3058), done.</computeroutput>
<prompt>$</prompt></screen>
            </informalexample>
        </section>
        <section xml:id="guacamole-server-build-process">
            <title>The build process</title>
            <para>Once the <package>guacamole-server</package> source has been downloaded and
                extracted, you need to run <filename>configure</filename>. This is a shell script
                automatically generated by GNU Autotools, a popular build system used by the
                Guacamole project for <package>guacamole-server</package>. Running
                    <filename>configure</filename> will determine which libraries are available on
                your system and will select the appropriate components for building depending on
                what you actually have installed.</para>
            <important>
                <para>Source downloaded directly from git will not contain this
                        <filename>configure</filename> script, as autogenerated code is not included
                    in the project's repositories. If you downloaded the code from the project's git
                    repositories directly, you will need to generate <filename>configure</filename>
                    manually:</para>
                <informalexample>
                    <screen><prompt>$</prompt> <userinput>cd guacamole-server/</userinput>
<prompt>$</prompt> <userinput>autoreconf -fi</userinput>
<prompt>$</prompt></screen>
                    <para>Doing this requires GNU Autotools to be installed.</para>
                    <para>Source archives downloaded from the project website contain the
                            <filename>configure</filename> script and all other necessary build
                        files, and thus do not require GNU Autotools to be installed on the build
                        machine.</para>
                </informalexample>
            </important>
            <para>Once you run <filename>configure</filename>, you can see what a listing of what
                libraries were found and what it has determined should be built:</para>
            <informalexample>
                <screen><prompt>$</prompt> <userinput>./configure --with-init-dir=<replaceable>/etc/init.d</replaceable></userinput>
<computeroutput>checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
...

------------------------------------------------
guacamole-server version 1.0.0
------------------------------------------------

   Library status:

     freerdp ............. yes
     pango ............... yes
     libavcodec .......... yes
     libavutil ........... yes
     libssh2 ............. yes
     libssl .............. yes
     libswscale .......... yes
     libtelnet ........... yes
     libVNCServer ........ yes
     libvorbis ........... yes
     libpulse ............ yes
     libwebp ............. yes
     wsock32 ............. no

   Protocol support:

      RDP ....... yes
      SSH ....... yes
      Telnet .... yes
      VNC ....... yes

   Services / tools:

      guacd ...... yes
      guacenc .... yes
      guaclog .... yes

   Init scripts: /etc/init.d
   Systemd units: no

Type "make" to compile guacamole-server.
</computeroutput>
<prompt>$</prompt></screen>
            </informalexample>
            <para><indexterm>
                    <primary><package>guacd</package></primary>
                    <secondary>startup script</secondary>
                </indexterm>The <option>--with-init-dir=/etc/init.d</option> shown above prepares
                the build to install a startup script for <package>guacd</package> into the
                    <filename>/etc/init.d</filename> directory, such that we can later easily
                configure <package>guacd</package> to start automatically on boot. If you do not
                wish guacd to start automatically at boot, leave off the
                    <option>--with-init-dir</option> option. If the directory containing your
                distribution's startup scripts differs from the common
                    <filename>/etc/init.d</filename>, replace <filename>/etc/init.d</filename> with
                the proper directory here. You may need to consult your distribution's
                documentation, or do a little digging in <filename>/etc</filename>, to determine the
                proper location.</para>
            <para>Here, <filename>configure</filename> has found everything, including all optional
                libraries, and will build all protocol support, even support for Ogg Vorbis sound in
                RDP. If you are missing some libraries, some of the
                    "<computeroutput>yes</computeroutput>" answers above will read
                    "<computeroutput>no</computeroutput>". If a library which is strictly required
                is missing, the script will fail outright, and you will need to install the missing
                dependency. If, after running <filename>configure</filename>, you find support for
                something you wanted is missing, simply install the corresponding dependencies and
                run <filename>configure</filename> again.</para>
            <important>
                <para>SSH and telnet support both require that fonts are installed in order to
                    function - output from the terminal cannot be rendered otherwise. Support for
                    SSH and telnet will build just fine if fonts are not installed, but it will fail
                    to connect when used:</para>
                <informalexample>
                    <screen>Aug 23 14:09:45 my-server guacd[5606]: Unable to get font "monospace"</screen>
                </informalexample>
                <para>If SSH or telnet connections are not working and you see such a message in
                    syslog, install fonts and try again.</para>
            </important>
            <para>Once <filename>configure</filename> is finished, just type
                    "<userinput>make</userinput>", and it will <package>guacamole-server</package>
                will compile:</para>
            <informalexample>
                <screen><prompt>$</prompt> <userinput>make</userinput>
<computeroutput>Making all in src/libguac
make[1]: Entering directory `/home/zhz/guacamole/guacamole-server/src/libguac'
...
make[1]: Leaving directory `/home/zhz/guacamole/guacamole-server/src/protocols/vnc'
make[1]: Entering directory `/home/zhz/guacamole/guacamole-server'
make[1]: Nothing to be done for `all-am'.
make[1]: Leaving directory `/home/zhz/guacamole/guacamole-server'</computeroutput>
<prompt>$</prompt></screen>
            </informalexample>
            <para>Quite a bit of output will scroll up the screen as all the components are
                compiled.</para>
        </section>
        <section xml:id="guacamole-server-installation">
            <title>Installation</title>
            <para>Once everything finishes, all you have left to do is type "<userinput>make
                    install</userinput>" to install the components that were built, and then
                    "<userinput>ldconfig</userinput>" to update your system's cache of installed
                libraries:</para>
            <informalexample>
                <screen><prompt>#</prompt> <userinput>make install</userinput>
<computeroutput>Making install in src/libguac
make[1]: Entering directory `/home/zhz/guacamole/guacamole-server/src/libguac'
make[2]: Entering directory `/home/zhz/guacamole/guacamole-server/src/libguac'
...
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/zhz/guacamole/guacamole-server/src/protocols/vnc'
make[1]: Leaving directory `/home/zhz/guacamole/guacamole-server/src/protocols/vnc'
make[1]: Entering directory `/home/zhz/guacamole/guacamole-server'
make[2]: Entering directory `/home/zhz/guacamole/guacamole-server'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/zhz/guacamole/guacamole-server'
make[1]: Leaving directory `/home/zhz/guacamole/guacamole-server'</computeroutput>
<prompt>#</prompt> <userinput>ldconfig</userinput>
<prompt>#</prompt>   </screen>
            </informalexample>
            <para>At this point, everything is installed, but <package>guacd</package> is not
                running. You will need to run guacd in order to use Guacamole once the client
                components are installed as well.</para>
            <para>Beware that even after installing <package>guacd</package> and its startup script,
                you will likely still have to activate the service for it to start automatically.
                Doing this varies by distribution, but each distribution will have documentation
                describing how to do so.</para>
        </section>
    </section>
    <section xml:id="building-guacamole-client">
        <title><package>guacamole-client</package></title>
        <indexterm>
            <primary><filename>guacamole.war</filename></primary>
            <secondary>compiling</secondary>
        </indexterm>
        <indexterm>
            <primary><package>guacamole-client</package></primary>
            <secondary>compiling</secondary>
        </indexterm>
        <important>
            <para>Normally, you don't need to build <package>guacamole-client</package>, as it is
                written in Java and is cross-platform. You can easily obtain the latest version of
                    <package>guacamole-client</package> from the release archives of the Guacamole
                project web site, including all supported extensions, without having to build it
                yourself.</para>
            <para>If you do not want to build guacamole-client from source, just download
                    <filename>guacamole.war</filename> from the project web site, along with any
                desired extensions, and skip ahead to <xref linkend="deploying-guacamole"/>.</para>
        </important>
        <para><package>guacamole-client</package> contains all Java and JavaScript components of
            Guacamole (<package>guacamole</package>, <package>guacamole-common</package>,
                <package>guacamole-ext</package>, and <package>guacamole-common-js</package>). These
            components ultimately make up the web application that will serve the HTML5 Guacamole
            client to users that connect to your server. This web application will then connect to
                <package>guacd</package>, part of <package>guacamole-server</package>, on behalf of
            connected users in order to serve them any remote desktop they are authorized to
            access.</para>
        <para>To compile <package>guacamole-client</package>, all you need is Apache Maven and a
            copy of the Java JDK. Most, if not all, Linux distributions will provide packages for
            these.</para>
        <para>You can obtain a copy of the <package>guacamole-client</package> source from the
            Guacamole project web site. These releases are stable snapshots of the latest code which
            have undergone enough testing that the Guacamole team considers them fit for public
            consumption. Source downloaded from the project web site will take the form of a
                <filename>.tar.gz</filename> archive which you can extract from the command
            line:</para>
        <informalexample>
            <screen><prompt>$</prompt> <userinput>tar -xzf guacamole-client-1.0.0.tar.gz</userinput>
<prompt>$</prompt> <userinput>cd guacamole-client-1.0.0/</userinput>
<prompt>$</prompt></screen>
        </informalexample>
        <para>As with <package>guacamole-server</package>, if you want the absolute latest code, and
            don't care that the code hasn't been as rigorously tested as the code in stable
            releases, you can also clone the Guacamole team's git repository on GitHub:</para>
        <informalexample>
            <screen><prompt>$</prompt> <userinput>git clone <uri>git://github.com/apache/guacamole-client.git</uri></userinput>
<computeroutput>Cloning into 'guacamole-client'...
remote: Counting objects: 12788, done.
remote: Compressing objects: 100% (4183/4183), done.
remote: Total 12788 (delta 3942), reused 12667 (delta 3822)
Receiving objects: 100% (12788/12788), 3.23 MiB | 799 KiB/s, done.
Resolving deltas: 100% (3942/3942), done.</computeroutput>
<prompt>$</prompt></screen>
        </informalexample>
        <para>Unlike <package>guacamole-server</package>, even if you grab the code from the git
            repositories, you won't need to run anything before building. There are no scripts that
            need to be generated before building - all Maven needs is the
                <filename>pom.xml</filename> file provided with the source.</para>
        <para>To build <package>guacamole-client</package>, just run "<userinput>mvn
                package</userinput>". This will invoke Maven to automatically build and package all
            components, producing a single <filename>.war</filename> file, which contains the entire
            web application:</para>
        <informalexample>
            <screen><prompt>$</prompt> <userinput>mvn package</userinput>
<computeroutput>[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO] 
[INFO] guacamole-common
[INFO] guacamole-ext
[INFO] guacamole-common-js
[INFO] guacamole
[INFO] guacamole-auth-cas
[INFO] guacamole-auth-duo
[INFO] guacamole-auth-header
[INFO] guacamole-auth-jdbc
[INFO] guacamole-auth-jdbc-base
[INFO] guacamole-auth-jdbc-mysql
[INFO] guacamole-auth-jdbc-postgresql
[INFO] guacamole-auth-jdbc-sqlserver
[INFO] guacamole-auth-jdbc-dist
[INFO] guacamole-auth-ldap
[INFO] guacamole-auth-openid
[INFO] guacamole-auth-quickconnect
[INFO] guacamole-auth-totp
[INFO] guacamole-example
[INFO] guacamole-playback-example
[INFO] guacamole-client
...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] guacamole-common ................................... SUCCESS [ 21.852 s]
[INFO] guacamole-ext ...................................... SUCCESS [  9.055 s]
[INFO] guacamole-common-js ................................ SUCCESS [  1.988 s]
[INFO] guacamole .......................................... SUCCESS [ 18.040 s]
[INFO] guacamole-auth-cas ................................. SUCCESS [  4.203 s]
[INFO] guacamole-auth-duo ................................. SUCCESS [  2.251 s]
[INFO] guacamole-auth-header .............................. SUCCESS [  1.399 s]
[INFO] guacamole-auth-jdbc ................................ SUCCESS [  1.396 s]
[INFO] guacamole-auth-jdbc-base ........................... SUCCESS [  3.266 s]
[INFO] guacamole-auth-jdbc-mysql .......................... SUCCESS [  4.665 s]
[INFO] guacamole-auth-jdbc-postgresql ..................... SUCCESS [  3.764 s]
[INFO] guacamole-auth-jdbc-sqlserver ...................... SUCCESS [  3.738 s]
[INFO] guacamole-auth-jdbc-dist ........................... SUCCESS [  1.214 s]
[INFO] guacamole-auth-ldap ................................ SUCCESS [  1.991 s]
[INFO] guacamole-auth-openid .............................. SUCCESS [  2.204 s]
[INFO] guacamole-auth-quickconnect ........................ SUCCESS [  2.983 s]
[INFO] guacamole-auth-totp ................................ SUCCESS [  8.154 s]
[INFO] guacamole-example .................................. SUCCESS [  0.895 s]
[INFO] guacamole-playback-example ......................... SUCCESS [  0.795 s]
[INFO] guacamole-client ................................... SUCCESS [  7.478 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:41 min
[INFO] Finished at: 2018-10-15T17:08:29-07:00
[INFO] Final Memory: 42M/379M
[INFO] ------------------------------------------------------------------------</computeroutput>
<prompt>$</prompt></screen>
        </informalexample>
        <para>Once the Guacamole web application is built, there will be a .war file in the
                <filename>guacamole/target/</filename> subdirectory of the current directory (the
            directory you were in when you ran <application>mvn</application>), ready to be deployed
            to a servlet container like Tomcat.</para>
    </section>
    <section xml:id="deploying-guacamole">
        <title>Deploying Guacamole</title>
        <indexterm>
            <primary>deploying</primary>
        </indexterm>
        <para>The web application portion of Guacamole is packaged as a fully self-contained
                <filename>.war</filename> file. If you downloaded Guacamole from the main project
            web site, this file will be called <filename>guacamole.war</filename>. Deploying this
            involves copying the file into the directory your servlet container uses for
                <filename>.war</filename> files. In the case of Tomcat, this will be
                    <filename><replaceable>CATALINA_HOME</replaceable>/webapps/</filename>. The
            location of <envar>CATALINA_HOME</envar> will vary by how Tomcat was installed, but is
            commonly <filename>/var/lib/tomcat</filename>, <filename>/var/lib/tomcat7</filename>, or
            similar:</para>
        <informalexample>
            <screen><prompt>#</prompt> <userinput>cp guacamole.war <replaceable>/var/lib/tomcat</replaceable>/webapps</userinput>
<prompt>#</prompt></screen>
        </informalexample>
        <para>If you have built guacamole-client from source, the required <filename>.war</filename>
            file will be within the <filename>guacamole/target/</filename> directory and will
            contain an additional version suffix. As Tomcat will determine the location of the web
            application from the name of the <filename>.war</filename> file, you will likely want to
            rename this to simply <filename>guacamole.war</filename> while copying:</para>
        <informalexample>
            <screen><prompt>#</prompt> <userinput>cp guacamole/target/guacamole-1.0.0.war <replaceable>/var/lib/tomcat/webapps</replaceable>/guacamole.war</userinput>
<prompt>#</prompt></screen>
        </informalexample>
        <para>Again, if you are using a different servlet container or if Tomcat is installed to a
            different location, you will need to check the documentation of your servlet container,
            distribution, or both to determine the proper location for deploying
                <filename>.war</filename> files like <filename>guacamole.war</filename>.</para>
        <para>Once the <filename>.war</filename> file is in place, you may need to restart Tomcat to
            force Tomcat to deploy the new web application, and the <package>guacd</package> daemon
            must be started if it isn't running already. The command to restart Tomcat and
                <package>guacd</package> will vary by distribution. Typically, you can do this by
            running the corresponding init scripts with the "restart" option:</para>
        <informalexample>
            <screen><prompt>#</prompt> <userinput>/etc/init.d/tomcat7 restart</userinput>
<computeroutput>Stopping Tomcat... OK
Starting Tomcat... OK</computeroutput>
<prompt>#</prompt> <userinput>/etc/init.d/guacd start</userinput>
<computeroutput>Starting guacd: SUCCESS
guacd[6229]: INFO:  Guacamole proxy daemon (guacd) version 1.0.0 started</computeroutput>
<prompt>#</prompt></screen>
        </informalexample>
        <important>
            <para>If you want Guacamole to start on boot, you will need to configure the Tomcat and
                    <package>guacd</package> services to run automatically. Your distribution will
                provide documentation for doing this.</para>
        </important>
        <para>After restarting Tomcat and starting <package>guacd</package>, Guacamole is
            successfully installed, though it will not be fully running. In its current state, it is
            completely unconfigured, and further steps are required to add at least one Guacamole
            user and a few connections. This is covered in <xref
                xmlns:xlink="http://www.w3.org/1999/xlink" linkend="configuring-guacamole"/>.</para>
        <section>
            <title>What about WebSocket?</title>
            <indexterm>
                <primary>WebSocket</primary>
            </indexterm>
            <para>Guacamole will use WebSocket automatically if supported by the browser and your
                servlet container. In the event that Guacamole cannot connect using WebSocket, it
                will immediately and transparently fall back to using HTTP.</para>
            <para>WebSocket is supported in Guacamole for Tomcat 7.0.37 or higher, Jetty 8 or
                higher, and any servlet container supporting JSR 356, the standardized Java API for
                WebSocket.</para>
        </section>
    </section>
</chapter>
