===== Guacamole =====
==== references ====
* https://guacamole.apache.org/doc/1.1.0/gug/
* https://www.byteprotips.com/?p=2391
==== environement ====
installation faite en centos 8 et tomcat 9 (tar.gz dans /opt/tomcat)
==== packages repositories ====
EPEL
[root@rlab ~]# dnf install --nogpgcheck https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
RPMFusion
[root@rlab ~]# dnf install --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm
[root@rlab ~]# yum install dnf-plugins-core
[root@rlab ~]# dnf config-manager --enable PowerTools
OKay
[root@rlab ~]# rpm -ivh http://repo.okay.com.mx/centos/8/x86_64/release/okay-release-1-3.el8.noarch.rpm
==== packages depandances ====
[root@rlab]# yum install -y cairo-devel libjpeg-turbo-devel libwebsockets-devel libpng-devel uuid-devel ffmpeg-devel freerdp-devel pango-devel libssh2-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel libtool freerdp mariadb-server
Dépendances résolues.
====================================================================================================================================================================
Paquet Architecture Version Dépôt Taille
====================================================================================================================================================================
Installation:
cairo-devel x86_64 1.15.12-3.el8 AppStream 272 k
freerdp x86_64 2:2.0.0-46.rc4.el8 AppStream 107 k
libjpeg-turbo-devel x86_64 1.5.3-10.el8 AppStream 109 k
libtool x86_64 2.4.6-25.el8 AppStream 709 k
libwebp-devel x86_64 1.0.0-1.el8 AppStream 37 k
mariadb-server x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream 16 M
pango-devel x86_64 1.42.4-6.el8 AppStream 321 k
pulseaudio-libs-devel x86_64 11.1-23.el8 AppStream 452 k
libpng-devel x86_64 2:1.6.34-5.el8 BaseOS 327 k
openssl-devel x86_64 1:1.1.1c-2.el8_1.1 BaseOS 2.3 M
freerdp-devel x86_64 2:2.0.0-46.rc4.el8 PowerTools 130 k
libvncserver-devel x86_64 0.9.11-9.el8_1.2 PowerTools 61 k
libvorbis-devel x86_64 1:1.3.6-2.el8 PowerTools 25 k
uuid-devel x86_64 1.6.2-42.el8 PowerTools 30 k
libssh2-devel x86_64 1.9.0-5.el8 epel 68 k
libwebsockets-devel x86_64 4.0.1-2.el8 epel 240 k
ffmpeg-devel x86_64 4.2.3-3.el8 rpmfusion-free-updates 909 k
Mise à jour:
e2fsprogs x86_64 1.44.6-3.el8 BaseOS 1.0 M
e2fsprogs-libs x86_64 1.44.6-3.el8 BaseOS 208 k
glib2 x86_64 2.56.4-7.el8 BaseOS 2.5 M
glibc x86_64 2.28-72.el8_1.1 BaseOS 3.7 M
glibc-all-langpacks x86_64 2.28-72.el8_1.1 BaseOS 25 M
glibc-common x86_64 2.28-72.el8_1.1 BaseOS 836 k
krb5-libs x86_64 1.17-9.el8 BaseOS 851 k
libblkid x86_64 2.32.1-17.el8 BaseOS 215 k
libcom_err x86_64 1.44.6-3.el8 BaseOS 48 k
libfdisk x86_64 2.32.1-17.el8 BaseOS 249 k
libmount x86_64 2.32.1-17.el8 BaseOS 231 k
libselinux x86_64 2.9-2.1.el8 BaseOS 166 k
libselinux-utils x86_64 2.9-2.1.el8 BaseOS 243 k
libsepol x86_64 2.9-1.el8 BaseOS 340 k
libsmartcols x86_64 2.32.1-17.el8 BaseOS 175 k
libss x86_64 1.44.6-3.el8 BaseOS 53 k
libuuid x86_64 2.32.1-17.el8 BaseOS 94 k
nscd x86_64 2.28-72.el8_1.1 BaseOS 123 k
openssl x86_64 1:1.1.1c-2.el8_1.1 BaseOS 686 k
openssl-libs x86_64 1:1.1.1c-2.el8_1.1 BaseOS 1.5 M
python3-libselinux x86_64 2.9-2.1.el8 BaseOS 283 k
util-linux x86_64 2.32.1-17.el8 BaseOS 2.5 M
Installation des dépendances:
annobin x86_64 8.78-1.el8 AppStream 196 k
autoconf noarch 2.69-27.el8 AppStream 710 k
automake noarch 1.16.1-6.el8 AppStream 713 k
cmake x86_64 3.11.4-3.el8 AppStream 8.2 M
cmake-data noarch 3.11.4-3.el8 AppStream 1.3 M
cmake-filesystem x86_64 3.11.4-3.el8 AppStream 40 k
cmake-rpm-macros noarch 3.11.4-3.el8 AppStream 39 k
flac-libs x86_64 1.3.2-9.el8 AppStream 217 k
freerdp-libs x86_64 2:2.0.0-46.rc4.el8 AppStream 823 k
fribidi-devel x86_64 1.0.4-7.el8_1 AppStream 63 k
graphite2-devel x86_64 1.3.10-10.el8 AppStream 45 k
gsm x86_64 1.0.17-5.el8 AppStream 37 k
gstreamer1 x86_64 1.14.0-3.el8 AppStream 1.3 M
gstreamer1-plugins-base x86_64 1.14.0-4.el8 AppStream 1.8 M
harfbuzz-devel x86_64 1.7.5-3.el8 AppStream 182 k
harfbuzz-icu x86_64 1.7.5-3.el8 AppStream 24 k
isl x86_64 0.16.1-6.el8 AppStream 841 k
iso-codes noarch 3.79-2.el8 AppStream 3.4 M
lame-libs x86_64 3.100-6.el8 AppStream 361 k
libICE x86_64 1.0.9-15.el8 AppStream 74 k
libSM x86_64 1.2.3-1.el8 AppStream 48 k
libX11-devel x86_64 1.6.7-1.el8 AppStream 976 k
libX11-xcb x86_64 1.6.7-1.el8 AppStream 14 k
libXau-devel x86_64 1.0.8-13.el8 AppStream 20 k
libXext-devel x86_64 1.3.3-9.el8 AppStream 80 k
libXft-devel x86_64 2.3.2-10.el8 AppStream 25 k
libXrender-devel x86_64 0.9.10-7.el8 AppStream 22 k
libXv x86_64 1.0.11-7.el8 AppStream 20 k
libXxf86vm x86_64 1.1.4-9.el8 AppStream 19 k
libasyncns x86_64 0.8-14.el8 AppStream 32 k
libbluray x86_64 1.0.2-3.el8 AppStream 162 k
libcdio x86_64 2.0.0-3.el8 AppStream 256 k
libcdio-paranoia x86_64 10.2+0.94+2-3.el8 AppStream 92 k
libdrm x86_64 2.4.98-2.el8 AppStream 165 k
libev x86_64 4.24-6.el8 AppStream 52 k
libev-devel x86_64 4.24-6.el8 AppStream 104 k
libglvnd x86_64 1:1.0.1-0.9.git5baa1e5.el8 AppStream 95 k
libglvnd-egl x86_64 1:1.0.1-0.9.git5baa1e5.el8 AppStream 50 k
libglvnd-gles x86_64 1:1.0.1-0.9.git5baa1e5.el8 AppStream 41 k
libglvnd-glx x86_64 1:1.0.1-0.9.git5baa1e5.el8 AppStream 131 k
libmpc x86_64 1.0.2-9.el8 AppStream 59 k
libogg x86_64 2:1.3.2-10.el8 AppStream 31 k
librsvg2 x86_64 2.42.7-3.el8 AppStream 570 k
libsamplerate x86_64 0.1.9-1.el8 AppStream 1.0 M
libsndfile x86_64 1.0.28-8.el8 AppStream 193 k
libtheora x86_64 1:1.1.1-21.el8 AppStream 184 k
libv4l x86_64 1.14.2-3.el8 AppStream 194 k
libva x86_64 2.4.1-1.el8 AppStream 93 k
libvdpau x86_64 1.1.1-7.el8 AppStream 40 k
libvisual x86_64 1:0.4.0-24.el8 AppStream 145 k
libvncserver x86_64 0.9.11-9.el8_1.2 AppStream 274 k
libvorbis x86_64 1:1.3.6-2.el8 AppStream 196 k
libvpx x86_64 1.7.0-6.el8 AppStream 852 k
libwayland-client x86_64 1.15.0-1.el8 AppStream 39 k
libwayland-cursor x86_64 1.15.0-1.el8 AppStream 26 k
libwayland-egl x86_64 1.15.0-1.el8 AppStream 19 k
libwayland-server x86_64 1.15.0-1.el8 AppStream 45 k
libwebp x86_64 1.0.0-1.el8 AppStream 273 k
libwinpr x86_64 2:2.0.0-46.rc4.el8 AppStream 335 k
libwinpr-devel x86_64 2:2.0.0-46.rc4.el8 AppStream 171 k
libxcb-devel x86_64 1.13-5.el8 AppStream 1.1 M
libxkbcommon x86_64 0.8.2-1.el8 AppStream 116 k
libxkbcommon-devel x86_64 0.8.2-1.el8 AppStream 60 k
libxkbfile x86_64 1.0.9-9.el8 AppStream 86 k
libxshmfence x86_64 1.3-2.el8 AppStream 13 k
mariadb x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream 6.1 M
mariadb-common x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream 62 k
mariadb-errmsg x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream 232 k
mesa-filesystem x86_64 19.1.4-3.el8_1 AppStream 32 k
mesa-libEGL x86_64 19.1.4-3.el8_1 AppStream 131 k
mesa-libGL x86_64 19.1.4-3.el8_1 AppStream 184 k
mesa-libgbm x86_64 19.1.4-3.el8_1 AppStream 55 k
mesa-libglapi x86_64 19.1.4-3.el8_1 AppStream 61 k
ocl-icd x86_64 2.2.12-1.el8 AppStream 51 k
openal-soft x86_64 1.18.2-7.el8 AppStream 394 k
openjpeg2 x86_64 2.3.1-3.el8_1 AppStream 154 k
opus x86_64 1.3-0.4.beta.el8 AppStream 204 k
orc x86_64 0.4.28-2.el8 AppStream 175 k
perl-DBD-MySQL x86_64 4.046-3.module_el8.1.0+203+e45423dc AppStream 156 k
perl-DBI x86_64 1.641-3.module_el8.1.0+199+8f0a6bbd AppStream 740 k
pixman-devel x86_64 0.36.0-1.el8 AppStream 20 k
pulseaudio-libs x86_64 11.1-23.el8 AppStream 677 k
pulseaudio-libs-glib2 x86_64 11.1-23.el8 AppStream 30 k
speex x86_64 1.2.0-1.el8 AppStream 71 k
uuid x86_64 1.6.2-42.el8 AppStream 63 k
wayland-devel x86_64 1.15.0-1.el8 AppStream 146 k
xkeyboard-config noarch 2.24-3.el8 AppStream 828 k
xorg-x11-proto-devel noarch 2018.4-1.el8 AppStream 283 k
bzip2-devel x86_64 1.0.6-26.el8 BaseOS 224 k
emacs-filesystem noarch 1:26.1-5.el8 BaseOS 69 k
expat-devel x86_64 2.2.5-3.el8 BaseOS 55 k
fontconfig-devel x86_64 2.13.1-3.el8 BaseOS 151 k
freetype-devel x86_64 2.9.1-4.el8 BaseOS 464 k
gettext x86_64 0.19.8.1-17.el8 BaseOS 1.1 M
gettext-libs x86_64 0.19.8.1-17.el8 BaseOS 314 k
glib2-devel x86_64 2.56.4-7.el8 BaseOS 425 k
glibc-devel x86_64 2.28-72.el8_1.1 BaseOS 1.0 M
glibc-headers x86_64 2.28-72.el8_1.1 BaseOS 469 k
hwdata noarch 0.314-8.2.el8_1 BaseOS 1.6 M
kernel-headers x86_64 4.18.0-147.8.1.el8_1 BaseOS 2.7 M
keyutils-libs-devel x86_64 1.5.10-6.el8 BaseOS 48 k
krb5-devel x86_64 1.17-9.el8 BaseOS 548 k
libaio x86_64 0.3.112-1.el8 BaseOS 33 k
libatomic x86_64 8.3.1-4.5.el8 BaseOS 22 k
libcom_err-devel x86_64 1.44.6-3.el8 BaseOS 38 k
libcroco x86_64 0.6.12-4.el8 BaseOS 113 k
libicu x86_64 60.3-2.el8_1 BaseOS 8.8 M
libicu-devel x86_64 60.3-2.el8_1 BaseOS 922 k
libkadm5 x86_64 1.17-9.el8 BaseOS 184 k
libpciaccess x86_64 0.14-1.el8 BaseOS 32 k
libselinux-devel x86_64 2.9-2.1.el8 BaseOS 199 k
libsepol-devel x86_64 2.9-1.el8 BaseOS 86 k
libuuid-devel x86_64 2.32.1-17.el8 BaseOS 95 k
libverto-devel x86_64 0.3.0-5.el8 BaseOS 18 k
libxcrypt-devel x86_64 4.1.1-4.el8 BaseOS 25 k
lzo-minilzo x86_64 2.08-14.el8 BaseOS 29 k
numactl-libs x86_64 2.0.12-7.el8 BaseOS 36 k
pcre-cpp x86_64 8.42-4.el8 BaseOS 47 k
pcre-devel x86_64 8.42-4.el8 BaseOS 551 k
pcre-utf16 x86_64 8.42-4.el8 BaseOS 195 k
pcre-utf32 x86_64 8.42-4.el8 BaseOS 186 k
pcre2-devel x86_64 10.32-1.el8 BaseOS 605 k
pcre2-utf16 x86_64 10.32-1.el8 BaseOS 228 k
pcre2-utf32 x86_64 10.32-1.el8 BaseOS 220 k
xml-common noarch 0.6.3-50.el8 BaseOS 39 k
zlib-devel x86_64 1.2.11-10.el8 BaseOS 56 k
SDL2 x86_64 2.0.8-7.el8 PowerTools 429 k
libogg-devel x86_64 2:1.3.2-10.el8 PowerTools 19 k
jack-audio-connection-kit x86_64 1.9.12-8.el8 epel 519 k
libaom x86_64 1.0.0-8.20190810git9666276.el8 epel 1.6 M
libass x86_64 0.14.0-4.el8 epel 110 k
libdav1d x86_64 0.5.2-1.el8 epel 347 k
libmfx x86_64 1.25-4.el8 epel 36 k
libmodplug x86_64 1:0.8.9.0-9.el8 epel 171 k
libssh2 x86_64 1.9.0-5.el8 epel 128 k
libvmaf x86_64 1.3.15-1.el8 epel 347 k
libwebsockets x86_64 4.0.1-2.el8 epel 250 k
pugixml x86_64 1.9-1.el8 epel 97 k
soxr x86_64 0.1.3-4.el8 epel 97 k
srt-libs x86_64 1.4.1-3.el8 epel 249 k
vid.stab x86_64 1.1.0-12.20190213gitaeabc8d.el8 epel 47 k
zimg x86_64 2.9.3-1.el8 epel 269 k
zvbi x86_64 0.2.35-9.el8 epel 424 k
cpp x86_64 8.2.1-3.5.el8 okay 10 M
gcc x86_64 8.2.1-3.5.el8 okay 23 M
libgomp x86_64 8.2.1-3.5.el8 okay 188 k
libopencore-amr x86_64 0.1.5-1.el8 okay 139 k
libuv x86_64 1:1.32.0-1.el8 okay 146 k
libuv-devel x86_64 1:1.32.0-1.el8 okay 36 k
ffmpeg-libs x86_64 4.2.3-3.el8 rpmfusion-free-updates 7.2 M
libavdevice x86_64 4.2.3-3.el8 rpmfusion-free-updates 97 k
vo-amrwbenc x86_64 0.1.3-8.el8 rpmfusion-free-updates 77 k
x264-libs x86_64 0.157-12.20190717git34c06d1.el8 rpmfusion-free-updates 651 k
x265-libs x86_64 3.1.2-1.el8 rpmfusion-free-updates 1.9 M
xvidcore x86_64 1.3.7-1.el8 rpmfusion-free-updates 268 k
Installation des dépendances faibles:
mariadb-backup x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream 6.0 M
mariadb-gssapi-server x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream 49 k
mariadb-server-utils x86_64 3:10.3.17-1.module_el8.1.0+257+48736ea6 AppStream 1.6 M
openssl-pkcs11 x86_64 0.4.8-2.el8 BaseOS 64 k
Activation des flux de modules:
mariadb 10.3
perl-DBD-MySQL 4.046
perl-DBI 1.641
Résumé de la transaction
====================================================================================================================================================================
Installer 176 Paquets
Mettre à niveau 22 Paquets
===== guacamole =====
==== sources ====
[root@rlab opt]# wget https://downloads.apache.org/guacamole/1.1.0/source/guacamole-server-1.1.0.tar.gz
[root@rlab opt]# tar -xzf guacamole-server-1.1.0.tar.gz
[root@rlab opt]# cd guacamole-server-1.1.0
==== configure ====
[root@rlab guacamole-server-1.1.0]# ./configure --with-init-dir=/etc/init.d
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking how to print strings... printf
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... no
checking for dlopen in -ldl... yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... yes
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking for gcc option to accept ISO C99... none needed
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking for unistd.h... (cached) yes
checking cairo/cairo.h usability... yes
checking cairo/cairo.h presence... yes
checking for cairo/cairo.h... yes
checking pngstruct.h usability... no
checking pngstruct.h presence... no
checking for pngstruct.h... no
checking for cos in -lm... yes
checking for png_write_png in -lpng... yes
checking for jpeg_start_compress in -ljpeg... yes
checking for cairo_create in -lcairo... yes
checking for pthread_create in -lpthread... yes
checking for dlopen in -ldl... (cached) yes
checking for uuid_make in -lossp-uuid... yes
checking ossp/uuid.h usability... no
checking ossp/uuid.h presence... no
checking for ossp/uuid.h... no
checking whether uuid_make is declared... yes
checking for CU_run_test in -lcunit... no
checking for clock_gettime... yes
checking for gettimeofday... yes
checking for memmove... yes
checking for memset... yes
checking for select... yes
checking for strdup... yes
checking for nanosleep... yes
checking whether png_get_io_ptr is declared... yes
checking whether cairo_format_stride_for_width is declared... yes
checking whether poll is declared... yes
checking whether strlcpy is declared... no
checking whether strlcat is declared... no
checking for size_t... yes
checking for ssize_t... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for AVCODEC... yes
checking for AVUTIL... yes
checking for SWSCALE... yes
checking openssl/ssl.h usability... yes
checking openssl/ssl.h presence... yes
checking for openssl/ssl.h... yes
checking for SSL_CTX_new in -lssl... yes
checking whether DSA_SIG_get0 is declared... yes
checking whether DSA_get0_pqg is declared... yes
checking whether DSA_get0_key is declared... yes
checking whether RSA_get0_key is declared... yes
checking whether libssl requires threading callbacks... no
checking for main in -lwsock32... no
checking vorbis/vorbisenc.h usability... yes
checking vorbis/vorbisenc.h presence... yes
checking for vorbis/vorbisenc.h... yes
checking for ogg_stream_init in -logg... yes
checking for vorbis_block_init in -lvorbis... yes
checking for vorbis_encode_init in -lvorbisenc... yes
checking for pa_context_new in -lpulse... yes
checking for PANGO... yes
checking for PANGOCAIRO... yes
checking for rfbInitClient in -lvncclient... yes
checking for rfbClient.destHost... yes
checking for rfbClient.destPort... yes
checking whether listenForIncomingConnectionsNoFork is declared... yes
checking for RDP... yes
checking whether FreeRDPConvertColor is declared... yes
checking whether Bitmap_Free() frees the rdpBitmap and its image data... no
checking whether rdpGlyph callbacks accept INT32 integer parameters... yes
checking whether CLIPRDR callbacks require const for their final parameter... no
checking whether RAIL callbacks require const for their final parameter... yes
checking for libssh2_session_init_ex in -lssh2... yes
checking for gcry_control in -lssh2... no
checking for telnet_init in -ltelnet... no
checking webp/encode.h usability... yes
checking webp/encode.h presence... yes
checking for webp/encode.h... yes
checking for WebPEncode in -lwebp... yes
checking for lws_create_context in -lwebsockets... yes
checking whether LWS_CALLBACK_CLIENT_CLOSED is declared... yes
checking whether LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT is declared... yes
checking whether LCCSCF_USE_SSL is declared... yes
checking whether lws_callback_http_dummy is declared... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Doxyfile
config.status: creating src/common/Makefile
config.status: creating src/common/tests/Makefile
config.status: creating src/common-ssh/Makefile
config.status: creating src/common-ssh/tests/Makefile
config.status: creating src/terminal/Makefile
config.status: creating src/libguac/Makefile
config.status: creating src/libguac/tests/Makefile
config.status: creating src/guacd/Makefile
config.status: creating src/guacd/man/guacd.8
config.status: creating src/guacd/man/guacd.conf.5
config.status: creating src/guacenc/Makefile
config.status: creating src/guacenc/man/guacenc.1
config.status: creating src/guaclog/Makefile
config.status: creating src/guaclog/man/guaclog.1
config.status: creating src/pulse/Makefile
config.status: creating src/protocols/kubernetes/Makefile
config.status: creating src/protocols/rdp/Makefile
config.status: creating src/protocols/rdp/tests/Makefile
config.status: creating src/protocols/ssh/Makefile
config.status: creating src/protocols/telnet/Makefile
config.status: creating src/protocols/vnc/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
------------------------------------------------
guacamole-server version 1.1.0
------------------------------------------------
Library status:
freerdp2 ............ yes
pango ............... yes
libavcodec .......... yes
libavutil ........... yes
libssh2 ............. yes
libssl .............. yes
libswscale .......... yes
libtelnet ........... no
libVNCServer ........ yes
libvorbis ........... yes
libpulse ............ yes
libwebsockets ....... yes
libwebp ............. yes
wsock32 ............. no
Protocol support:
Kubernetes .... yes
RDP ........... yes
SSH ........... yes
Telnet ........ no
VNC ........... yes
Services / tools:
guacd ...... yes
guacenc .... yes
guaclog .... yes
FreeRDP plugins: /usr/lib64/freerdp2
Init scripts: /etc/init.d
Systemd units: no
Type "make" to compile guacamole-server.
==== build ====
[root@rlab guacamole-server-1.1.0]# make
make all-recursive
make[1] : on entre dans le répertoire « /opt/guacamole-server-1.1.0 »
Making all in src/libguac
make[2] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/libguac »
Making all in .
make[3] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/libguac »
CC libguac_la-audio.lo
CC libguac_la-client.lo
CC libguac_la-encode-jpeg.lo
CC libguac_la-encode-png.lo
CC libguac_la-error.lo
CC libguac_la-hash.lo
CC libguac_la-id.lo
CC libguac_la-palette.lo
CC libguac_la-parser.lo
CC libguac_la-pool.lo
CC libguac_la-protocol.lo
CC libguac_la-raw_encoder.lo
CC libguac_la-socket.lo
CC libguac_la-socket-broadcast.lo
CC libguac_la-socket-fd.lo
CC libguac_la-socket-nest.lo
CC libguac_la-socket-tee.lo
CC libguac_la-string.lo
CC libguac_la-timestamp.lo
CC libguac_la-unicode.lo
CC libguac_la-user.lo
CC libguac_la-user-handlers.lo
CC libguac_la-user-handshake.lo
CC libguac_la-wait-fd.lo
CC libguac_la-encode-webp.lo
CC libguac_la-socket-ssl.lo
CCLD libguac.la
make[3] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/libguac »
Making all in tests
make[3] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/libguac/tests »
make[3]: rien à faire pour « all ».
make[3] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/libguac/tests »
make[2] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/libguac »
Making all in src/common
make[2] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/common »
Making all in .
make[3] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/common »
CC libguac_common_la-io.lo
CC libguac_common_la-blank_cursor.lo
CC libguac_common_la-clipboard.lo
CC libguac_common_la-cursor.lo
CC libguac_common_la-display.lo
CC libguac_common_la-dot_cursor.lo
CC libguac_common_la-ibar_cursor.lo
CC libguac_common_la-iconv.lo
CC libguac_common_la-json.lo
CC libguac_common_la-list.lo
CC libguac_common_la-pointer_cursor.lo
CC libguac_common_la-recording.lo
CC libguac_common_la-rect.lo
CC libguac_common_la-string.lo
CC libguac_common_la-surface.lo
CCLD libguac_common.la
make[3] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/common »
Making all in tests
make[3] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/common/tests »
make[3]: rien à faire pour « all ».
make[3] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/common/tests »
make[2] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/common »
Making all in src/common-ssh
make[2] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/common-ssh »
Making all in .
make[3] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/common-ssh »
CC libguac_common_ssh_la-buffer.lo
CC libguac_common_ssh_la-dsa-compat.lo
CC libguac_common_ssh_la-rsa-compat.lo
CC libguac_common_ssh_la-sftp.lo
CC libguac_common_ssh_la-ssh.lo
CC libguac_common_ssh_la-key.lo
CC libguac_common_ssh_la-user.lo
CCLD libguac_common_ssh.la
make[3] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/common-ssh »
Making all in tests
make[3] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/common-ssh/tests »
make[3]: rien à faire pour « all ».
make[3] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/common-ssh/tests »
make[2] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/common-ssh »
Making all in src/terminal
make[2] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/terminal »
CC libguac_terminal_la-buffer.lo
CC libguac_terminal_la-char_mappings.lo
CC libguac_terminal_la-color-scheme.lo
CC libguac_terminal_la-common.lo
CC libguac_terminal_la-display.lo
CC libguac_terminal_la-named-colors.lo
CC libguac_terminal_la-palette.lo
CC libguac_terminal_la-scrollbar.lo
CC libguac_terminal_la-select.lo
CC libguac_terminal_la-terminal.lo
CC libguac_terminal_la-terminal_handlers.lo
CC libguac_terminal_la-terminal-stdin-stream.lo
CC libguac_terminal_la-typescript.lo
CC libguac_terminal_la-xparsecolor.lo
CCLD libguac_terminal.la
make[2] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/terminal »
Making all in src/pulse
make[2] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/pulse »
CC libguac_pulse_la-pulse.lo
CCLD libguac_pulse.la
make[2] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/pulse »
Making all in src/protocols/kubernetes
make[2] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/protocols/kubernetes »
CC libguac_client_kubernetes_la-argv.lo
CC libguac_client_kubernetes_la-client.lo
CC libguac_client_kubernetes_la-clipboard.lo
CC libguac_client_kubernetes_la-input.lo
CC libguac_client_kubernetes_la-io.lo
CC libguac_client_kubernetes_la-pipe.lo
CC libguac_client_kubernetes_la-settings.lo
CC libguac_client_kubernetes_la-ssl.lo
CC libguac_client_kubernetes_la-kubernetes.lo
CC libguac_client_kubernetes_la-url.lo
CC libguac_client_kubernetes_la-user.lo
CCLD libguac-client-kubernetes.la
make[2] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/protocols/kubernetes »
Making all in src/protocols/rdp
make[2] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/protocols/rdp »
GEN _generated_channel_entry_wrappers.c
GEN _generated_keymaps.c
Added: base
Added: failsafe
Added: de-de-qwertz
Added: de-ch-qwertz
Added: en-gb-qwerty
Added: en-us-qwerty
Added: es-es-qwerty
Added: fr-fr-azerty
Added: fr-ch-qwertz
Added: it-it-qwerty
Added: ja-jp-qwerty
Added: pt-br-qwerty
Added: sv-se-qwerty
Added: da-dk-qwerty
Added: tr-tr-qwerty
make all-recursive
make[3] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/protocols/rdp »
Making all in .
make[4] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/protocols/rdp »
CC plugins/guac-common-svc/libguac_common_svc_client_la-guac-common-svc.lo
CCLD libguac-common-svc-client.la
CC channels/audio-input/libguacai_client_la-audio-buffer.lo
CC plugins/guacai/libguacai_client_la-guacai-messages.lo
CC plugins/guacai/libguacai_client_la-guacai.lo
CC plugins/libguacai_client_la-ptr-string.lo
CCLD libguacai-client.la
CC libguac_client_rdp_la-beep.lo
CC libguac_client_rdp_la-bitmap.lo
CC channels/audio-input/libguac_client_rdp_la-audio-buffer.lo
CC channels/audio-input/libguac_client_rdp_la-audio-input.lo
CC channels/libguac_client_rdp_la-cliprdr.lo
CC channels/libguac_client_rdp_la-common-svc.lo
CC channels/libguac_client_rdp_la-disp.lo
CC channels/libguac_client_rdp_la-pipe-svc.lo
CC channels/libguac_client_rdp_la-rail.lo
CC channels/rdpdr/libguac_client_rdp_la-rdpdr-fs-messages-dir-info.lo
CC channels/rdpdr/libguac_client_rdp_la-rdpdr-fs-messages-file-info.lo
CC channels/rdpdr/libguac_client_rdp_la-rdpdr-fs-messages-vol-info.lo
CC channels/rdpdr/libguac_client_rdp_la-rdpdr-fs-messages.lo
CC channels/rdpdr/libguac_client_rdp_la-rdpdr-fs.lo
CC channels/rdpdr/libguac_client_rdp_la-rdpdr-messages.lo
CC channels/rdpdr/libguac_client_rdp_la-rdpdr-printer.lo
CC channels/rdpdr/libguac_client_rdp_la-rdpdr.lo
CC channels/rdpsnd/libguac_client_rdp_la-rdpsnd-messages.lo
CC channels/rdpsnd/libguac_client_rdp_la-rdpsnd.lo
CC libguac_client_rdp_la-client.lo
CC libguac_client_rdp_la-color.lo
CC libguac_client_rdp_la-decompose.lo
CC libguac_client_rdp_la-download.lo
CC libguac_client_rdp_la-error.lo
CC libguac_client_rdp_la-fs.lo
CC libguac_client_rdp_la-gdi.lo
CC libguac_client_rdp_la-glyph.lo
CC libguac_client_rdp_la-input.lo
CC libguac_client_rdp_la-keyboard.lo
CC libguac_client_rdp_la-keymap.lo
CC libguac_client_rdp_la-log.lo
CC libguac_client_rdp_la-ls.lo
CC plugins/libguac_client_rdp_la-channels.lo
CC plugins/libguac_client_rdp_la-ptr-string.lo
CC libguac_client_rdp_la-pointer.lo
CC libguac_client_rdp_la-print-job.lo
CC libguac_client_rdp_la-rdp.lo
CC libguac_client_rdp_la-resolution.lo
CC libguac_client_rdp_la-settings.lo
CC libguac_client_rdp_la-unicode.lo
CC libguac_client_rdp_la-upload.lo
CC libguac_client_rdp_la-user.lo
CC libguac_client_rdp_la-sftp.lo
CC libguac_client_rdp_la-_generated_channel_entry_wrappers.lo
CC libguac_client_rdp_la-_generated_keymaps.lo
CCLD libguac-client-rdp.la
make[4] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/protocols/rdp »
Making all in tests
make[4] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/protocols/rdp/tests »
make[4]: rien à faire pour « all ».
make[4] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/protocols/rdp/tests »
make[3] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/protocols/rdp »
make[2] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/protocols/rdp »
Making all in src/protocols/ssh
make[2] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/protocols/ssh »
CC libguac_client_ssh_la-argv.lo
CC libguac_client_ssh_la-client.lo
CC libguac_client_ssh_la-clipboard.lo
CC libguac_client_ssh_la-input.lo
CC libguac_client_ssh_la-pipe.lo
CC libguac_client_ssh_la-settings.lo
CC libguac_client_ssh_la-sftp.lo
CC libguac_client_ssh_la-ssh.lo
CC libguac_client_ssh_la-ttymode.lo
CC libguac_client_ssh_la-user.lo
CCLD libguac-client-ssh.la
make[2] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/protocols/ssh »
Making all in src/protocols/vnc
make[2] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/protocols/vnc »
CC libguac_client_vnc_la-auth.lo
CC libguac_client_vnc_la-client.lo
CC libguac_client_vnc_la-clipboard.lo
CC libguac_client_vnc_la-cursor.lo
CC libguac_client_vnc_la-display.lo
CC libguac_client_vnc_la-input.lo
CC libguac_client_vnc_la-log.lo
CC libguac_client_vnc_la-settings.lo
CC libguac_client_vnc_la-user.lo
CC libguac_client_vnc_la-vnc.lo
CC libguac_client_vnc_la-sftp.lo
CCLD libguac-client-vnc.la
make[2] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/protocols/vnc »
Making all in src/guacd
make[2] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/guacd »
CC guacd-conf-args.o
CC guacd-conf-file.o
CC guacd-conf-parse.o
CC guacd-connection.o
CC guacd-daemon.o
CC guacd-log.o
CC guacd-move-fd.o
CC guacd-proc.o
CC guacd-proc-map.o
CCLD guacd
sed -e 's,[@]sbindir[@],/usr/local/sbin,g' < init.d/guacd.in > init.d/guacd
chmod +x init.d/guacd
make[2] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/guacd »
Making all in src/guacenc
make[2] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/guacenc »
CC guacenc-buffer.o
CC guacenc-cursor.o
CC guacenc-display.o
CC guacenc-display-buffers.o
CC guacenc-display-image-streams.o
CC guacenc-display-flatten.o
CC guacenc-display-layers.o
CC guacenc-display-sync.o
CC guacenc-encode.o
CC guacenc-ffmpeg-compat.o
CC guacenc-guacenc.o
CC guacenc-image-stream.o
CC guacenc-instructions.o
CC guacenc-instruction-blob.o
CC guacenc-instruction-cfill.o
CC guacenc-instruction-copy.o
CC guacenc-instruction-cursor.o
CC guacenc-instruction-dispose.o
CC guacenc-instruction-end.o
CC guacenc-instruction-img.o
CC guacenc-instruction-mouse.o
CC guacenc-instruction-move.o
CC guacenc-instruction-rect.o
CC guacenc-instruction-shade.o
CC guacenc-instruction-size.o
CC guacenc-instruction-sync.o
CC guacenc-instruction-transfer.o
CC guacenc-jpeg.o
CC guacenc-layer.o
CC guacenc-log.o
CC guacenc-parse.o
CC guacenc-png.o
CC guacenc-video.o
CC guacenc-webp.o
CCLD guacenc
make[2] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/guacenc »
Making all in src/guaclog
make[2] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/guaclog »
CC guaclog-guaclog.o
CC guaclog-instructions.o
CC guaclog-instruction-key.o
CC guaclog-interpret.o
CC guaclog-keydef.o
CC guaclog-log.o
CC guaclog-state.o
CCLD guaclog
make[2] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/guaclog »
make[2] : on entre dans le répertoire « /opt/guacamole-server-1.1.0 »
make[2] : on quitte le répertoire « /opt/guacamole-server-1.1.0 »
make[1] : on quitte le répertoire « /opt/guacamole-server-1.1.0 »
==== make install ====
[root@rlab guacamole-server-1.1.0]# make install
Making install in src/libguac
make[1] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/libguac »
Making install in .
make[2] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/libguac »
make[3] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/libguac »
/usr/bin/mkdir -p '/usr/local/lib'
/bin/sh ../../libtool --mode=install /usr/bin/install -c libguac.la '/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/libguac.so.17.0.0 /usr/local/lib/libguac.so.17.0.0
libtool: install: (cd /usr/local/lib && { ln -s -f libguac.so.17.0.0 libguac.so.17 || { rm -f libguac.so.17 && ln -s libguac.so.17.0.0 libguac.so.17; }; })
libtool: install: (cd /usr/local/lib && { ln -s -f libguac.so.17.0.0 libguac.so || { rm -f libguac.so && ln -s libguac.so.17.0.0 libguac.so; }; })
libtool: install: /usr/bin/install -c .libs/libguac.lai /usr/local/lib/libguac.la
libtool: install: /usr/bin/install -c .libs/libguac.a /usr/local/lib/libguac.a
libtool: install: chmod 644 /usr/local/lib/libguac.a
libtool: install: ranlib /usr/local/lib/libguac.a
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/sbin" ldconfig -n /usr/local/lib
----------------------------------------------------------------------
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.
----------------------------------------------------------------------
/usr/bin/mkdir -p '/usr/local/include/guacamole'
/usr/bin/install -c -m 644 guacamole/audio.h guacamole/audio-fntypes.h guacamole/audio-types.h guacamole/client-constants.h guacamole/client.h guacamole/client-fntypes.h guacamole/client-types.h guacamole/error.h guacamole/error-types.h guacamole/hash.h guacamole/layer.h guacamole/layer-types.h guacamole/object.h guacamole/object-types.h guacamole/parser-constants.h guacamole/parser.h guacamole/parser-types.h guacamole/plugin-constants.h guacamole/plugin.h guacamole/pool.h guacamole/pool-types.h guacamole/protocol.h guacamole/protocol-constants.h guacamole/protocol-types.h guacamole/socket-constants.h guacamole/socket.h guacamole/socket-fntypes.h guacamole/socket-types.h guacamole/stream.h guacamole/stream-types.h guacamole/string.h guacamole/timestamp.h guacamole/timestamp-types.h guacamole/unicode.h guacamole/user.h guacamole/user-constants.h guacamole/user-fntypes.h guacamole/user-types.h guacamole/socket-ssl.h '/usr/local/include/guacamole'
make[3] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/libguac »
make[2] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/libguac »
...
make[2] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/protocols/kubernetes »
/usr/bin/mkdir -p '/usr/local/lib'
/bin/sh ../../../libtool --mode=install /usr/bin/install -c libguac-client-kubernetes.la '/usr/local/lib'
libtool: warning: relinking 'libguac-client-kubernetes.la'
...
make[4] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/protocols/rdp »
/usr/bin/mkdir -p '/usr/local/lib'
/bin/sh ../../../libtool --mode=install /usr/bin/install -c libguac-client-rdp.la '/usr/local/lib'
libtool: warning: relinking 'libguac-client-rdp.la'
...
/usr/bin/mkdir -p '/usr/lib64/freerdp2'
/bin/sh ../../../libtool --mode=install /usr/bin/install -c libguac-common-svc-client.la libguacai-client.la '/usr/lib64/freerdp2'
libtool: warning: relinking 'libguac-common-svc-client.la'
libtool: install: (cd /opt/guacamole-server-1.1.0/src/protocols/rdp; /bin/sh "/opt/guacamole-server-1.1.0/libtool" --silent --tag CC --mode=relink gcc -Werror -Wall -Iinclude -I../../../src/libguac -I/usr/include/freerdp2/ -I/usr/include/winpr2 -g -O2 -module -avoid-version -shared -lfreerdp2 -lfreerdp-client2 -lwinpr2 -o libguac-common-svc-client.la -rpath /usr/lib64/freerdp2 plugins/guac-common-svc/libguac_common_svc_client_la-guac-common-svc.lo ../../../src/libguac/libguac.la )
libtool: install: /usr/bin/install -c .libs/libguac-common-svc-client.soT /usr/lib64/freerdp2/libguac-common-svc-client.so
libtool: install: /usr/bin/install -c .libs/libguac-common-svc-client.lai /usr/lib64/freerdp2/libguac-common-svc-client.la
libtool: warning: relinking 'libguacai-client.la'
libtool: install: (cd /opt/guacamole-server-1.1.0/src/protocols/rdp; /bin/sh "/opt/guacamole-server-1.1.0/libtool" --silent --tag CC --mode=relink gcc -Werror -Wall -Iinclude -I../../../src/common -I../../../src/common-ssh -I../../../src/libguac -I/usr/include/freerdp2/ -I/usr/include/winpr2 -g -O2 -module -avoid-version -shared -lpthread -lfreerdp2 -lfreerdp-client2 -lwinpr2 -o libguacai-client.la -rpath /usr/lib64/freerdp2 channels/audio-input/libguacai_client_la-audio-buffer.lo plugins/guacai/libguacai_client_la-guacai-messages.lo plugins/guacai/libguacai_client_la-guacai.lo plugins/libguacai_client_la-ptr-string.lo ../../../src/common/libguac_common.la ../../../src/libguac/libguac.la )
libtool: install: /usr/bin/install -c .libs/libguacai-client.soT /usr/lib64/freerdp2/libguacai-client.so
libtool: install: /usr/bin/install -c .libs/libguacai-client.lai /usr/lib64/freerdp2/libguacai-client.la
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/sbin" ldconfig -n /usr/lib64/freerdp2
----------------------------------------------------------------------
Libraries have been installed in:
/usr/lib64/freerdp2
...
make[2] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/protocols/ssh »
/usr/bin/mkdir -p '/usr/local/lib'
/bin/sh ../../../libtool --mode=install /usr/bin/install -c libguac-client-ssh.la '/usr/local/lib'
libtool: warning: relinking 'libguac-client-ssh.la'
...
make[2] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/protocols/vnc »
/usr/bin/mkdir -p '/usr/local/lib'
/bin/sh ../../../libtool --mode=install /usr/bin/install -c libguac-client-vnc.la '/usr/local/lib'
libtool: warning: relinking 'libguac-client-vnc.la'
...
/usr/bin/install -c -m 644 man/guacd.8 '/usr/local/share/man/man8'
make[2] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/guacd »
make[1] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/guacd »
Making install in src/guacenc
make[1] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/guacenc »
make[2] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/guacenc »
/usr/bin/mkdir -p '/usr/local/bin'
/bin/sh ../../libtool --mode=install /usr/bin/install -c guacenc '/usr/local/bin'
libtool: install: /usr/bin/install -c .libs/guacenc /usr/local/bin/guacenc
/usr/bin/mkdir -p '/usr/local/share/man/man1'
/usr/bin/install -c -m 644 man/guacenc.1 '/usr/local/share/man/man1'
make[2] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/guacenc »
make[1] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/guacenc »
Making install in src/guaclog
make[1] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/guaclog »
make[2] : on entre dans le répertoire « /opt/guacamole-server-1.1.0/src/guaclog »
/usr/bin/mkdir -p '/usr/local/bin'
/bin/sh ../../libtool --mode=install /usr/bin/install -c guaclog '/usr/local/bin'
libtool: install: /usr/bin/install -c .libs/guaclog /usr/local/bin/guaclog
/usr/bin/mkdir -p '/usr/local/share/man/man1'
/usr/bin/install -c -m 644 man/guaclog.1 '/usr/local/share/man/man1'
make[2] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/guaclog »
make[1] : on quitte le répertoire « /opt/guacamole-server-1.1.0/src/guaclog »
make[1] : on entre dans le répertoire « /opt/guacamole-server-1.1.0 »
make[2] : on entre dans le répertoire « /opt/guacamole-server-1.1.0 »
make[2]: rien à faire pour « install-exec-am ».
make[2]: rien à faire pour « install-data-am ».
make[2] : on quitte le répertoire « /opt/guacamole-server-1.1.0 »
make[1] : on quitte le répertoire « /opt/guacamole-server-1.1.0 »
[root@rlab guacamole-server-1.1.0]# ldconfig && cd ~
[root@rlab ~]#
==== webapp tomcat ====
recuperation de Guacamole Web Application (.war) a mettre dans l'aborescence tomcat
[root@rlab ~]# wget https://downloads.apache.org/guacamole/1.1.0/binary/guacamole-1.1.0.war
[root@rlab ~]# cp guacamole-1.1.0.war /opt/tomcat/webapps/
[root@rlab ~]# ls /opt/tomcat/webapps/
docs examples guacamole-1.1.0 guacamole-1.1.0.war host-manager manager ROOT
==== guacd ====
demarer (manuellement pour l'instant) le daemon guacd
[root@rlab ~]# /etc/init.d/guacd start
Starting guacd: guacd[27813]: INFO: Guacamole proxy daemon (guacd) version 1.1.0 started
SUCCESS
[root@rlab ~]# /etc/init.d/guacd status
guacd is running with PID=27815.
[root@rlab ~]# ps auwx |grep guacd
root 27815 0.0 0.6 85292 10028 ? S 14:36 0:00 /usr/local/sbin/guacd -p /var/run/guacd.pid
==== reverse-proxy ====
le support de proxy-ajp n'est pas compatible avec les websocket guacamole (force un retour a http) et apache 2.4.3 ne support pas la method HTTP PATCH ce qui rend inoperant l'interface de management de guacamole , on va donc utiliser le mod_proxy sous apache .
avant tout s'assurer de mettre URIEncoding="UTF-8" dans la configuration du serveur tomcat afin d'assurer le transit de noms d'application et/ou pearametre contenant des carateres non-latin, cyrilic etc ...
[root@rlab conf]# vim /opt/tomcat/conf/server.xml
=== remote IP ===
par defaut quand tomcat est derriere un proxy , il voit les requetes clientes venir de l'IP du proxy, in convient pour les logs et potentiels controles d'acces a base d'IP de transporter par le proxy le vrai IP source du client, cela se fait avec le header HTTP X-Forwarded-For en configurant le Valve RemoteIpValve dans server.xml
[root@rlab conf]# vim /opt/tomcat/conf/server.xml
=== apache proxy ===
les directives ProxyPass et ProxyPassReverse fournis par le mod_proxy assure le lien de proxy entre apache et tomcat
[root@rlab conf.d]# vim /etc/httpd/conf.d/ssl.conf
#https://guacamole.apache.org/doc/gug/proxying-guacamole.html
Order allow,deny
Allow from all
ProxyPass http://127.0.0.1:8080/guacamole-1.1.0/ flushpackets=on
ProxyPassReverse http://127.0.0.1:8080/guacamole-1.1.0/
ProxyPassReverseCookiePath /guacamole-1.1.0/ /guacamole/ #because location diffrences from apache to tomcat, cookies need to match
=== apache log ===
il est inutile de loger toutes les requetes http de courte durée du aux steams dans le http-tunnel (si pas de websockets)
[root@rlab conf.d]# vim /etc/httpd/conf.d/ssl.conf
SetEnvIf Request_URI "^/guacamole/tunnel" dontlog
CustomLog /var/log/httpd/guac.log common env=!dontlog
==== database ====
afin de permettre a plusieurs utilisateurs de se conencter et enregistrer des preferences il convient de definir une database
=== arborescence extension ===
la database ou autre modules d'authentification (ldap, cas ) sont fournit sous forme de module quil faut deployer dans une arborescence specifique que nous créons dans /usr/share/tomcat/.guacamole
[root@rlab etc]# mkdir -p /usr/share/tomcat/.guacamole/{extensions,lib}
=== modules ===
recuperation et deploiement des modules pour la database
[root@rlab ~]# wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.20-1.el8.noarch.rpm
[root@rlab ~]# yum install mysql-connector-java-8.0.20-1.el8.noarch.rpm
[root@rlab ~]# cp /usr/share/java/mysql-connector-java.jar /usr/share/tomcat/.guacamole/lib/
[root@rlab ~]# wget https://downloads.apache.org/guacamole/1.1.0/binary/guacamole-auth-jdbc-1.1.0.tar.gz
[root@rlab ~]# tar xvfz guacamole-auth-jdbc-1.1.0.tar.gz ^C
[root@rlab ~]# cp guacamole-auth-jdbc-1.1.0/mysql/guacamole-auth-jdbc-mysql-1.1.0.jar /usr/share/tomcat/.guacamole/extensions/
==== mariaDB ====
apres installation de mariadb-server , on va le securiser
[root@rlab ~]# systemctl start mariadb.service
[root@rlab ~]# mysql_secure_installation
Set root password? [Y/n] Y
New password:
Re-enter new password: Secret Pa U g... S.. ip5 d Da
Password updated successfully!
Reloading privilege tables..
... Success!
Remove anonymous users? [Y/n] y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
... Success!
Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reload privilege tables now? [Y/n] y
Thanks for using MariaDB!
[root@rlab ~]# mysql -u root -p
MariaDB [(none)]> CREATE DATABASE IF NOT EXISTS guacdb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.000 sec)
MariaDB [(none)]> GRANT SELECT,INSERT,UPDATE,DELETE ON guacdb.* TO 'guacuser'@'localhost' IDENTIFIED BY 'secretUg...G...d' WITH GRANT OPTION;
Query OK, 0 rows affected (0.000 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.000 sec)
MariaDB [(none)]> quit
creation des table et user :
[root@rlab ~]# cat /root/guacamole-auth-jdbc-1.1.0/mysql/schema/001-create-schema.sql | mysql -u root -p guacdb
[root@rlab ~]# cat /root/guacamole-auth-jdbc-1.1.0/mysql/schema/002-create-admin-user.sql | mysql -u root -p guacdb
=== configuration / properties ===
[root@rlab ~]# mkdir -p /etc/guacamole/ && vi /etc/guacamole/guacamole.properties
[root@rlab ~]# cat /etc/guacamole/guacamole.properties
# MySQL properties
mysql-hostname: localhost
mysql-port: 3306
mysql-database: guacdb
mysql-username: guacuser
mysql-password: secret
#Additional settings
mysql-default-max-connections-per-user: 0
mysql-default-max-group-connections-per-user: 0
=== permissions ===
[root@rlab ~]# chmod 0400 /etc/guacamole/guacamole.properties
[root@rlab ~]# chown tomcat:tomcat /etc/guacamole/guacamole.properties
[root@rlab ~]# ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole/
[root@rlab ~]# chown tomcat:tomcat /opt/tomcat/webapps/guacamole-1.1.0.war
==== GUACAMOLE_HOME ====
Tres imprtant pour la configurations des plugins/modules , il faut s'assurer que tomcat charge bien les paremtrages definit dans guacamole.properties. ceci se fait grace à la variable GUACAMOLE_HOME qui est fixé par defaut a /etc/guacamole/
comme ci-dessus nus avons definit les propriété dans /usr/share/tomcat/.guacamole/ avec un jeux de liens, et que le homedir du user tomcat dans mon installation est ici dans /opt/tomcat, il convient egalement de créé un lien depuis /opt/tomcat/.guacamole vers /usr/share/tomcat/.guacamole
cf https://guacamole.apache.org/doc/gug/configuring-guacamole.html Overriding GUACAMOLE_HOME => Creating a directory named .guacamole, within the home directory of the user running the servlet container. This directory will automatically be used for GUACAMOLE_HOME if it exists.
[root@rlab /opt/tomcat]# ln -s /usr/share/tomcat/.guacamole .guacamole
Apres redemarrage de tomcat , on peut enfin se connecter avec la compte guacadmin (cf fichier d'import sql : 002-create-admin-user.sql) et ainsi changer le password de cet administrateur
https://rlab.domain.top/guacamole/#/settings/preferences