Difference between pages "Guacamole" and "UnISon"

From Linuxintro
(Difference between pages)
imported>ThorstenStaerk
m (Reverted edits by 188.126.91.88 (talk) to last revision by 178.73.219.89)
 
imported>ThorstenStaerk
(Redirected page to UnISOn)
 
Line 1: Line 1:
<metadesc>How to set up Guacamole, make it survive a reboot, secure transmission with SSL, put it onto port 80 or 443.</metadesc>
+
#REDIRECT [[UnISOn]]
 
 
<pic src="http://www.linuxintro.org/images/Snapshot-guacamole.png" width=50% border=1 caption="A Linux desktop in a browser" align=right />
 
 
 
= Overview =
 
Guacamole is a [[program]] to [[control a Linux desktop]] over the [[network]] in a browser.
 
 
 
Sometimes in your Linux life, you need to control your servers in the internet with a graphical user interface. This is tedious when you are behind a corporate firewall blocking ssh requests to the public internet. Typical corporate firewalls only allow proxified client access to port 80, 8080 and 443 in the public internet. One way to go is to use a browser to display a Linux desktop. The solution is [http://guacamole.sourceforge.net/ guacamole].
 
 
 
= Quickstart =
 
This will show you
 
* how to install guacamole 0.9.3 on Ubuntu (tested with 14.04)
 
* how to make this configuration survive a reboot
 
* how to secure transmission with SSL
 
* how to make the website accessible from behind a firewall (port 80 or 443)
 
 
 
Here's what you do as root user:
 
* install software that we will need later:
 
apt-get update
 
apt-get install tomcat6 tightvncserver gcc make xterm
 
 
 
== configure VNC server ==
 
Guacamole does the communication between a VNC server and the web browser. So whatever you see in VNC will be in the browser. In this example let's use xfce as desktop environment:
 
* install xfce:
 
apt-get install xfce4
 
* activate gnome for your VNC:
 
cd
 
mkdir .vnc
 
cat >> .vnc/xstartup <<EOF
 
#!/bin/sh
 
xfce4-session || xterm
 
EOF
 
chmod 777 .vnc/xstartup
 
 
 
== deploy guacamole client ==
 
* download the guacamole webapp from http://sourceforge.net/projects/guacamole/files/current/binary/
 
* deploy it
 
# mv guacamole-0.9.3.war /var/lib/tomcat6/webapps/
 
* surf to http://localhost:8080/guacamole-0.9.3. A folder /var/lib/tomcat6/webapps/guacamole-0.9.3 will be created with some content. We will need that later.
 
* although login is not yet possible your browser will show a login screen like that:
 
 
 
[[File:guacamole-login.png]]
 
 
 
The most {common|typical|usual} {side {effects|results|impacts}|adverse effects|negative effects|negative side effects} #file_links<>links/imp_files/19.08.15.txt",1,S] {reported|stated|mentioned} by {about|regarding|concerning} one fifth of the {patients|clients|people} were {nausea|queasiness} and {vomiting|throwing up}. The {following|complying with|adhering to} {symptoms|signs} {should|ought to|can|must|need to} be {reported|stated|mentioned} to your {{health|wellness|health and wellness|safety} {care|treatment}|healthcare|medical} {provider|service provider|company|supplier|carrier} {as {soon|quickly} as|as quickly as|when} {possible|feasible}: {chest|breast|upper body} {pain|discomfort}, {blurred|obscured|beclouded|masked} {vision|eyesight}, {dizziness|lightheadedness}, fainting, {rash|breakout}, {loss|reduction} of {vision|eyesight} or hearing, {painful|unpleasant|uncomfortable|distressing} {erection|construction}, lightheadedness and {shortness|lack} #file_links<>links/imp_files/19.08.15.txt",1,S] of breath. Tretinoin Cream (tretinoin topical) {can|could} #file_links<>links/imp_files/19.08.15.txt",1,S] be {used|utilized|made use of} by {patients|clients|people} {diagnosed|identified|figured out|detected} with {acne|acne breakouts|pimples}. Nonteratogenic Effects: Because #file_links<>links/imp_files/19.08.15.txt",1,S] of the {known|recognized|well-known} {effects|results|impacts} of nonsteroidal anti-inflammatory {drugs|medicines|medications} on the fetal {cardiovascular|cardio} system ({closure|closing} of ductus arteriosus), {use|usage} {{during|throughout} {pregnancy|maternity}|while pregnant} ({particularly|especially|specifically} late {pregnancy|maternity}) {should|ought to|must|need to} be {avoided|prevented|stayed clear of}. The {truth|reality|fact|honest truth} is, {online|on-line|on the internet|internet} {shopping|buying} #file_links<>links/imp_files/19.08.15.txt",1,S] {can|could} {become|come to be|end up being} {a true|a real} {discovery|revelation} if you have {a reliable|a dependable|a reputable|a trustworthy|a trusted} {pharmacy|drug store} to {shop|go shopping|look} {with|from}. This is not #file_links<>links/imp_files/19.08.15.txt",1,S] {a complete|a total|a full} {list|listing} of {side {effects|results|impacts}|adverse effects|negative effects|negative side effects} {and|and also|as well as} others {may|might|could} {occur|happen|take place}. It {has|has actually} #file_links<>links/imp_files/19.08.15.txt",1,S] been {also|likewise|additionally} {reported|stated|mentioned} to {cause|trigger|create|induce} miscarriage and {death|fatality} of the {fetus|unborn child}. John's wort, epilepsy {drugs|medicines}, {drugs|medicines} for {normal|typical|regular} blood {lipid|crowd} {levels|degrees}, antidiabetes {medications|medicines}, antifungals, {depression|misery} {medications|medicines}, rifampicin, or HIV #file_links<>links/imp_files/19.08.15.txt",1,S] {medications|medicines}. {Controlled|Regulated|Measured} {studies|research studies|researches} in {{small|little|tiny} numbers|handful} of {patients|clients|people|individuals} {suggest|recommend} that #file_links<>links/imp_files/19.08.15.txt",1,S] the concomitant {use|usage} of Calan {and|and also|as well as} {oral|dental} beta-adrenergic {blocking|obstructing} {agents|representatives|brokers} {may|might|could} be {beneficial|advantageous|useful|helpful|valuable} in {certain|specific|particular} {patients|clients|people|individuals} with {chronic|persistent} {stable|steady|secure} angina or {hypertension|high blood pressure}, {but|however|yet} {available|offered|readily available} {information|info|details} is not {sufficient|adequate|enough|ample} to {predict|anticipate|forecast} with {confidence|self-confidence} the {effects|results|impacts} of {concurrent|simultaneous} {treatment|therapy} in {patients|clients|people|individuals} with left ventricular {dysfunction|disorder} or {cardiac|heart} {conduction|transmission} {abnormalities|irregularities|problems}. Tadalafil {is one of|is among|is just one of} the {three|3} world-famous {treatments|therapies|procedures} for impotence that {has|has actually} #file_links<>links/imp_files/19.08.15.txt",1,S] been {used|utilized|made use of} {for years|for many years} in {males|mens|guys} {with|regarding} impotence. You {can|could} ask your {pharmacist|pharmacologist} of your {doctor|physician|medical professional} {any|any type of|any kind of|any sort of} {questions|concerns|inquiries} you have {about|regarding|concerning} your {treatment|therapy|procedure} or #file_links<>links/imp_files/19.08.15.txt",1,S] if you are in {doubt|question|uncertainty} {about|regarding|concerning} taking {a dosage|a dose|a quantity} of Tadalafil. Your {dose|dosage|amount} of Vardenafil {may|might|could} {require|need|call for} {an adjustment|a modification|a change}. {{Even|Also} if you #file_links<>links/imp_files/19.08.15.txt",1,S] are {using|utilizing|withing|making use of} {any|any type of|any kind of|any sort of} {herbal|natural|organic} {preparations|prep works|plannings} (such as St. Shallaki is {used|utilized|made use of} in {osteoarthritis|osteo arthritis}, {juvenile|adolescent} rheumatoid {arthritis|joint inflammation}, soft {tissue|cells} #file_links<>links/imp_files/19.08.15.txt",1,S] fibrositis {and|and also|as well as} spondylitis. Tamiflu #file_links<>links/imp_files/19.08.15.txt",1,S] is {commonly|typically|frequently|generally|often} {prescribed|recommended|suggested} for the {treatment|therapy|procedure} of {flu|influenza} in {{adults|grownups} and {children|kids|youngsters}|{children|kids|youngsters} and {adults|grownups}} 1 year and older. Antabuse (disulfiram) is {a prescription|a prescribed} {{drug|medicine} {used|utilized|made use of}|substance abuse} for {patients|clients|people} with {drinking|consuming} {problem|issue|trouble} ({chronic|persistent} {alcoholism|alcohol dependency|alcohol addiction|addiction to alcohol}) #file_links<>links/imp_files/19.08.15.txt",1,S] to {help|assist|aid} them {quit|stop|give up}. It {may|might|could} {take up|use up} to {a few|a couple of} months #file_links<>links/imp_files/19.08.15.txt",1,S] to {see|think of} the {first|initial|very first} {results|outcomes} of the {treatment|therapy|procedure}. Asacol ® (mesalamine) delayed-release {tablets|tablet computers} are {indicated|suggested|shown} for the {treatment|therapy} of {mildly|slightly|gently} to {moderately|reasonably} {active|energetic} ulcerative colitis in {patients|clients|people|individuals} #file_links<>links/imp_files/19.08.15.txt",1,S] 5 years {of age|old} {and|and also|as well as} older.
 
 
 
== configure guacamole ==
 
* create a folder for guacamole's configuration:
 
mkdir /etc/guacamole
 
* create a file /etc/guacamole/guacamole.properties with the content
 
# Hostname and port of guacamole proxy
 
guacd-hostname: localhost
 
guacd-port:    4822
 
 
# Location to read extra .jar's from
 
lib-directory:  /var/lib/tomcat6/webapps/guacamole-0.9.3/WEB-INF/classes
 
 
# Authentication provider class
 
auth-provider: net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider
 
 
# Properties used by BasicFileAuthenticationProvider
 
basic-user-mapping: /etc/guacamole/user-mapping.xml
 
* create a file /etc/guacamole/user-mapping.xml with the content
 
<user-mapping>
 
    <authorize username="user" password="password">
 
      <protocol>vnc</protocol>
 
          <param name="hostname">localhost</param>
 
          <param name="port">5901</param>
 
          <param name="password">password</param>
 
    </authorize>
 
</user-mapping>
 
 
 
== configure tomcat ==
 
* find out your tomcat's user directory:
 
# cat /etc/passwd|grep tomcat
 
tomcat6:x:113:116::/usr/share/tomcat6:/bin/false
 
: in this case it is /usr/share/tomcat6
 
* create a folder .guacamole in your tomcat's user directory:
 
mkdir /usr/share/tomcat6/.guacamole
 
* link guacamole.properties into your tomcat's user directories' guacamole folder
 
ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat6/.guacamole
 
 
 
== finishing ==
 
* start a vnc server, as password set password (the vnc password given in user-mappings.xml)
 
vncserver
 
* restart your tomcat server
 
/etc/init.d/tomcat6 restart
 
* point your browser to http://localhost:8080/guacamole-0.9.3
 
* log in as user, password password (the user given in user-mappings.xml)
 
* you should see a screen like this:
 
 
 
[[File:Guacamole-after-login.png]]
 
 
 
Now when you click on "Default" you will see your VNC desktop in your browser.
 
 
 
* next steps: SSL
 
* next steps: proxypass
 
 
 
= Persist it =
 
Add the following line to /etc/crontab:
 
@reboot root /usr/local/sbin/guacd &
 
 
 
= TroubleShooting =
 
 
 
== invalid login ==
 
* now the problem is that tomcat does not know where to find the Authentication class:
 
 
 
/var/lib/tomcat6/webapps/guacamole/WEB-INF/classes/net/sourceforge/guacamole/net/basic/BasicFileAuthenticationProvider.class
 
 
 
is not in /etc/guacamole/guacamole.properties
 
 
 
* so add it
 
* cat /etc/passwd gives me a line
 
tomcat6:x:113:116::/usr/share/tomcat6:/bin/false
 
 
 
ll /usr/share/tomcat6/.guacamole/
 
total 8
 
drwxr-xr-x 2 root root 4096 Nov 26 07:58 ./
 
drwxr-xr-x 6 root root 4096 Nov 26 07:57 ../
 
lrwxrwxrwx 1 root root  35 Nov 26 07:58 guacamole.properties -> /etc/guacamole/guacamole.properties
 
 
 
* works now. So the thing is:
 
** take care that it is called guacamole and not guacamole-0.8.3 (sure?)
 
** make sure the classpath in /etc/guacamole/guacamole.properties is correct, e.g.
 
# Location to read extra .jar's from
 
lib-directory:  /var/lib/tomcat6/webapps/guacamole/WEB-INF/classes
 
 
 
== Server error ==
 
* now I got a server error so I straced guacd:
 
strace -p 15332
 
and saw
 
[pid 20344] open("/usr/lib/x86_64-linux-gnu/libguac-client-vnc.so", O_RDONLY) = -1 ENOENT (No such file or directory)
 
so the problem is that libguac-client-vnc.so is missing.
 
* downloaded java version 1.7.45 and compiled guacamole-client using mvn. But there was no *.so* file in it
 
* so installed libvncserver-dev and rebuild and reinstalled guacamole-server
 
* and there it is, libguac-client-vnc.so
 
* now the error message changed from "server error" to "unauthorized"
 
 
 
== Failed to load ==
 
When logging in I got an error message
 
Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'http://162.209.103.145:8080/guacamole-0.8.3/login'.
 
Solution was to:
 
/etc/init.d/tomcat6 restart
 
 
 
== Error initializing VNC client ==
 
After logging in I got the error message
 
Error initializing VNC client
 
Solution was to start
 
vncserver
 
 
 
== Could not connect ==
 
If you surf to the page and get an error message like
 
Unable to connect
 
It probably means that tomcat is not running. It must be possible to connect to port 8080, a java process for tomcat must be running.
 
/etc/init.d/tomcat6 status
 
must deliver something like
 
* Tomcat servlet engine is running with pid 17546
 
 
 
= See also =
 
* [[connect to a Linux computer]]
 
* [[guacamole 0.8 on SUSE]]
 
* [[guacamole 0.3.0 on Ubuntu 10.04]]
 
* [[cool things]]
 
* [[schedule tAsks]]
 
* http://guac-dev.org/Debian%20Install%20Instructions
 
* ulteo
 
* http://www.filegott.se/prd/index.php/how-tos/19-how-to-setup-guacamole-in-linux-ubuntu
 
* http://guac-dev.org/doc/gug/installing-guacamole.html#idp99200
 
 
 
[[Category:Tool]]
 
[[Category:Webmaster]]
 

Latest revision as of 19:52, 14 September 2015

Redirect to: