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: 2018/03/06 08:59 (external edit)
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0