1.先依照github頁面步驟安裝projector
https://github.com/JetBrains/projector-installer#Installation
2.幫機器設定一個domain,並記得修改/etc/hostname
3.幫domain上letsencrypt憑證(不需要裝http server,因為我們需要的只是憑證而已),對外的80 port防火牆記得開。譬如OS是Ubuntu 20.04就照著選,伺服器選「None of the above」(cerbot已自帶http伺服器可自動認證)
https://certbot.eff.org/lets-encrypt/ubuntufocal-other
且certbot會產生systemd service及timer以後會自動更新憑證:
/etc/systemd/system/snap.cerbot.renew.service
/etc/systemd/system/snap.cerbot.renew.timer
4.安裝ide: projector install,再照著數字選擇你要安裝的ide跟版本,可以裝好幾個ide,所有ide安裝好後設定檔會放在 ~/.projector/configs/<config_name>
安裝時建議channel選tested,表示是有測試過能正常在projector運行的ide,否則裝非tested的有時會有些奇奇怪怪的問題。
5.設定ide:projector config edit,再照著數字選擇個別ide設定檔並設定(如ide要開在哪個port、要不要設token...等), 其中有一項會問你要不要設定ssl,選是的話會先使用jetbrains的自簽憑證。注意設定完port後也要記得開防火牆
6.幫projector裝上letsencrypt憑證,記住每裝一個ide就要重複一次上憑證的動作:
projector install-certificate <config_name> --certificate /etc/letsencrypt/live/your.domain.com.tw/cert.pem --key /etc/letsencrypt/live/your.domain.com.tw/privkey.pem
7.執行ide:projector run <config_name>
會出現連線的網址,如果有設定token,網址會帶token參數,把網址ip換成domain即可
8.可用(1)瀏覽器(2)projector client app (3)chrome的projector應用程式
等三種方式連線
9.若不想在server安裝projector, 也可以直接在本機的jetbrains ide裝projector plugin後成為本機伺服器,但每次有人從外部連線時需要點擊確認才能連線。
10.若多人共用同一台伺服器,建議修改 /et/clogin.defs 的umask值為 027,這樣使用者(ide)之後新建的檔案權限other(別人)就會是不可讀不可寫。
11.每次離開(exit)IDE, 那麼就等同於projector停止,需再project run <config_name>一次才能再啟動並連進ide,若要保持ide及projector運作,就不要在IDE點擊exit,或寫個 systemd 或用watchdog讓projector每次關閉後會再自動重啟。
沒有留言:
張貼留言