Cách thiết lập Nền tảng Eclipse Theia Cloud IDE trên Ubuntu 18.04
Với các công cụ dành cho nhà phát triển chuyển sang cloud , việc áp dụng các nền tảng IDE (Môi trường phát triển tích hợp) của cloud đang ngày càng phát triển. Cloud IDE có thể truy cập được từ mọi loại thiết bị hiện đại thông qua trình duyệt web và chúng mang lại nhiều lợi thế cho các tình huống cộng tác thời gian thực. Làm việc trong IDE cloud cung cấp môi trường phát triển và thử nghiệm thống nhất cho bạn và group của bạn, đồng thời giảm thiểu sự không tương thích của nền tảng. Có thể truy cập thông qua trình duyệt web, IDE cloud có sẵn từ mọi loại thiết bị hiện đại.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 , nghĩa là nó hỗ trợ nhiều ngôn ngữ lập trình, có bố cục linh hoạt và có một terminal tích hợp. Đ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 đến server Ubuntu 18.04 của bạn bằng Docker Compose, một công cụ điều phối containers . Bạn sẽ hiển thị nó tại domain của bạn bằng cách sử dụng nginx-proxy , một hệ thống tự động dành cho Docker giúp đơn giản hóa quá trình cấu hình Nginx để phục vụ như một Reverse Proxy cho containers . Bạn cũng sẽ bảo mật nó bằng chứng chỉ Let's Encrypt TLS miễn phí mà bạn sẽ cung cấp bằng cách sử dụng tiện ích bổ sung chuyên biệt của nó. Cuối cùng, bạn sẽ có Eclipse Theia chạy trên server Ubuntu 18.04 của bạn có sẵn thông qua HTTPS và yêu cầu user đăng nhập.
Yêu cầu
- Server Ubuntu 18.04 có quyền root và account phụ, không phải root. Bạn có thể cài đặt điều này theo Hướng dẫn Cài đặt Server Ban đầu cho Ubuntu 18.04 của ta . Đối với hướng dẫn này, user không phải root là
sammy
. - Docker được cài đặt trên server của bạn. Làm theo Bước 1 và Bước 2 của Cách cài đặt Docker trên Ubuntu 18.04 . Để biết phần giới thiệu về Docker, hãy xem Hệ sinh thái Docker: Giới thiệu về các thành phần chung .
- Docker Compose được cài đặt trên server của bạn. 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
xuyên suốt. Bạn có thể mua domain trên Namecheap , nhận một domain miễn phí trên Freenom hoặc sử dụng công ty đăng ký domain mà bạn chọn. - 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
Trong phần này, bạn sẽ triển khai nginx-proxy
và tiện ích bổ sung Let's Encrypt của nó bằng cách sử dụng Docker Compose. Điều này sẽ cho phép cấp phép và gia hạn certificate TLS tự động, để khi bạn triển khai Eclipse Theia, nó sẽ có thể truy cập được tại domain của bạn thông qua HTTPS.
Theo mục đích của hướng dẫn này, bạn sẽ lưu trữ tất cả các file trong ~/eclipse-theia
. Tạo folder bằng cách chạy lệnh sau:
- mkdir ~/eclipse-theia
Điều hướng đến nó:
- cd ~/eclipse-theia
Bạn sẽ lưu trữ cấu hình Docker Compose cho nginx-proxy
trong một file có tên nginx-proxy-compose.yaml
. Tạo nó bằng editor của bạn:
- 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.
Tập là các folder trên server của bạn mà dịch vụ đã xác định sẽ có toàn quyền truy cập, mà sau này bạn sẽ sử dụng để cài đặt xác thực user . Để đạt được điều đó, bạn sẽ sử dụng tập đầu tiên từ danh sách, tập bản đồ này ánh xạ folder /etc/nginx/htpasswd
local đến cùng một file trong containers . Trong folder đó, nginx-proxy
dự kiến sẽ tìm thấy một file có tên chính xác như domain đích, chứa thông tin đăng nhập để xác thực user ở định dạng htpasswd
( username:hashed_password
).
Đối với tiện ích bổ sung, bạn đặt tên cho Docker image và cho phép truy cập vào socket của Docker bằng cách xác định âm lượng. Sau đó, bạn chỉ định rằng tiện ích bổ sung sẽ kế thừa quyền truy cập vào các ổ đĩa được xác định cho nginx-proxy
. Cả hai dịch vụ đều được đặt restart
thành always
, lệnh này ra lệnh cho Docker khởi động lại các containers trong trường hợp gặp sự cố hoặc khởi động lại hệ thống.
Lưu và đóng file .
Triển khai cấu hình bằng lệnh:
- docker-compose -f nginx-proxy-compose.yaml up -d
Tại đây, bạn chuyển tên file nginx-proxy-compose.yaml
vào tham số -f
của lệnh docker-compose
, chỉ định file sẽ chạy. Sau đó, bạn chuyển động từ up
hướng dẫn nó chạy các container . Cờ -d
chế độ tách rời, nghĩa là Docker Compose sẽ chạy các containers trong nền.
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ạn đã triển khai nginx-proxy
và đồng hành Let's Encrypt của nó bằng Docker Compose. Đến đây bạn sẽ chuyển sang cài đặt Eclipse Theia tại domain của bạn và bảo mật nó.
Bước 2 - Triển khai Dockerized Eclipse Theia
Trong phần này, bạn sẽ tạo một file chứa bất kỳ kết hợp đăng nhập được phép nào mà user cần nhập. Sau đó, bạn sẽ triển khai Eclipse Theia vào server của bạn bằng Docker Compose và hiển thị nó tại domain bảo mật của bạn bằng cách sử dụng nginx-proxy
.
Như đã giải thích ở bước trước, nginx-proxy
mong đợi các tổ hợp đăng nhập nằm trong một file được đặt tên theo domain hiển thị, ở định dạng htpasswd
và được lưu trữ trong folder /etc/nginx/htpasswd
trong containers . Thư mục local ánh xạ tới folder ảo không cần phải giống như đã được chỉ định trong cấu hình nginx-proxy
.
Để tạo kết hợp đăng nhập, trước tiên bạn cần cài đặt htpasswd
bằng cách chạy lệnh sau:
- 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 sẽ lưu trữ thông tin đăng nhập cho domain của bạn:
- sudo touch /etc/nginx/htpasswd/theia.your_domain
Hãy nhớ thay theia.your_domain
bằng domain Eclipse Theia của bạn.
Để thêm kết hợp tên user và password , hãy chạy lệnh sau:
- sudo htpasswd /etc/nginx/htpasswd/theia.your_domain username
Thay thế username
bằng tên user bạn muốn thêm. Bạn cần nhập password hai lần. Sau khi cung cấp, htpasswd
sẽ thêm tên user và cặp password băm vào cuối file . Bạn có thể lặp lại lệnh này cho bao nhiêu lần đăng nhập tùy thích.
Bây giờ, bạn sẽ tạo cấu hình để triển khai Eclipse Theia. Bạn sẽ lưu trữ nó trong một file có tên eclipse-theia-compose.yaml
. Tạo nó bằng editor của bạn:
- 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
Trong cấu hình này, 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
để hướng dẫn Docker sử dụng init
làm trình quản lý tiến trình chính khi chạy Eclipse Theia bên trong containers .
Sau đó, bạn chỉ định hai biến môi trường trong phần environment
: VIRTUAL_HOST
và LETSENCRYPT_HOST
. Cái trước được chuyển cho nginx-proxy
và cho nó biết containers sẽ được hiển thị ở domain nào, trong khi cái sau được sử dụng bởi tiện ích bổ sung Let's Encrypt của nó và chỉ định domain nào sẽ certificate request TLS. Trừ khi bạn chỉ định ký tự đại diện làm giá trị cho VIRTUAL_HOST
, chúng phải giống nhau.
Hãy nhớ thay theia.your_domain
bằng domain bạn muốn, sau đó lưu 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
Sau đó, trong trình duyệt của bạn, chuyển đế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. Sau khi cung cấp thông tin đăng nhập chính xác, bạn sẽ vào Eclipse Theia và ngay lập tức thấy GUI editor của nó. Trong thanh địa chỉ của bạn, bạn sẽ thấy một ổ khóa cho biết rằng kết nối được bảo mật. Nếu bạn không thấy điều này ngay lập tức, hãy đợi vài phút để certificate TLS cung cấp, sau đó reload trang.
Đến đây bạn có thể truy cập IDE cloud một cách an toàn, bạn sẽ bắt đầu sử dụng editor trong bước tiếp theo.
Bước 3 - Sử dụng giao diện Eclipse Theia
Trong phần này, bạn sẽ khám phá một số tính năng của giao diện Eclipse Theia.
Ở phía bên trái của IDE, có một hàng dọc gồm bốn nút mở các tính năng thường được sử dụng nhất trong console bên.
Thanh này có thể tùy chỉnh để bạn có thể di chuyển các chế độ xem này sang một thứ tự khác hoặc xóa chúng khỏi thanh. Theo mặc định, chế độ xem đầu tiên sẽ mở bảng Explorer cung cấp chuyển dạng cây về cấu trúc của dự án. Bạn có thể quản lý các folder và file của bạn tại đây — tạo, xóa, di chuyển và đổi tên chúng nếu cần.
Sau khi tạo file mới thông qua menu Tệp , bạn sẽ thấy file trống mở trong tab mới. Sau khi lưu, bạn có thể xem tên file trong console bên Explorer. Để tạo folder , nhấp chuột phải vào thanh bên Explorer và nhấp vào Thư mục mới . Bạn có thể mở rộng một folder bằng cách nhấp vào tên của nó cũng như kéo và thả các file và folder lên các phần trên của hệ thống phân cấp để di chuyển chúng đến một vị trí mới.
Hai tùy chọn tiếp theo cung cấp quyền truy cập vào chức năng tìm kiếm và thay thế. Sau đó, phần tiếp theo cung cấp một cái nhìn về các hệ thống điều khiển nguồn mà bạn có thể đang sử dụng, chẳng hạn như Git .
Chế độ xem cuối cùng là tùy chọn trình gỡ lỗi, cung cấp tất cả các hành động phổ biến để gỡ lỗi trong console . Bạn có thể lưu cấu hình gỡ lỗi trong file launch.json
.
Phần trung tâm của GUI là editor , bạn có thể phân tách phần này theo các tab để chỉnh sửa mã của bạn . Bạn có thể thay đổi chế độ xem chỉnh sửa của bạn thành hệ thống lưới hoặc các file song song. Giống như tất cả các IDE hiện đại, Eclipse Theia hỗ trợ tô sáng cú pháp cho mã của bạn.
Bạn có thể truy cập vào một terminal bằng lệnh CTRL+SHIFT+`
hoặc bằng cách nhấp vào Thiết bị terminal ở menu phía trên và chọn Thiết bị terminal mới . Thiết bị terminal sẽ mở trong console phía dưới và folder làm việc của nó sẽ được đặt thành không gian làm việc của dự án, nơi chứa các file và folder được hiển thị trong console bên Explorer.
Bạn đã khám phá tổng quan cấp cao về giao diện Eclipse Theia và xem xét một số tính năng thường được sử dụng nhấ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 Ansible để cài đặt và thiết lập WordPress với LAMP trên Ubuntu 18.042019-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
Cách cài đặt MongoDB trên Ubuntu 16.04
2019-10-13
Cách thêm và xóa người dùng trên Ubuntu 18.04
2019-09-12
Cách cài đặt và bảo mật Grafana trên Ubuntu 18.04
2019-09-05
Cách nhúng một ứng dụng React vào WordPress trên Ubuntu 18.04
2019-08-27