Cách thiết lập Nền tảng Eclipse Theia Cloud IDE trên Ubuntu 18.04 [Khởi động nhanh]
Eclipse Theia là một IDE cloud có thể mở rộng chạy trên server từ xa và có thể truy cập được từ trình duyệt web. Về mặt trực quan, nó được thiết kế để trông và hoạt động tương tự như Microsoft Visual Studio Code . Điều tách biệt Eclipse Theia với phần mềm IDE cloud khác là khả năng mở rộng của nó; nó có thể được sửa đổi bằng cách sử dụng các tiện ích mở rộng tùy chỉnh, cho phép bạn tạo IDE cloud phù hợp với nhu cầu của bạn .Trong hướng dẫn này, bạn sẽ triển khai Eclipse Theia tới server Ubuntu 18.04 của bạn bằng Docker Compose. Bạn sẽ hiển thị nó tại domain của bạn bằng cách sử dụng nginx-proxy và bảo mật nó bằng chứng chỉ Let's Encrypt TLS , chứng chỉ mà bạn sẽ cung cấp bằng một tiện ích bổ sung . Để có version chi tiết hơn của hướng dẫn này, vui lòng tham khảo Cách cài đặt Nền tảng Eclipse Theia Cloud IDE trên Ubuntu 18.04 .
Yêu cầu
- Server Ubuntu 18.04 có quyền root và account phụ, không phải account root, làm theo Hướng dẫn cài đặt server ban đầu cho Ubuntu 18.04 .
- Docker được cài đặt trên server của bạn, hãy làm theo Bước 1 và Bước 2 của Cách cài đặt Docker trên Ubuntu 18.04 .
- Docker Compose được cài đặt trên server của bạn, hãy làm theo Bước 1 của Cách cài đặt Docker Compose trên Ubuntu 18.04 .
- Tên domain đã đăng ký đầy đủ. Hướng dẫn này sẽ sử dụng
theia.your-domain
trong suốt. - Một bản ghi DNS với
theia.your-domain
trỏ đến địa chỉ IP công cộng của server của bạn. Bạn có thể theo dõi phần giới thiệu này về DigitalOcean DNS để biết chi tiết về cách thêm chúng.
Bước 1 - Triển khai nginx-proxy với Let's Encrypt
Tạo folder để lưu trữ tất cả dữ liệu cho Eclipse Theia:
- mkdir ~/eclipse-theia
Điều hướng đến nó:
- cd ~/eclipse-theia
Tạo nginx-proxy-compose.yaml
để lưu trữ cấu hình Docker Compose cho nginx-proxy
:
- nano nginx-proxy-compose.yaml
Thêm các dòng sau:
version: '2' services: nginx-proxy: restart: always image: jwilder/nginx-proxy ports: - "80:80" - "443:443" volumes: - "/etc/nginx/htpasswd:/etc/nginx/htpasswd" - "/etc/nginx/vhost.d" - "/usr/share/nginx/html" - "/var/run/docker.sock:/tmp/docker.sock:ro" - "/etc/nginx/certs" letsencrypt-nginx-proxy-companion: restart: always image: jrcs/letsencrypt-nginx-proxy-companion volumes: - "/var/run/docker.sock:/var/run/docker.sock:ro" volumes_from: - "nginx-proxy"
Ở đây, bạn đang xác định hai dịch vụ mà Docker Compose sẽ chạy, nginx-proxy
và đồng hành Let's Encrypt của nó. Đối với proxy, bạn chỉ định jwilder/nginx-proxy
làm hình ảnh, ánh xạ các cổng HTTP và HTTPS và xác định các dung lượng sẽ có thể truy cập được trong thời gian chạy.
Lưu và đóng file .
Triển khai cấu hình:
- docker-compose -f nginx-proxy-compose.yaml up -d
Kết quả cuối cùng sẽ như thế này:
OutputCreating network "eclipse-theia_default" with the default driver Pulling nginx-proxy (jwilder/nginx-proxy:)... latest: Pulling from jwilder/nginx-proxy 8d691f585fa8: Pull complete 5b07f4e08ad0: Pull complete ... Digest: sha256:dfc0666b9747a6fc851f5fb9b03e65e957b34c95d9635b4b5d1d6b01104bde28 Status: Downloaded newer image for jwilder/nginx-proxy:latest Pulling letsencrypt-nginx-proxy-companion (jrcs/letsencrypt-nginx-proxy-companion:)... latest: Pulling from jrcs/letsencrypt-nginx-proxy-companion 89d9c30c1d48: Pull complete 668840c175f8: Pull complete ... Digest: sha256:a8d369d84079a923fdec8ce2f85827917a15022b0dae9be73e6a0db03be95b5a Status: Downloaded newer image for jrcs/letsencrypt-nginx-proxy-companion:latest Creating eclipse-theia_nginx-proxy_1 ... done Creating eclipse-theia_letsencrypt-nginx-proxy-companion_1 ... done
Bước 2 - Triển khai Dockerized Eclipse Theia
nginx-proxy
cầu các tổ hợp đăng nhập nằm trong một file được đặt tên theo domain được tiếp xúc, ở định dạng htpasswd
và được lưu trữ trong folder /etc/nginx/htpasswd
trong containers .
Cài đặt htpasswd
:
- sudo apt install apache2-utils
Gói apache2-utils
chứa tiện ích htpasswd
.
Tạo folder /etc/nginx/htpasswd
:
- sudo mkdir -p /etc/nginx/htpasswd
Tạo một file để lưu trữ thông tin đăng nhập cho domain của bạn:
- sudo touch /etc/nginx/htpasswd/theia.your-domain
Chạy lệnh sau với tổ hợp tên user và password :
- sudo htpasswd /etc/nginx/htpasswd/theia.your-domain username
htpasswd
sẽ thêm cặp tên user và password băm vào cuối file .
Tạo cấu hình để triển khai Eclipse Theia:
- nano eclipse-theia-compose.yaml
Thêm các dòng sau:
version: '2.2' services: eclipse-theia: restart: always image: theiaide/theia:next init: true environment: - VIRTUAL_HOST=theia.your-domain - LETSENCRYPT_HOST=theia.your-domain
Bạn xác định một dịch vụ duy nhất được gọi là eclipse-theia
với restart
được đặt thành always
và theiaide/theia:next
là containers images . Bạn cũng đặt init
thành true
. Sau đó, bạn chỉ định hai biến môi trường trong phần environment
: VIRTUAL_HOST
và LETSENCRYPT_HOST
.
Lưu và đóng file .
Bây giờ triển khai Eclipse Theia bằng lệnh:
- docker-compose -f eclipse-theia-compose.yaml up -d
Kết quả cuối cùng sẽ giống như sau:
Output... Pulling eclipse-theia (theiaide/theia:next)... next: Pulling from theiaide/theia 63bc94deeb28: Pull complete 100db3e2539d: Pull complete ... Digest: sha256:c36dff04e250f1ac52d13f6d6e15ab3e9b8cad9ad68aba0208312e0788ecb109 Status: Downloaded newer image for theiaide/theia:next Creating eclipse-theia_eclipse-theia_1 ... done
Điều hướng đến domain bạn đang sử dụng cho Eclipse Theia. Trình duyệt của bạn sẽ hiển thị cho bạn dấu nhắc yêu cầu bạn đăng nhập. Bạn sẽ vào Eclipse Theia và xem GUI trình soạn thảo của nó. Bạn cũng sẽ thấy một ổ khóa cho biết rằng kết nối được bảo mật.
Kết luận
Đến đây bạn có Eclipse Theia, một IDE cloud đa năng, được cài đặt trên server Ubuntu 18.04 của bạn bằng Docker Compose và nginx-proxy
. Bạn đã bảo mật nó bằng certificate Let's Encrypt TLS miễn phí và cài đặt version để yêu cầu thông tin đăng nhập từ user . Bạn có thể làm việc trên mã nguồn và tài liệu của bạn với nó riêng lẻ hoặc cộng tác với group của bạn. Bạn cũng có thể thử xây dựng version Eclipse Theia của riêng mình nếu bạn cần thêm chức năng. Để biết thêm thông tin về cách thực hiện điều đó, hãy truy cập tài liệu Theia .
Các tin liên quan
Cách sử dụng Cron để tự động hóa công việc trên Ubuntu 18.042020-01-31
Cách cài đặt và sử dụng Radamsa để Fuzz kiểm tra các chương trình và dịch vụ mạng trên Ubuntu 18.04
2020-01-30
Cách cài đặt Tinc và thiết lập VPN cơ bản trên Ubuntu 18.04
2020-01-21
Cách thiết lập Nền tảng Eclipse Theia Cloud IDE trên Ubuntu 18.04
2020-01-06
Cách sử dụng Ansible để cài đặt và thiết lập WordPress với LAMP trên Ubuntu 18.04
2019-12-31
Cách cài đặt WordPress với OpenLiteSpeed trên Ubuntu 18.04
2019-12-18
Cách sử dụng Ansible để cài đặt và thiết lập LAMP trên Ubuntu 18.04
2019-12-17
Cách sử dụng Ansible để cài đặt và thiết lập LEMP trên Ubuntu 18.04
2019-12-05
Cách cài đặt và sử dụng TimescaleDB trên Ubuntu 18.04
2019-12-04
Cách lấy chứng chỉ Let's Encrypt bằng Ansible trên Ubuntu 18.04
2019-11-14