Thứ năm, 02/01/2020 | 00:00 GMT+7

Cách thiết lập Nền tảng Cloud IDE server mã trên Ubuntu 18.04 [Quickstart]

server mãMicrosoft Visual Studio Code chạy trên server từ xa và có thể truy cập trực tiếp từ trình duyệt của bạn. Điều này nghĩa là bạn có thể sử dụng nhiều thiết bị khác nhau, chạy các hệ điều hành khác nhau và luôn có sẵn một môi trường phát triển nhất quán.

Trong hướng dẫn này, bạn sẽ cài đặt nền tảng IDE cloud server mã trên máy tính Ubuntu 18.04 và hiển thị nó tại domain của bạn, được bảo mật bằng Let's Encrypt. Để 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 Cloud IDE server mã trên Ubuntu 18.04 .

Yêu cầu

  • Server chạy Ubuntu 18.04 với ít nhất 2GB RAM, quyền truy cập root và account sudo, 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 .

  • Nginx được cài đặt trên server của bạn. Để có hướng dẫn về cách thực hiện việc này, hãy hoàn thành các Bước từ 1 đến 4 của Cách cài đặt Nginx trên Ubuntu 18.04 .

  • Tên domain đã đăng ký đầy đủ cho server mã lưu trữ, được trỏ đến server của bạn. Hướng dẫn này sẽ sử dụng code-server.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.

  • Cả hai bản ghi DNS sau được cài đặt cho 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.

    • Một bản ghi với your-domain của bạn trỏ đến địa chỉ IP công cộng của server của bạn.
    • Một bản ghi A với www. your-domain trỏ đến địa chỉ IP công cộng của server của bạn.

Bước 1 - Cài đặt server mã

Tạo folder để lưu trữ tất cả dữ liệu cho server mã:

  • mkdir ~/code-server

Điều hướng đến nó:

  • cd ~/code-server

Truy cập trang phát hành Github của server mã và chọn bản dựng Linux mới nhất. Download bằng cách sử dụng:

  • wget https://github.com/cdr/code-server/releases/download/2.1692-vsc1.39.2/code-server2.1692-vsc1.39.2-linux-x86_64.tar.gz

Extract repository :

  • tar -xzvf code-server2.1692-vsc1.39.2-linux-x86_64.tar.gz

Điều hướng đến folder chứa file thực thi server mã:

  • cd code-server2.1692-vsc1.39.2-linux-x86_64

Để truy cập file thực thi server mã trên hệ thống của bạn, hãy sao chép nó bằng:

  • sudo cp code-server /usr/local/bin

Tạo một folder cho server mã để lưu trữ dữ liệu user :

  • sudo mkdir /var/lib/code-server

Tạo một dịch vụ systemd , code-server.service , trong folder /lib/systemd/system :

  • sudo nano /lib/systemd/system/code-server.service

Thêm các dòng sau:

/lib/systemd/system/code-server.service
[Unit] Description=code-server After=nginx.service  [Service] Type=simple Environment=PASSWORD=your_password ExecStart=/usr/local/bin/code-server --host 127.0.0.1 --user-data-dir /var/lib/code-server --auth password Restart=always  [Install] WantedBy=multi-user.target 
  • --host 127.0.0.1 liên kết nó với localhost .
  • --user-data-dir /var/lib/code-server đặt folder dữ liệu user của nó.
  • --auth password chỉ định rằng nó sẽ xác thực khách truy cập bằng password .

Hãy nhớ thay thế your_password bằng password mong muốn của bạn.

Lưu và đóng file .

Khởi động dịch vụ server mã:

  • sudo systemctl start code-server

Kiểm tra xem nó đã khởi động đúng chưa:

  • sudo systemctl status code-server

Bạn sẽ thấy kết quả tương tự như:

Output
● code-server.service - code-server Loaded: loaded (/lib/systemd/system/code-server.service; disabled; vendor preset: enabled) Active: active (running) since Mon 2019-12-09 20:07:28 UTC; 4s ago Main PID: 5216 (code-server) Tasks: 23 (limit: 2362) CGroup: /system.slice/code-server.service ├─5216 /usr/local/bin/code-server --host 127.0.0.1 --user-data-dir /var/lib/code-server --auth password └─5240 /usr/local/bin/code-server --host 127.0.0.1 --user-data-dir /var/lib/code-server --auth password ...

Cho phép dịch vụ server mã tự động khởi động sau khi server khởi động lại:

  • sudo systemctl enable code-server

Bước 2 - Hiển thị server mã

Đến đây bạn sẽ cấu hình Nginx làm Reverse Proxy cho server mã.

Tạo code-server.conf để lưu trữ cấu hình để hiển thị server mã tại domain của bạn:

  • sudo nano /etc/nginx/sites-available/code-server.conf

Thêm các dòng sau để cài đặt khối server của bạn với các lệnh cần thiết:

/etc/nginx/sites-available/code-server.conf
server {     listen 80;     listen [::]:80;      server_name code-server.your_domain;      location / {         proxy_pass http://localhost:8080/;         proxy_set_header Upgrade $http_upgrade;         proxy_set_header Connection upgrade;         proxy_set_header Accept-Encoding gzip;     } } 

Thay thế code-server.your_domain bằng domain bạn muốn, sau đó lưu file .

Để làm cho cấu hình trang web này hoạt động, hãy tạo một softlink của nó:

  • sudo ln -s /etc/nginx/sites-available/code-server.conf /etc/nginx/sites-enabled/code-server.conf

Kiểm tra tính hợp lệ của cấu hình:

  • sudo nginx -t

Bạn sẽ thấy kết quả sau:

Output
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

Để cấu hình có hiệu lực, hãy khởi động lại Nginx:

  • sudo systemctl restart nginx

Bước 3 - Bảo mật domain của bạn

Bây giờ, bạn sẽ bảo mật domain của bạn bằng certificate Let's Encrypt TLS.

Thêm repository Certbot vào server của bạn:

  • sudo add-apt-repository ppa:certbot/certbot

Cài đặt Certbot và plugin Nginx của nó:

  • sudo apt install python-certbot-nginx

Cấu hình ufw để chấp nhận truy cập được mã hóa:

  • sudo ufw allow https

Đầu ra sẽ là:

Output
Rule added Rule added (v6)

Reload nó để cấu hình có hiệu lực:

  • sudo ufw reload

Đầu ra sẽ hiển thị:

Output
Firewall reloaded

Điều hướng đến domain server mã của bạn.

 dấu nhắc  đăng nhập  server  mã

Nhập password server mã của bạn. Bạn sẽ thấy giao diện hiển thị tại domain của bạn .

GUI  server  mã

Để bảo mật, hãy cài đặt certificate Let's Encrypt TLS bằng Certbot.

Yêu cầu certificate cho domain của bạn với:

  • sudo certbot --nginx -d code-server.your_domain

Cung cấp địa chỉ email cho các thông báo khẩn cấp, chấp nhận Điều khoản dịch vụ của EFF và quyết định có chuyển hướng tất cả truy cập HTTP sang HTTPS hay không.

Đầu ra sẽ tương tự như sau:

Output
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/code-server.your_domain/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/code-server.your_domain/privkey.pem Your cert will expire on ... To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" ...

Certbot đã tạo thành công certificate TLS và áp dụng chúng vào cấu hình Nginx cho domain của bạn.

Kết luận

Đến đây bạn có server mã, một IDE cloud đa năng, được cài đặt trên server Ubuntu 18.04 của bạn, được hiển thị tại domain của bạn và được bảo mật bằng certificate Let's Encrypt. Để biết thêm thông tin, hãy xem tài liệu Visual Studio Code để biết thêm các tính năng và hướng dẫn chi tiết về các thành phần khác của server mã.


Tags:

Các tin liên quan

Cách thiết lập server lưu trữ đối tượng bằng Minio trên Ubuntu 18.04
2019-12-13
Cách xây dựng server GraphQL trong Node.js bằng GraphQL-yoga và MongoDB
2019-12-12
Cách thiết lập server GraphQL trong Node.js với server Apollo và Sequelize
2019-12-12
Cách sử dụng Ansible để tự động thiết lập server ban đầu trên Ubuntu 18.04
2019-11-27
Cách sử dụng Ansible để tự động thiết lập server ban đầu trên Ubuntu 18.04
2019-11-27
Cách sử dụng Ansible để tự động thiết lập server ban đầu trên Ubuntu 18.04
2019-11-27
Sử dụng Sự kiện do server gửi trong Node.js để tạo ứng dụng thời gian thực
2019-11-18
Cách thiết lập front-end server PageKite trên Debian 9
2019-10-25
Cách thiết lập server trang kết thúc phía trước PageKite trên Debian 9
2019-10-25
Cách cài đặt Linux, Apache, MariaDB, PHP (LAMP) trên Debian 10
2019-07-15