Dễ dàng cài đặt Code-Server trên Ubuntu 20.04
Hướng dẫn bạn cài đặt Code-Server trên Ubuntu 20.04. Code-server v3.11.0 phiên bản mới nhất phục vụ VS Code trên mọi máy tính ở bất kỳ đâu và truy cập nó trong trình duyệt.
Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cài đặt Code-Server trên Ubuntu 20.04.
Máy chủ mã là một ứng dụng máy chủ mã nguồn mở phục vụ Mã VS trên bất kỳ máy nào ở bất kỳ đâu và truy cập nó trong trình duyệt. Nó cho phép tận dụng các máy chủ đám mây mạnh mẽ để tăng tốc độ biên dịch và kiểm tra cũng như tiết kiệm pin khi di chuyển.
Điều kiện tiên quyết
Cài đặt Code-Server trên Ubuntu 20.04
1. Cập nhật máy chủ
Giữ cho máy chủ được cập nhật.
# apt update -y
# apt upgrade -y
2. Cài đặt Máy chủ Mã
Tải xuống máy chủ mã từ kho lưu trữ chính thức bằng lệnh sau:
# cd /home
# wget https://github.com/cdr/code-server/releases/download/v3.11.0/code-server-3.11.0-linux-amd64.tar.gz
Giải nén tệp tar và đổi tên bằng máy chủ mã bằng lệnh sau:
# tar xzf code-server-3.11.0-linux-amd64.tar.gz && rm code-server-3.11.0-linux-amd64.tar.gz
# mv code-server-3.11.0-linux-amd64 code-server
Làm cho mã máy chủ nhị phân có thể thực thi được.
# cd code-server
Chạy máy chủ mã.
./code-server --port 8000
Mở trình duyệt máy tính của bạn và điều hướng đến http: // YOUR_IP_ADDRESS: 8000. Bạn sẽ được nhắc nhập mật khẩu. Sử dụng mật khẩu được hiển thị trong thiết bị đầu cuối SSH. Giao diện Visual Studio Code sẽ mở ra. Để dừng máy chủ, nhấn CTRL + C trong thiết bị đầu cuối SSH.
3. Tạo một dịch vụ khởi động hệ thống
Chúng ta có thể tạo một dịch vụ bằng trình quản lý dịch vụ systemd của Linux . Làm theo các bước sau:
Tạo một tệp mới theo tên code-server.service bằng lệnh sau:
# vi /lib/systemd/system/code-server.service
Sao chép và dán nội dung sau đây và thay thế bằng mật khẩu bạn muốn đặt. Đây sẽ là mật khẩu bạn sẽ sử dụng để đăng nhập vào máy chủ mã.
[Unit]
Description=Code Server Service
After=network.target[Service]
Type=simple
Restart=on-failure
RestartSec=10
WorkingDirectory=/home/code-server
Environment='PASSWORD='
ExecStart=/home/code-server/code-server --port 8000
StandardOutput=file:/var/log/code-server-output.log
StandardError=file:/var/log/code-server-error.log[Install]
WantedBy=multi-user.target
Lưu và đóng tập tin.
Bây giờ, hãy khởi động và kích hoạt code-server.service bằng các lệnh sau:
# systemctl daemon-reload
# systemctl start code-server
# systemctl enable code-server
Mở trình duyệt máy tính của bạn và điều hướng đến http: // YOUR_IP_ADDRESS: 8000. Bạn sẽ được nhắc nhập mật khẩu. Sử dụng mật khẩu bạn đã đề cập trong tệp code-server.service .
4. Cài đặt và cấu hình Nginx
Để truy cập cài đặt qua tên miền và thêm chứng chỉ SSL, bạn nên thiết lập proxy ngược. Với mục đích trình diễn này, chúng tôi đang sử dụng máy chủ web Nginx làm proxy ngược.
Để cài đặt Nginx, hãy sử dụng lệnh sau:
# apt-get install nginx -y
Tắt tệp cấu hình trang Nginx mặc định.
# rm /etc/nginx/sites-enabled/default
Tạo tệp cấu hình trang Nginx mới cho máy chủ mã.
# vi /etc/nginx/sites-available/code-server
Dán đoạn mã sau vào tệp, thay thế example.com bằng tên miền của riêng bạn.
server {
listen 80;
listen [::]:80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:8000/;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_set_header Accept-Encoding gzip;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Kích hoạt cấu hình và khởi động lại máy chủ web Nginx.
# ln -s /etc/nginx/sites-available/code-server /etc/nginx/sites-enabled/
Kiểm tra tệp cấu hình Nginx.
# nginx -t
Nếu không có lỗi xảy ra, hãy khởi động lại dịch vụ nginx .
# systemctl restart nginx
Nếu bạn đang sử dụng UFW làm tường lửa, hãy cho phép các kết nối SSH và Nginx thông qua tường lửa và bật tường lửa. Điều này sẽ đảm bảo rằng cài đặt máy chủ mã chỉ có thể truy cập được thông qua proxy ngược Nginx.
# ufw allow ssh
# ufw allow 'Nginx Full'
# ufw enable
Navigate to your domain name to test the installation.
5. Install Let’s Encrypt SSL
Keep the connection secure between server and end-user, it is highly recommended to install SSL certificate. Let’s Encrypt is a free SSL certificate which is come with 90 days validity and it will be renewed for every 90 days. We’re using certbot to install the SSL certificate.
Download and install Certbot.
# apt-get install python3-certbot-nginx
Execute the following command to launch Certbot’s command-line installer, replacing example.com with your own domain name.
# certbot --nginx -d example.com
Proceed through the interactive installer. When asked whether or not to redirect HTTP traffic to HTTPS, choose to redirect.
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you’re confident your site works on HTTPS. You can undo this
change by editing your web server’s configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/code-server
Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/code-server
6. Install fail2ban (Recommended)
Fail2ban là một ứng dụng phân tích các bản ghi để phát hiện và giảm thiểu các cuộc tấn công tự động vào máy chủ. Khi số lần đăng nhập không thành công được xác định trước được phát hiện, fail2ban sẽ thay đổi iptables của máy chủ để chặn kẻ tấn công trong một khoảng thời gian được xác định trước.
Cài đặt các công cụ thiết lập. Điều này là bắt buộc để cài đặt fail2ban.
# apt-get install python3-setuptools -y
Tải xuống và cài đặt fail2ban.
git clone https://github.com/fail2ban/fail2ban.git
cd fail2ban
sudo python3 setup.py install
cp build/fail2ban.service /lib/systemd/system/fail2ban.service
cd .. && rm -rf fail2ban
Sao chép tệp cấu hình mặc định jails.conf sang jails.local và mở tệp đã sao chép trong trình soạn thảo văn bản.
# cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
# vi /etc/fail2ban/jail.local
Dán đoạn mã sau vào cuối tệp. Bạn có thể thay đổi các tham số maxretry, findtime và bantime.
[code-server]
enabled = true
logpath = /var/log/code-server-output.log
# maxretry: The amount of unsuccessful login attempts after which a ban is issued.
maxretry = 5
# findtime: The amount of time within which the login attempts must occur.
findtime = 10m
# bantime: The amount of time for which an IP is banned from accessing the server.
bantime = 10m
Tạo tệp cấu hình bộ lọc mới để xác định dạng bộ lọc nhằm tìm các lần đăng nhập không thành công trong nhật ký máy chủ mã.
# vi /etc/fail2ban/filter.d/code-server.conf
Dán đoạn mã sau vào tệp.
[Definition]
failregex = Failed login attempt {\'xForwardedFor\':\'\'.*
ignoreregex =
datepattern = "timestamp':{EPOCH}}$
Khởi động lại dịch vụ rsyslog và bật và khởi động dịch vụ fail2ban.
# systemctl restart rsyslog.service
# systemctl start fail2ban.service
# systemctl enable fail2ban.service
Đó là nó. Quá trình cài đặt hoàn tất thành công.
Trong bài viết này, chúng tôi đã giải thích cho bạn cách cài đặt Code-Server trên Ubuntu 20.04