installation faite en centos 8 et tomcat 9 (tar.gz dans /opt/tomcat)
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
[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
[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
[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.
[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 »
[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 ~]#
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
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
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 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" />
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 <!-- https://guacamole.apache.org/doc/gug/proxying-guacamole.html Configuring Tomcat to pass through the remote IP address provided by the reverse proxy in the X-Forwarded-For header requires the configuration of what Tomcat calls a Valve. In this case, it is the RemoteIpValve and is configured in the conf/server.xml file, in the <Host> section --> <Valve className="org.apache.catalina.valves.RemoteIpValve" internalProxies="127.0.0.1" remoteIpHeader="x-forwarded-for" remoteIpProxiesHeader="x-forwarded-by" protocolHeader="x-forwarded-proto" /> </Host>
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 <Location /guacamole/> 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 </Location>
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 <VirtualHost _default_:443> SetEnvIf Request_URI "^/guacamole/tunnel" dontlog CustomLog /var/log/httpd/guac.log common env=!dontlog
afin de permettre a plusieurs utilisateurs de se conencter et enregistrer des preferences il convient de definir une database
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}
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/
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
[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
[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
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