Visual Studio Code đã trở thành một trong những IDE phổ biến nhất để lập trình. Nó tích hợp hỗ trợ Git và Docker, trình gỡ lỗi mã, tự động hoàn thành mã, khả năng làm việc với các tệp từ xa và hỗ trợ nhiều plugin khác nhau.
Với mọi thứ đang chuyển sang đám mây, việc truy cập vào IDE theo lựa chọn của bạn từ bất kỳ đâu là hoàn hảo cho quá trình phát triển hiện đại. Cloud IDE cho phép cộng tác theo thời gian thực giữa các nhà phát triển, do đó nâng cao năng suất.coder-server là một ứng dụng cho phép bạn chạy Visual Studio Code từ máy chủ từ xa và có thể truy cập thông qua bất kỳ trình duyệt nào.
Hướng dẫn này sẽ hướng dẫn bạn cách cài đặt Visual Studio Code IDE bằng ứng dụng code-server trên máy chủ Rocky Linux 8 của bạn. Bạn cũng sẽ công khai nó thông qua một miền công cộng cùng với hỗ trợ SSL.
Kiểm tra xem tường lửa có đang chạy không.
Kết quả đầu ra sau đây chứng minh rằng tường lửa đang chạy.
Kiểm tra các dịch vụ/cổng hiện được phép.
Kết quả đầu ra sau đây sẽ hiển thị.
Mở cổng 8080 cho code-server.
Cho phép các cổng HTTP và HTTPS.
Kiểm tra lại trạng thái của tường lửa.
Bạn sẽ thấy kết quả tương tự.
Tải lại tường lửa để kích hoạt các thay đổi.
Chạy lệnh sau để chạy thử cài đặt.
Chạy thiết lập sau khi chạy thử thành công.
Tập lệnh cài đặt có thể yêu cầu mật khẩu sudo của bạn.
Bật dịch vụ code-server.
Nếu bạn muốn cập nhật phiên bản code-server của mình, hãy lặp lại quy trình cài đặt. code-server sẽ giữ nguyên các tệp và cài đặt của bạn.
Sau đây là các thiết lập mặc định được thiết lập trong quá trình cài đặt.
Tệp cấu hình mặc định cho phép hành vi sau:
Nếu bạn muốn lưu trữ phiên bản băm của mật khẩu, trước tiên bạn phải cài đặt npm. Sau khi cài đặt, hãy chạy lệnh sau để đặt mật khẩu băm.
Bạn sẽ nhận được giá trị băm tại thiết bị đầu cuối của mình. Sao chép và dán vào tệp cấu hình.
Đảm bảo đặt mật khẩu đã băm trong dấu ngoặc kép. Nếu bạn muốn tắt Telemetry, hãy thêm dòng sau vào tệp.
Có các tùy chọn khác mà bạn có thể xác định trong tệp. Để kiểm tra tất cả các tùy chọn khác mà bạn có thể thêm, hãy sử dụng lệnh sau để liệt kê tất cả các cờ.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc sau khi hoàn tất.
Chạy các lệnh sau để cài đặt Certbot.
Tạo chứng chỉ SSL.
Lệnh trên sẽ tải chứng chỉ xuống thư mục /etc/letsencrypt/live/code-server.example.com trên máy chủ của bạn. Hãy đảm bảo thay thế [emailprotected] bằng email thực tế của bạn.
Tạo chứng chỉ nhóm Diffie-Hellman.
Tạo thư mục webroot thử thách để tự động gia hạn Let's Encrypt.
Tạo Cron Job để gia hạn SSL. Nó sẽ chạy hàng ngày để kiểm tra chứng chỉ và gia hạn nếu cần. Để thực hiện việc đó, trước tiên, hãy tạo tệp /etc/cron.daily/certbot-renew và mở tệp đó để chỉnh sửa.
Dán mã sau.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Thay đổi quyền trên tệp tác vụ để làm cho tệp đó có thể thực thi được.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Cài đặt máy chủ Nginx.
Kích hoạt dịch vụ Nginx.
Tạo tệp cấu hình cho code-server trong thư mục /etc/nginx/conf.d.
Dán mã sau vào nó.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Xác thực tệp cấu hình.
Nếu bạn gặp lỗi sau, bạn sẽ cần chỉnh sửa tệp /etc/nginx/nginx.conf để thêm/điều chỉnh kích thước của biến server_names_hash_bucket_size.
Mở tệp /etc/nginx/nginx.conf để chỉnh sửa.
Thêm dòng sau trước dòng include /etc/nginx/conf.d/*.conf;.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc. Xác thực Nginx một lần nữa.
Khởi động máy chủ Nginx.
code-server sẽ yêu cầu Cài đặt VS Code khi bạn khởi chạy lần đầu tiên.
Chọn một bảng màu, Xem qua các phần còn lại và nhấp vào Đánh dấu xong khi hoàn tất.
Với mọi thứ đang chuyển sang đám mây, việc truy cập vào IDE theo lựa chọn của bạn từ bất kỳ đâu là hoàn hảo cho quá trình phát triển hiện đại. Cloud IDE cho phép cộng tác theo thời gian thực giữa các nhà phát triển, do đó nâng cao năng suất.coder-server là một ứng dụng cho phép bạn chạy Visual Studio Code từ máy chủ từ xa và có thể truy cập thông qua bất kỳ trình duyệt nào.
Hướng dẫn này sẽ hướng dẫn bạn cách cài đặt Visual Studio Code IDE bằng ứng dụng code-server trên máy chủ Rocky Linux 8 của bạn. Bạn cũng sẽ công khai nó thông qua một miền công cộng cùng với hỗ trợ SSL.
Điều kiện tiên quyết
-
Một máy chủ chạy Rocky Linux với ít nhất 2 GB RAM và 2 lõi CPU.
-
Một người dùng không phải root có quyền sudo.
-
Một miền đã đăng ký và trỏ đến máy chủ.
-
Nginx đã cài đặt trên máy chủ của bạn.
-
Đảm bảo mọi thứ được cập nhật.
Mã:$ sudo dnf update
Bước 1 - Cấu hình Tường lửa
Bước đầu tiên là cấu hình tường lửa. Rocky Linux đi kèm với tường lửa Firewalld.Kiểm tra xem tường lửa có đang chạy không.
Mã:
$ sudo firewall-cmd --state
Mã:
đang chạy
Mã:
$ sudo firewall-cmd --permanent --list-services
Mã:
dhcpv6-client mdns ssh
Mã:
$ sudo firewall-cmd --permanent --add-port=8080/tcp
Mã:
$ sudo firewall-cmd --permanent --add-service=http$ sudo firewall-cmd --permanent --add-service=https
Mã:
$ sudo firewall-cmd --permanent --list-all
Mã:
public target: default icmp-block-inversion: no interfaces: sources: services: cockpit dhcpv6-client http https ssh ports: 8080/tcp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
Mã:
$ sudo systemctl reload firewalld
Bước 2 - Cài đặt code-server
code-server đi kèm với một tập lệnh cài đặt có thể phát hiện phiên bản Linux và cài đặt tệp nhị phân phù hợp cho máy chủ của bạn. Bạn có thể kiểm tra tập lệnh cài đặt để xem nó có hoạt động trên máy chủ của bạn hay không.Chạy lệnh sau để chạy thử cài đặt.
Mã:
$ curl -fsSL https://code-server.dev/install.sh | sh -s -- --dry-runRocky Linux 8.4 (Green Obsidian)Cài đặt v3.12.0 của gói amd64 rpm từ GitHub.+ mkdir -p ~/.cache/code-server+ curl -#fL -o ~/.cache/code-server/code-server-3.12.0-amd64.rpm.incomplete -C - https://github.com/cdr/code-server/releases/download/v3.12.0/code-server-3.12.0-amd64.rpm+ mv ~/.cache/code-server/code-server-3.12.0-amd64.rpm.incomplete ~/.cache/code-server/code-server-3.12.0-amd64.rpm+ sudo rpm -i ~/.cache/code-server/code-server-3.12.0-amd64.rpmgói rpm đã được cài đặt.Để systemd khởi động code-server ngay bây giờ và khởi động lại khi khởi động: sudo systemctl enable --now code-server@$USERHoặc, nếu bạn không muốn/cần dịch vụ nền, bạn có thể chạy: code-server
Mã:
$ curl -fsSL https://code-server.dev/install.sh | sh
Bật dịch vụ code-server.
Mã:
$ sudo systemctl enable code-server@$USER
Bước 3 - Cấu hình code-server
code-server lưu trữ tệp cấu hình của nó tại ~/.config/code-server/config.yaml. Mở nó để chỉnh sửa.
Mã:
$ sudo nano ~/.config/code-server/config.yaml
Mã:
bind-addr: 127.0.0.1:8080auth: passwordpassword: a4768b3439e5e93b5d62489bcert: false
- Lắng nghe trên cổng IP vòng lặp 8080
- Cho phép xác thực mật khẩu bằng mật khẩu được tạo ngẫu nhiên
- Không sử dụng TLS
Nếu bạn muốn lưu trữ phiên bản băm của mật khẩu, trước tiên bạn phải cài đặt npm. Sau khi cài đặt, hãy chạy lệnh sau để đặt mật khẩu băm.
Mã:
$ echo -n "thisismypassword" | npx argon2-cli -e$argon2i$v=19$m=4096,t=3,p=1$wst5qhbgk2lu1ih4dmuxvg$ls1alrvdiwtvzhwnzcm1dugg+5dto3dt1d5v9xtlws4
Mã:
auth: passwordhashed-password: "$argon2i$v=19$m=4096,t=3,p=1$wST5QhBgk2lu1ih4DMuxvg$LS1alrVdIWtvZHwnzCM1DUGg+5DTO3Dt1d5v9XtLws4"
Mã:
disable-telemetry: false
Mã:
$ code-server --help
Bước 4 - Cài đặt SSL
Để cài đặt chứng chỉ SSL bằng Let's Encrypt, chúng ta cần tải xuống công cụ Certbot. Nhưng trước tiên, chúng ta cần cài đặt kho lưu trữ EPEL.Chạy các lệnh sau để cài đặt Certbot.
Mã:
$ sudo dnf install epel-release$ sudo dnf install certbot
Mã:
$ sudo certbot certonly --standalone --agree-tos --preferred-challenges http -d code-server.example.com -m [emailprotected]
Tạo chứng chỉ nhóm Diffie-Hellman.
Mã:
$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Mã:
$ sudo mkdir -p /var/lib/letsencrypt
Mã:
$ sudo nano /etc/cron.daily/certbot-renew
Mã:
#!/bin/shcertbot renew --cert-name example.com --webroot -w /var/lib/letsencrypt/ --post-hook "systemctl reload nginx"
Thay đổi quyền trên tệp tác vụ để làm cho tệp đó có thể thực thi được.
Mã:
$ sudo chmod +x /etc/cron.daily/certbot-renew
Bước 5 - Cài đặt và Cấu hình Nginx
Tạo và mở tệp /etc/yum.repos.d/nginx.repo để tạo kho lưu trữ Nginx chính thức.
Mã:
[nginx-stable]name=nginx stable repobaseurl=http://nginx.org/packages/centos/$releasever/$basearch/gpgcheck=1enabled=1gpgkey=https://nginx.org/keys/nginx_signing.keymodule_hotfixes=true[nginx-mainline]name=nginx mainline repobaseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/gpgcheck=1enabled=0gpgkey=https://nginx.org/keys/nginx_signing.keymodule_hotfixes=true
Cài đặt máy chủ Nginx.
Mã:
$ sudo dnf install nginx
Mã:
$ sudo systemctl enable nginx
Mã:
$ sudo nano /etc/nginx/conf.d/code-server.conf
Mã:
server { lắng nghe 80; lắng nghe [::]:80; tên máy chủ code-server.example.com; trả về 301 https://$host$request_uri;}server { tên máy chủ code-server.example.com; lắng nghe 443 ssl http2; lắng nghe [::]:443 ssl http2; nhật ký truy cập /var/log/nginx/code-server.access.log; nhật ký lỗi /var/log/nginx/code-server.error.log; chứng chỉ ssl /etc/letsencrypt/live/code-server.example.com/fullchain.pem; khóa chứng chỉ ssl /etc/letsencrypt/live/code-server.example.com/privkey.pem; chứng chỉ ssl đáng tin cậy /etc/letsencrypt/live/code-server.example.com/chain.pem; ssl_session_timeout 1 ngày; ssl_session_cache được chia sẻ: MozSSL: 10 phút; ssl_session_tickets tắt; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_stapling bật; ssl_stapling_verify bật; ssl_dhparam /etc/ssl/certs/dhparam.pem; vị trí / { proxy_pass http://localhost:8080/; proxy_set_header Máy chủ $host; proxy_set_header Nâng cấp $http_upgrade; proxy_set_header Nâng cấp kết nối; proxy_set_header Mã hóa chấp nhận gzip; }}
Xác thực tệp cấu hình.
Mã:
$ sudo nginx -t
Mã:
nginx: [emerg] không thể xây dựng server_names_hash, bạn nên tăng server_names_hash_bucket_size
Mã:
$ sudo nano /etc/nginx/nginx.conf
Mã:
server_names_hash_bucket_size 64;
Khởi động máy chủ Nginx.
Mã:
$ sudo systemctl start nginx
Bước 6 - Sử dụng code-server
Khởi chạy miền https://code-server.example.com trong trình duyệt của bạn và nhập mật khẩu để xác thực cài đặt code-server của bạn. Nhập mật khẩu từ tệp cấu hình.code-server sẽ yêu cầu Cài đặt VS Code khi bạn khởi chạy lần đầu tiên.
Chọn một bảng màu, Xem qua các phần còn lại và nhấp vào Đánh dấu xong khi hoàn tất.