# Apache Guacamole Install with Podman > Web UI를 통해 RDP, VNC, SSH 등 원격 접속을 할 수 있고 사용자별 권한 관리 등이 가능한 유틸
Podman을 통해 contaienr로 설치하는 과정
수정된 이미지를 사용하고자 할 경우 hypermole.tar를 다운로드 받아 load 하여 사용
logo와 이름을 커스텀하여 사용하고자 할 경우 Dockerfile과 guacamole.war를 받아서 사용 ## Guacamole 컨테이너들이 사용할 네트워크 생성 (옵션) ``` podman network create guaca ``` - 기존에 생성한 네트워크가 있을 경우 사용해도 무방, 컨테이너간 통신시 컨테이너 명으로 하기 위함 ## postgres 설치 ``` podman run -v /root/podmandir/postgres:/var/lib/postgresql/data --network guaca --name guaca-db -e POSTGRES_PASSWORD=ios2011a -e PGDATA=/var/lib/postgresql/data/pgdata -e POSTGRES_HOST_AUTH_METHOD=md5 -d postgres:14 ``` - guacamole가 사용할 DB로 mysql 혹은 postgres 생성 - postgres:14를 사용할 경우 POSTGRES_HOST_AUTH_METHOD=md5 옵션 설정 ``` podman exec -it guaca-db bash vi /var/lib/postgresql/data/pgdata/postgresql.conf ``` - 패스워드 암호화 방식 변경 필요 ``` password_encryption = scram-sha-256 ``` - 해당 부분의 주석을 해제하고 scram-sha-256 -> md5 로 변경 - 저장 후 postgres 컨테이너 재기동 ``` podman run --rm guacamole/guacamole:1.4.0 /opt/guacamole/bin/initdb.sh --postgres > initdb.sql ``` - guacamole에서 사용할 db 설정을 위한 sql 파일 생성 ``` podman exec -it guaca-db bash ``` - postgres 컨테이너 접속 ``` psql -U postgres alter role postgres password 'ios2011a'; create database guacamole_db; create user guacamole_user password 'ios2011a' superuser createdb createrole; psql -U guacamole_user -d guacamole_db -a -f initdb.sql ``` - guacamole에서 사용할 사용자와 db 생성 - 위에서 생성한 sql 파일을 사전에 미리 컨테이너 내부로 옮겨두고 실행 ## Auacd 설치 ``` podman run --network guaca --name guacd -d guacamole/guacd:1.4.0 ``` - 원격 접속 역할을 수행하는 guacd container 생성 ## guacamole 설치 ``` podman run --network guaca --name hypermole \ -e WEBAPP_CONTEXT=ROOT \ -e GUACD_HOSTNAME=guacd \ -e GUACD_PORT=4822 \ -e POSTGRES_HOSTNAME=guaca-db \ -e POSTGRES_PORT=5432 \ -e POSTGRES_DATABASE=guacamole_db \ -e POSTGRES_USER=guacamole_user \ -e POSTGRES_PASSWORD=ios2011a \ -d -p 7900:8080 localhost/hypermole:0.1 ``` - 해당 커맨드는 tmaxcloud platform ps팀에서 사용하기 위해 작성자가 수정한 이미지 - 순수 guacamole 같은 경우 guacamole/guacamole:1.4.0 을 사용