Легко установить Code-Server на Ubuntu 20.04

Легко установить Code-Server на Ubuntu 20.04

В этой статье мы расскажем, как установить Code-Server на Ubuntu 20.04.

Code-server - это серверное приложение с открытым исходным кодом, которое обслуживает VS Code на любом компьютере в любом месте и получает доступ к нему в браузере. Он позволяет использовать мощные облачные серверы для ускорения компиляций и тестов, а также для экономии заряда батареи в пути.

Предпосылки

  • В Ubuntu 20.04 установлен VPS с мин. рекомендуется: 4 ГБ ОЗУ, 2 виртуальных процессора.
  • Действительное доменное имя, указывающее на VPS.
  • Доступ пользователя root или обычного пользователя с правами администратора.

Установите Code-Server на Ubuntu 20.04

1. Обновите сервер

Держите сервер в актуальном состоянии.

# apt update -y

# apt upgrade -y

2. Установите Code-Server.

Загрузите код-сервер из официального репозитория, используя следующую команду:

# cd /home
# wget https://github.com/cdr/code-server/releases/download/v3.11.0/code-server-3.11.0-linux-amd64.tar.gz

Извлеките tar- файл и переименуйте его с помощью кодового сервера, используя следующую команду:

# 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

Сделайте исполняемый двоичный файл программного сервера.

# cd code-server

Запускаем код-сервер.

./code-server --port 8000

Откройте браузер на своем компьютере и перейдите по адресу http: // ВАШ_IP_АДРЕС: 8000. Вам будет предложено ввести пароль. Используйте пароль, отображаемый в терминале SSH. Откроется интерфейс Visual Studio Code. Чтобы остановить сервер, нажмите  CTRL + C  в терминале SSH.

3. Создайте службу запуска системы.

Мы можем создать службу с помощью диспетчера служб Linux systemd . Следуй этим шагам:

Создайте новый файл с именем code-server.service, используя следующую команду:

# vi /lib/systemd/system/code-server.service

Скопируйте и вставьте следующий контент и замените паролем, который вы хотите установить. Это будет пароль, который вы будете использовать для входа на код-сервер.

[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

Сохраните и закройте файл.

Теперь запустите и включите code-server.service, используя следующие команды:

# systemctl daemon-reload

# systemctl start code-server

# systemctl enable code-server

Откройте браузер на своем компьютере и перейдите по адресу http: // ВАШ_IP_АДРЕС: 8000. Вам будет предложено ввести пароль. Используйте пароль, который вы указали в файле code-server.service .

4. Установите и настройте Nginx.

Чтобы получить доступ к установке через доменное имя и добавить сертификат SSL, рекомендуется настроить обратный прокси-сервер. Для этой демонстрационной цели мы используем веб-сервер Nginx в качестве обратного прокси.

Для установки Nginx используйте следующую команду:

# apt-get install nginx -y

Отключите файл конфигурации сайта Nginx по умолчанию.

# rm /etc/nginx/sites-enabled/default

Создайте новый файл конфигурации сайта Nginx для кодового сервера.

# vi /etc/nginx/sites-available/code-server

Вставьте следующий фрагмент в файл, заменив example.com своим собственным доменным именем.

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;
}
}

Включите конфигурацию и перезапустите веб-сервер Nginx.

# ln -s /etc/nginx/sites-available/code-server /etc/nginx/sites-enabled/

Протестируйте файл конфигурации Nginx.

# nginx -t

Если ошибки не возникло, перезапустите службу nginx .

# systemctl restart nginx

Если вы используете UFW в качестве брандмауэра, разрешите соединения SSH и Nginx через брандмауэр и включите брандмауэр. Это гарантирует, что установка сервера кода будет доступна только через обратный прокси-сервер Nginx.

# ufw allow ssh
# ufw allow 'Nginx Full'
# ufw enable

Перейдите к своему доменному имени, чтобы протестировать установку.

5. Установите Let's Encrypt SSL.

Обеспечьте безопасность соединения между сервером и конечным пользователем, настоятельно рекомендуется установить сертификат SSL. Let's Encrypt - это бесплатный SSL-сертификат со сроком действия 90 дней, который будет обновляться каждые 90 дней. Мы используем certbot для установки сертификата SSL.

Загрузите и установите Certbot.

# apt-get install python3-certbot-nginx

Выполните следующую команду, чтобы запустить установщик Certbot из командной строки, заменив example.com своим собственным доменным именем.

# certbot --nginx -d example.com

Выполните интерактивный установщик. Когда вас спросят, следует ли перенаправлять HTTP-трафик на HTTPS, выберите перенаправление.

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): 2

Redirecting 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. Установите fail2ban (рекомендуется)

Fail2ban - это приложение, которое анализирует журналы для обнаружения и смягчения автоматических атак на сервер. При обнаружении заранее определенного количества неудачных попыток входа в систему fail2ban изменит iptables сервера, чтобы заблокировать злоумышленника на заранее определенный период времени.

Установите setuptools. Это необходимо для установки fail2ban.

# apt-get install python3-setuptools -y

Скачайте и установите 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

Скопируйте файл конфигурации по умолчанию jails.conf в jails.local и откройте скопированный файл в текстовом редакторе.

# cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
# vi /etc/fail2ban/jail.local

Вставьте следующий фрагмент в конец файла. Вы можете изменить параметры maxretry, findtime и 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

Создайте новый файл конфигурации фильтра, чтобы определить шаблон фильтра для поиска неудачных попыток входа в систему в журнале сервера кода.

# vi /etc/fail2ban/filter.d/code-server.conf

Вставьте следующий фрагмент в файл.

[Definition]
failregex = Failed login attempt {\'xForwardedFor\':\'\'.*
ignoreregex =
datepattern = "timestamp':{EPOCH}}$

Перезапустите службу rsyslog, включите и запустите службу fail2ban.

# systemctl restart rsyslog.service

# systemctl start fail2ban.service
# systemctl enable fail2ban.service

Вот и все. Установка успешно завершена.

В этой статье мы объяснили вам, как установить Code-Server на Ubuntu 20.04.


Как установить Golang на CentOS 8

Как установить Golang на CentOS 8

В этой статье мы покажем вам, как установить Golang на CentOS 8.

Легко установить Django на Ubuntu 20.04

Легко установить Django на Ubuntu 20.04

В этом руководстве мы покажем вам, как легко установить Django на Ubuntu 20.04. Мы установим Django с помощью pip в виртуальной среде.

Как добавить значок на веб-сайт в HTML

Как добавить значок на веб-сайт в HTML

В этом руководстве мы расскажем, как добавить значок на веб-сайт в HTML. Фавикон - это графическое изображение (значок), связанное с определенной веб-страницей.

Напишите простое приложение на языке Go

Напишите простое приложение на языке Go

В этой статье хорошо объясним, как написать простое приложение на языке Go.

Установите и настройте Git Server в Ubuntu 20.04

Установите и настройте Git Server в Ubuntu 20.04

Посмотрим, как установить и настроить git server на Ubuntu 20.04. Git - это распределенная система контроля версий для отслеживания изменений в разработке исходного кода.

Простая установка PHP 7.4 на CentOS 8

Простая установка PHP 7.4 на CentOS 8

В этом руководстве мы покажем вам, как легко установить PHP 7.4 на CentOS 8.

Простая установка Ruby с RVM на Ubuntu 20.04

Простая установка Ruby с RVM на Ubuntu 20.04

В этом руководстве мы увидим, как легко установить Ruby с RVM на Ubuntu 20.04. Мы также увидим, как управлять RVM и удалять его.

Руководство по установке Flask в Ubuntu 20.04

Руководство по установке Flask в Ubuntu 20.04

В этом руководстве мы узнаем, как установить Flask на Ubuntu 20.04. Flask - это микро-фреймворк, ориентированный на самый минимум.

Простая установка Podman на Ubuntu 20.04

Простая установка Podman на Ubuntu 20.04

В этом руководстве мы покажем вам, как легко установить Podman на Ubuntu 20.04. Работа с OCI Registries и Podman Images.

Легко установить Code-Server на Ubuntu 20.04

Легко установить Code-Server на Ubuntu 20.04

Мы поможем вам установить Code-Server на Ubuntu 20.04. Последняя версия Code-server v3.11.0 обслуживает VS Code на любом компьютере в любом месте и получает доступ к нему в браузере.