recent
أخبار ساخنة

شرح تثبيت web-based Guacamole Remote Desktop Client على Ubuntu ... بالخطوات

الصفحة الرئيسية
شرح تثبيت web-based Guacamole Remote Desktop Client على Ubuntu ... بالخطوات

 

شرح تثبيت web-based Guacamole Remote Desktop Client على Ubuntu


Guacamole عبارة عن لوحة تحكم web-based remote desktop مجانية ومفتوحة المصدر (open-source)  تستخدم لإدارة أنظمة Linux و Windows من متصفح الويب.

يدعم البروتوكولات القياسية مثل VNC و RDP و SSH و Kubernetes 

لا تحتاج إلى تثبيت أي برنامج على جهاز الكمبيوتر العميل (client computer).

يدعم clipboard ونقل الملفات عبر SFTP ويسمح لك بإدارة جلسات سطح المكتب البعيد المتعددة.


In this tutorial, we will show you how to install and configure Guacamole remote desktop client on Ubuntu 20.04 server.

في هذا البرنامج التعليمي ، سنوضح لك كيفية تثبيت وتكوين عميل سطح المكتب البعيد Guacamole على خادم Ubuntu 20.04.


المتطلبات الأساسية

خادم يعمل بنظام Ubuntu 20.04.

ذاكرة وصول عشوائي (RAM) لا تقل عن 2 جيجابايت.

كلمة مرور الـ root للخادم.


قم بتحديث جميع حزم النظام باستخدام الأمر التالي:


apt-get update -y


أعد تشغيل النظام لتطبيق التغييرات.


تثبيت التبعيات المطلوبة


ستحتاج إلى تثبيت بعض التبعيات في الخادم الخاص بك.

يمكنك تثبيت كل منهم بالأمر التالي:


apt-get install make gcc g++ libcairo2-dev libjpeg-turbo8-dev libpng-dev libtool-bin libossp-uuid-dev libavcodec-dev libavutil-dev libswscale-dev freerdp2-dev libpango1.0-dev libssh2-1-dev libvncserver-dev libtelnet-dev libssl-dev libvorbis-dev libwebp-dev -y


تثبيت Tomcat Server


يقوم Guacamole باستخدام Tomcat لتقديم محتوى guacamole client للمستخدمين الذين يتصلون بخادم guacamole عبر متصفح الويب.

لذلك يجب تثبيت خادم Tomcat في الخادم الخاص بك.

يمكنك تثبيته باستخدام الأمر التالي:


apt-get install tomcat9 tomcat9-admin tomcat9-common tomcat9-user -y


ابدأ تشغيل خدمة Tomcat وقم بتمكينها من البدء عند إعادة تشغيل النظام باستخدام الأمر التالي:


systemctl start tomcat9

systemctl enable tomcat9


تحقق من حالة خدمة Tomcat باستخدام الأمر التالي:


systemctl status tomcat9


ستحصل على النتيجة التالية:


? tomcat9.service - Apache Tomcat 9 Web Application Server

     Loaded: loaded (/lib/systemd/system/tomcat9.service; enabled; vendor preset: enabled)

     Active: active (running) since Tue 2020-08-25 14:48:50 UTC; 29min ago

       Docs: https://tomcat.apache.org/tomcat-9.0-doc/index.html

    Process: 27982 ExecStartPre=/usr/libexec/tomcat9/tomcat-update-policy.sh (code=exited, status=0/SUCCESS)

   Main PID: 27990 (java)

      Tasks: 38 (limit: 4691)

     Memory: 241.5M

     CGroup: /system.slice/tomcat9.service

             ??27990 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/var/lib/tomcat9/conf/logging.properties -Djava.util.l>



تثبيت Guacamole


لا تتوفر حزمة Guacamole في Ubuntu 20.04.

قم بتحميل أحدث إصدار من Guacamole من موقع Apache باستخدام الأمر التالي:


wget https://downloads.apache.org/guacamole/1.1.0/source/guacamole-server-1.1.0.tar.gz


بمجرد اكتمال التحميل قم بفك الملف الذي تم تنزيله باستخدام الأمر التالي:


tar -xvzf guacamole-server-1.1.0.tar.gz


قم بتغيير المجلد إلى المجلد الذي تم فك ضغطه.

قم بتشغيل برنامج الاعداد النصي للتحقق مما إذا كانت أي تبعية مطلوبة مفقودة أم لا:


cd guacamole-server-1.1.0

./configure --with-init-dir=/etc/init.d


سترى النتيجة التالية:


     freerdp2 ............ yes

     pango ............... yes

     libavcodec .......... yes

     libavutil ........... yes

     libssh2 ............. yes

     libssl .............. yes

     libswscale .......... yes

     libtelnet ........... yes

     libVNCServer ........ yes

     libvorbis ........... yes

     libpulse ............ no

     libwebsockets ....... no

     libwebp ............. yes

     wsock32 ............. no

   Protocol support:

      Kubernetes .... no

      RDP ........... yes

      SSH ........... yes

      Telnet ........ yes

      VNC ........... yes

   Services / tools:

      guacd ...... yes

      guacenc .... yes

      guaclog .... yes

   FreeRDP plugins: /usr/lib/x86_64-linux-gnu/freerdp2

   Init scripts: /etc/init.d

   Systemd units: no

Type "make" to compile guacamole-server.


قم بتثبيت خادم Guacamole عن طريق تشغيل الأمر التالي:


make

make install


قم بتشغيل الأمر التالي لتحديث ذاكرة التخزين المؤقت للنظام الخاص بك للمكتبات المثبتة:


ldconfig


قم بتمكين وبدء خدمة Guacamole باستخدام الأمر التالي


systemctl enable guacd

systemctl start guacd


تحقق من حالة خدمة Guacamole باستخدام الأمر التالي:


systemctl status guacd


يجب أن تحصل على النتيجة التالية:


? guacd.service - LSB: Guacamole proxy daemon

     Loaded: loaded (/etc/init.d/guacd; generated)

     Active: active (running) since Tue 2020-08-25 12:02:26 UTC; 4s ago

       Docs: man:systemd-sysv-generator(8)

    Process: 27536 ExecStart=/etc/init.d/guacd start (code=exited, status=0/SUCCESS)

      Tasks: 1 (limit: 4691)

     Memory: 10.1M

     CGroup: /system.slice/guacd.service

             ??27555 /usr/local/sbin/guacd -p /var/run/guacd.pid

Aug 25 12:02:26 ubuntu2004 systemd[1]: Starting LSB: Guacamole proxy daemon...

Aug 25 12:02:26 ubuntu2004 guacd[27551]: Guacamole proxy daemon (guacd) version 1.1.0 started

Aug 25 12:02:26 ubuntu2004 guacd[27536]: Starting guacd:

Aug 25 12:02:26 ubuntu2004 guacd[27551]: Starting guacd:

Aug 25 12:02:26 ubuntu2004 guacd[27551]: uacd[27551]: INFO:        Guacamole proxy daemon (guacd) versio

Aug 25 12:02:26 ubuntu2004 systemd[1]: Started LSB: Guacamole proxy daemon.

Aug 25 12:02:26 ubuntu2004 guacd[27555]: Listening on host 127.0.0.1, port 4822

Aug 25 12:02:26 ubuntu2004 guacd[27536]: uacd[275


تثبيت Guacamole Client


ستحتاج إلى تثبيت Guacamole Client على خادمك.

سيشكل هذا تطبيق HTML5 النهائي.


قم بتحميل برنامج Guacamole binary باستخدام الأمر التالي:


wget https://mirrors.estointernet.in/apache/guacamole/1.1.0/binary/guacamole-1.1.0.war


انسخه إلى المجلد / etc / guacamole باستخدام الأمر التالي:


mkdir /etc/guacamole

mv guacamole-1.1.0.war /etc/guacamole/guacamole.war


أنشئ رابطًا رمزيًا (symbolic link) لـ guacamole client إلى المجلد Tomcat webapps باستخدام الأمر التالي:


ln -s /etc/guacamole/guacamole.war /var/lib/tomcat9/webapps/


أعد تشغيل خدمة Tomcat و Guacamole لنشر تطبيق الويب الجديد:


systemctl restart tomcat9

systemctl restart guacd



إعدادات Guacomole


بعد ذلك ، تحتاج إلى إعداد المستخدمين والـ (connections) حتى يعمل Guacamole بشكل صحيح.


قم بإنشاء ملف عداد رئيسي لـ Guacamole باسم guacamole.properties.


nano /etc/guacamole/guacamole.properties


أضف الأسطر التالية:


guacd-hostname: localhost

guacd-port:    4822

user-mapping:    /etc/guacamole/user-mapping.xml


احفظ وأغلق الملف عند الانتهاء.


بعد ذلك ، سوف تحتاج إلى إنشاء مجلدات لـ library وextension.

يمكنك إنشائها بالأمر التالي:


mkdir /etc/guacamole/{extensions,lib}


اضبط متغير guacamole home directory وأضفه إلى ملف الإعداد 


echo "GUACAMOLE_HOME=/etc/guacamole" >> /etc/default/tomcat9


ستحتاج إلى إنشاء ملف يسمى user-mapping.xml لتحديد المستخدم المسموح له بالوصول إلى واجهة مستخدم ويب Guacamole.


قم بإنشاء md5 hash لكلمة المرور باستخدام الأمر التالي:


echo -n yoursecurepassword | openssl md5


سترى النتيجة التالية:


(stdin)= 55b38b03e7587a45fd886977842ff9b8


تذكر كلمة مرور md5 أعلاه سوف تحتاج إلى تعريف هذا في ملف user-mapping.xml.


قم بإنشاء user-mapping.xml جديد باستخدام الأمر التالي:


nano /etc/guacamole/user-mapping.xml

<user-mapping>

    <authorize 

            username="admin"

            password="55b38b03e7587a45fd886977842ff9b8"

            encoding="md5">

        <connection name="Ubuntu20.04-Server">

            <protocol>ssh</protocol>

            <param name="hostname">192.168.10.50</param>

            <param name="port">22</param>

            <param name="username">root</param>

        </connection>

        <connection name="Windows Server">

            <protocol>rdp</protocol>

            <param name="hostname">192.168.10.51</param>

            <param name="port">3389</param>

        </connection>

    </authorize>

</user-mapping>


احفظ وأغلق الملف عند الانتهاء.


حيث:

192.168.10.50 هو عنوان IP لـ remote Ubuntu server.

192.168.10.51 هو عنوان IP لخادم Remote Windows .


أعد تشغيل خدمة Tomcat و Guacamole لتطبيق التغييرات:


systemctl restart tomcat9

systemctl restart guacd



الوصول إلى واجهة ويب Guacamole


الآن ، افتح متصفح الويب الخاص بك وقم بالوصول إلى واجهة ويب Guacamole باستخدام عنوان

 URL http: // your-server-ip: 8080 / guacamole.


 ستتم إعادة توجيهك إلى صفحة تسجيل الدخول إلى Guacamole:


أدخل اسم المستخدم وكلمة المرور اللذين حددتهما في ملف user-mapping.xml.

انقر على Login.

 يجب أن تشاهد لوحة Guacamole dashboard في الصفحة التالية:




انقر فوق Ubuntu20.04-Server لتوصيل الخادم البعيد باستخدام بروتوكول SSH. 

سترى شاشة تسجيل الدخول لخادم Ubuntu:




أدخل كلمة مرور الـ root لخادم Ubuntu واضغط على Enter.

سوف تقوم بتسجيل الدخول إلى خادم Ubuntu:




إعداد Nginx لـ Guacamole


يوصى بإعداد Nginx كوكيل عكسي (reverse proxy) للوصول إلى Guacamole عبر المنفذ 80.


قم بتثبيت خادم الويب Nginx:


apt-get install nginx -y


أنشئ ملف إعداد Nginx virtual host جديد:


nano /etc/nginx/sites-available/guacamole.conf


أضف الأسطر التالية:


server {

        listen 80;

        server_name your-server-ip;

        access_log  /var/log/nginx/guac_access.log;

        error_log  /var/log/nginx/guac_error.log;

        location / {

                    proxy_pass http://your-server-ip:8080/guacamole/;

                    proxy_buffering off;

                    proxy_http_version 1.1;

                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

                    proxy_set_header Upgrade $http_upgrade;

                    proxy_set_header Connection $http_connection;

                    proxy_cookie_path /guacamole/ /;

        }

}


احفظ وأغلق الملف.

قم بتمكين Nginx virtual host باستخدام الأمر التالي:


ln -s /etc/nginx/sites-available/guacamole.conf /etc/nginx/sites-enabled/


أعد تشغيل خدمة Nginx لتطبيق التغييرات:


systemctl restart nginx


الآن ، يمكنك الوصول إلى Guacamole الخاص بك باستخدام عنوان:

 URL http: // your-server-ip .


google-playkhamsatmostaqltradent