아직 까지 Pluto v0.19.27에서도 Jupyter notebook 처럼 원격접속시 password기반이나 다른방식의 로그인을 지원 하지 않고 있어 접속시 보안이슈가 있다
이를 해결하기 위한 현재 Pluto는 시작시 원격접속용 보안 접속URL을 생성하여 콘솔에 보여준다. 이 URL을 통해 접속 할 수 있다.
Pluto를 백그라운드로 실행 하고 보안 URL을 파일로 저장하도록 redirect하는 경우도 Pluto에서 로그를 buffering하고 있어 즉시 console에 출력되지 않아 접속 URL을 볼 수 없다.
tee 명령을 같이 사용하여 파일에도 출력하고 화면에도 출력 하는 방법을 있다.
이렇게 하는 이유는 pluto가 실행되면서 보안 URL을 생성 해주기 때문에 이 URL을 잊어 버리는 경우 실행로그가 저장된 파일에서 조회 할 수 있기 때문이다.
추가적으로 Pluto notebook 파일을 저장하는 기본 폴더 위치는 ~/.julia/pluto_notebooks
인데 이 위치는 자신이 원하는 폴더로 변경 하는 방법은 아래와 같다.
0) Pluto notebook 저장 위치 변경
# console 환경변수에 설정 하는 방법
export JULIA_PLUTO_NEW_NOTEBOOKS_DIR="your pluto notebook folder to save"
# Julia program에서 환경변수 설정
ENV["JULIA_PLUTO_NEW_NOTEBOOKS_DIR"] = "your pluto notebook folder to save"
1) 먼저 pluto.jl 파일에 pluto 실행 코드를 작성
# pluto.jl
using Pluto
# pluto notebook 저장 folder 지정
ENV["JULIA_PLUTO_NEW_NOTEBOOKS_DIR"] = "your pluto notebook folder to save"
# 보안 URL 생성 및 보안 URL을 통해서만 접속 가능하도록 Pluto 실행
Pluto.run(host="0.0.0.0",port=7766,launch_browser=false,require_secret_for_open_links=true,require_secret_for_access=true,workspace_use_distributed=false,run_notebook_on_load=false)
# 보안없이 바로 pluto에 접속 하도록 Pluto 실행
#Pluto.run(host="0.0.0.0",port=7766,launch_browser=false,require_secret_for_open_links=false,require_secret_for_access=false,workspace_use_distributed=false,run_notebook_on_load=false)
2) 아래에 nohup과 tee를 사용하여 pluto를 백그라운드 실행하고 접속 URL을 화면과 파일에 기록 하도록 한다.
$ nohup julia --pkgimages=yes --project=/your_project_path pluto.jl 2>&1 | tee pluto.log &
3) test : 현재 접속중인 터미널 종료 후 재접속 그리고 해당 프로젝트 폴더로 이동 또는 pluto.log 파일이 있는 곳을 path로 지정 하여
$ tail -f /logfile_path/pluto.log
[ Info: Loading...
┌ Info:
└ Go to http://0.0.0.0:7766/?secret=5Xy1X5TI in your browser to start writing ~ have fun!
┌ Info:
│ Press Ctrl+C in this terminal to stop Pluto
└
┌ Info: No longer authenticated? Visit this URL to continue:
└ url = http://pluto.xyz.net:7766/?secret=5Xy1X5TI
pluto server 도메인이 pluto.xyz.net 이고 7766 포트로 서비스 된다면 “http://pluto.xyz.net:7766” 으로 접속시 보안URL로 접속한 이력이 없는 경우 위의 로그 맨 아래 처럼 보인다.
브라우즈에서 “http://pluto.xyz.net:7766/?secret=5Xy1X5TI”로 접속후 브라우즈만 끄지 않는다면 이 후에는 “http://pluto.xyz.net:7766” 로만 접속도 가능하다.