Differences

This shows you the differences between two versions of the page.

Link to this comparison view

guac_on_docker_on_arch [2015/06/29 12:35]
admin [Installation]
guac_on_docker_on_arch [2018/03/06 08:59]
Line 1: Line 1:
-====== Installing Guacamole on Docker on Arch Linux ====== 
-===== About ===== 
-[[http://guac-dev.org/|Guacamole]] is an HTML5 web application used to remotely access computers over RDP, VNC, SSH, and Telnet. The fastest and easiest way to deploy it is via Docker. This is a quick guide for installing Guacamole on Arch Linux. 
  
-A working Guacamole environment typically has three parts: 
-  * guacd - the component that connects to the remote protocols (RDP, SSH, etc) 
-  * guacamole - the java web application and user interface 
-  * a database used for storing users/roles and connection information 
-The database is not required but makes things a lot easier, and will be used here. 
- 
-===== Installation ===== 
-This guide assumes you have a stock Arch Linux installation, with the following packages: 
-<code>base base-devel syslinux openssh tmux open-vm-tools sudo wget htop docker</code> 
-You may not need all of these packages, but I like to have them in a base install. 
- 
-Add your user to the docker group: 
-<code># gpasswd -a user docker</code> 
- 
-Then either log out or run  
-<code>$ newgrp docker</code> 
-to make your session aware of the group. 
- 
-Deploy the guacd image: 
-<code>docker run --name guacd -d glyptodon/guacd</code> 
-Nothing else needs to be done with it. 
- 
-Deploy MySQL 5.7.7: 
-<code>docker run --name mysql -e MYSQL_ROOT_PASSWORD=<PASSWORD> -d mysql:5.7.7</code> 
-When it completes, copy and save the code produced at the bottom of the output. This is the container ID, and will look similar to this: 
-4c157241cc824ca0bd3584aa0c9f2dcc8ab40b4695f165e1bd3968ff26146834 
- 
-Create the tables needed by Guacamole and export them into a file to then be imported into the database: 
-<code>docker run --rm glyptodon/guacamole /opt/guacamole/bin/initdb.sh --mysql > initdb.sql</code> 
-This will download guacamole but not run it. 
- 
-Copy the above file into the MySQL container: 
-<code>cp initdb.sql /var/lib/docker/btrfs/subvolumes/<container ID>/root</code> 
- 
-Enter the MySQL container shell: 
-<code>docker exec -it mysql bash</code> 
- 
-Enter the MySQL shell: 
-<code>mysql -uroot</code> 
-You will be prompted for the password you created earlier. 
- 
-Create the Guacamole database: 
-<code>CREATE DATABASE guac_db;</code> 
- 
-Create the Guacamole user and its password: 
-<code>CREATE USER 'guac_user'@'%' IDENTIFIED BY 'password';</code> 
- 
-Give the Guacamole user proper permissions: 
-<code>GRANT SELECT,INSERT,UPDATE,DELETE ON guac_db.* TO 'guac_user'@'%';</code> 
- 
-Then finally: 
-<code>FLUSH PRIVILEGES;</code> 
- 
-And: 
-<code>quit</code> 
- 
-Import the database tables from earlier into the new database: 
-<code>cat /root/initdb.sql | mysql -uroot guac_db</code> 
-You'll be prompted for the MySQL password again. 
- 
-You're now done configuring the MySQL Container, and you can exit it. 
-<code>exit</code> 
- 
-Now run the Guacamole container that was downloaded earlier: 
-<code> 
-docker run --name guacamole --link guacd:guacd --link mysql:mysql \ 
--e MYSQL_DATABASE=guac_db \ 
--e MYSQL_USER=guac_user \ 
--e MYSQL_PASSWORD=<GUAC_PASSWORD> \ 
--d -p 8080:8080 glyptodon/guacamole 
-</code> 
- 
-Once it's all up and running, open up <nowiki>http://<machine>:8080/guacamole</nowiki> in a web browser. You should be greeted with a login screen. Use guacadmin for the username and password. 
guac_on_docker_on_arch.txt ยท Last modified: 2020/02/21 12:04 (external edit)
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0