<?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="https://www.gnu.org/software/libtool/manual/libtool.html"
                                    >libtool</link></entry>
                            <entry>
                                <para>libtool is used during the build process. 
                                libtool creates compiled libraries needed for Guacamole.</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>libtool-bin</package></entry>
                                            </row>
                                            <row>
                                                <entry>Fedora / CentOS / RHEL package</entry>
                                                <entry><package>libtool</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>
