Benutzer-Werkzeuge

Webseiten-Werkzeuge


linux:apacheguacamole

Installation Apache Guacamole

mkdir guacamole
cd guacamole
wget https://dlcdn.apache.org/guacamole/1.5.0/source/guacamole-server-1.5.0.tar.gz

tar -xvzf guacamole-server-1.5.0.tar.gz

cd guacamole-server-1.5.0
apt install build-essential -y

apt install -y libcairo2-dev libjpeg62-turbo-dev libpng-dev libjpeg-dev libtool-bin uuid-dev libossp-uuid-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev freerdp2-dev libpango1.0-dev libssh2-1-dev libtelnet-dev libvncserver-dev libpulse-dev libssl-dev libvorbis-dev libwebp-dev libwebsockets-dev

./configure
./configure --with-init-dir=/etc/init.d
make
make install
ldconfig
systemctl daemon-reload
systemctl status guacd
systemctl start guacd
systemctl enable guacd
nano /etc/hosts
>>remove IPv6 line<<
apt install default-jdk -y 
groupadd --system tomcat
useradd -d /usr/share/tomcat -r -s /bin/false -g tomcat tomcat
mkdir /usr/share/tomcat
cd /root/guacamole
mkdir /root/gucamole/tomcat
cd /root/guacamole/tomcat
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.72/bin/apache-tomcat-9.0.72.tar.gz
export VER="9.0.72"
tar -xvf apache-tomcat-${VER}.tar.gz
mv apache-tomcat-${VER}/* /usr/share/tomcat
chown -R tomcat:tomcat /usr/share/tomcat/
nano /etc/systemd/system/tomcat.service
[Unit]
Description=Tomcat Server
After=syslog.target network.target

[Service]
Type=forking
User=tomcat
Group=tomcat

Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
Environment='JAVA_OPTS=-Djava.awt.headless=true'
Environment=CATALINA_HOME=/usr/share/tomcat
Environment=CATALINA_BASE=/usr/share/tomcat
Environment=CATALINA_PID=/usr/share/tomcat/temp/tomcat.pid
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M'
ExecStart=/usr/share/tomcat/bin/catalina.sh start
ExecStop=/usr/share/tomcat/bin/catalina.sh stop

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now tomcat
systemctl status tomcat
cd /usr/share/tomcat/conf
nano conf/server.xml
<Connector port="8080" protocol="HTTP/1.1" 
         connectionTimeout="20000"
         URIEncoding="UTF-8"
         redirectPort="8443" />
cd /usr/share/tomcat/conf
nano server.xml
<Valve className="org.apache.catalina.valves.RemoteIpValve"
             internalProxies="8.8.8.8"
             remoteIpHeader="x-forwarded-for"
             remoteIpProxiesHeader="x-forwarded-by"
             protocolHeader="x-forwarded-proto" />
             
systemctl restart tomcat
mkdir /etc/guacamole
cd /etc/guacamole
wget https://dlcdn.apache.org/guacamole/1.5.0/binary/guacamole-1.5.0.war
mv guacamole-1.5.0.war /etc/guacamole/guacamole.war
ln -s /etc/guacamole/guacamole.war /usr/share/tomcat/webapps/
echo "GUACAMOLE_HOME=/etc/guacamole" | tee -a /etc/default/tomcat

nano /etc/guacamole/guacamole.properties
guacd-hostname: localhost
guacd-port:    4822
user-mapping:  /etc/guacamole/user-mapping.xml
auth-provider:  net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider
ln -s /etc/guacamole /usr/share/tomcat/.guacamole
printf '%s' Passw0rd | md5sum
d41e98d1eafa6d6011d3a70f1a5b92f0  
nano /etc/guacamole/user-mapping.xml
<user-mapping>
      
  <!-- Per-user authentication and config information -->

  <!-- A user using md5 to hash the password
       guacadmin user and its md5 hashed password below is used to 
           login to Guacamole Web UI-->
  <authorize 
          username="admin"
          password="d41e98d1eafa6d6011d3a70f1a5b92f0"
          encoding="md5">

      <!-- First authorized Remote connection -->
      <connection name="Server SSH">
          <protocol>ssh</protocol>
          <param name="hostname">192.168.205.11</param>
          <param name="username">Need Username Line Only</param>
          <param name="port">22</param>
      </connection>

      <!-- Second authorized remote connection -->
      <connection name="Windows 10 RDP">
          <protocol>rdp</protocol>
          <param name="hostname">SomeIP HERE</param>
          <param name="port">3389</param>
          <param name="username">Need User</param>
			<param name="password">Need This Line</param>
          <param name="ignore-cert">true</param>
			<param name="security">any</param>
      </connection>

  </authorize>

</user-mapping>
http://yourserverip:8080/guacamole/
apt install mariadb-server -y
systemctl enable mariadb
systemctl status mariadb
systemctl start mariadb

mysql -u root -p

create database guacdb23;
create user gcadmin_23@localhost identified by 'D0notUseThis';
grant SELECT,UPDATE,INSERT,DELETE on guacdb23.* to gcadmin_23@localhost;
flush privileges;
show databases;
quit
wget https://dlcdn.apache.org/guacamole/1.5.0/binary/guacamole-auth-jdbc-1.5.0.tar.gz
mkdir /etc/guacamole/extensions
mkdir /etc/guacamole/lib

VER=1.5.0

tar xzf guacamole-auth-jdbc-${VER}.tar.gz guacamole-auth-jdbc-${VER}/mysql
cp guacamole-auth-jdbc-${VER}/mysql/guacamole-auth-jdbc-mysql-${VER}.jar /etc/guacamole/extensions/
mysql -u root -p guacdb23 < guacamole-auth-jdbc-${VER}/mysql/schema/001-create-schema.sql
mysql -u root -p guacdb23 < guacamole-auth-jdbc-${VER}/mysql/schema/002-create-admin-user.sql
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-j-8.0.31.tar.gz
tar xzvf mysql-connector-j-8.0.31.tar.gz
cp mysql-connector-j-8.0.31/mysql-connector-j-8.0.31.jar /etc/guacamole/lib
nano /etc/guacamole/guacamole.properties
mysql-hostname: localhost
mysql-database: guacdb23
mysql-username: gcadmin_23
mysql-password: D0notUseThis
systemctl restart tomcat guacd mariadb
Browse to your Guacamole instance and login  http://yoursite:8080/guacamole/
username : guacadmin
password: guacadmin
linux/apacheguacamole.txt · Zuletzt geändert: 2023/04/12 22:34 von Joseph Mertens