Łatwy w instalacji Code-Server na Ubuntu 20.04

Łatwy w instalacji Code-Server na Ubuntu 20.04

W tym artykule poprowadzimy Cię do instalacji Code-Server na Ubuntu 20.04.

Code-server to aplikacja serwerowa typu open source, która obsługuje VS Code na dowolnym komputerze w dowolnym miejscu i uzyskuje do niego dostęp w przeglądarce. Umożliwia wykorzystanie potężnych serwerów w chmurze w celu przyspieszenia kompilacji i testów oraz oszczędzania baterii w podróży.

Warunki wstępne

  • Na Ubuntu 20.04 zainstalowany VPS z min. zalecane: 4GB RAM, 2 vCPU.
  • Prawidłowa nazwa domeny wskazująca na VPS.
  • Dostęp użytkownika root lub zwykły użytkownik z uprawnieniami administratora.

Zainstaluj Code-Server na Ubuntu 20.04

1. Zaktualizuj serwer

Aktualizuj serwer.

# apt update -y

# apt upgrade -y

2. Zainstaluj serwer kodu

Pobierz serwer kodu z oficjalnego repozytorium za pomocą następującego polecenia:

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

Wyodrębnij plik tar i zmień nazwę za pomocą serwera kodu za pomocą następującego polecenia:

# 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

Uczyń plik binarny serwera kodu wykonywalnym.

# cd code-server

Uruchom serwer kodu.

./code-server --port 8000

Otwórz przeglądarkę komputera i przejdź do http://TWÓJ_ADRES_IP:8000. Zostaniesz poproszony o podanie hasła. Użyj hasła wyświetlanego w terminalu SSH. Otworzy się interfejs Visual Studio Code. Aby zatrzymać serwer, naciśnij  CTRL + C  w terminalu SSH.

3. Utwórz usługę uruchamiania systemu

Możemy stworzyć usługę za pomocą menedżera usług systemd Linuksa . Wykonaj następujące kroki:

Utwórz nowy plik o nazwie code-server.service za pomocą następującego polecenia:

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

Skopiuj i wklej następującą treść i zastąp ją hasłem, które chcesz ustawić. To będzie hasło, którego będziesz używać do logowania się do serwera kodów.

[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

Zapisz i zamknij plik.

Teraz uruchom i włącz code-server.service za pomocą następujących poleceń:

# systemctl daemon-reload

# systemctl start code-server

# systemctl enable code-server

Otwórz przeglądarkę komputera i przejdź do http://TWÓJ_ADRES_IP:8000. Zostaniesz poproszony o podanie hasła. Użyj hasła, które wymieniłeś w pliku code-server.service .

4. Zainstaluj i skonfiguruj Nginx

Aby uzyskać dostęp do instalacji przez nazwę domeny i dodać certyfikat SSL, zaleca się skonfigurowanie zwrotnego proxy. W tym celu demonstracyjnym używamy serwera WWW Nginx jako zwrotnego proxy.

Aby zainstalować Nginx, użyj następującego polecenia:

# apt-get install nginx -y

Wyłącz domyślny plik konfiguracyjny witryny Nginx.

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

Utwórz nowy plik konfiguracyjny witryny Nginx dla serwera kodu.

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

Wklej następujący fragment do pliku, zastępując example.com własną nazwą domeny.

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

Włącz konfigurację i uruchom ponownie serwer WWW Nginx.

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

Przetestuj plik konfiguracyjny Nginx.

# nginx -t

Jeśli nie wystąpi żaden błąd, uruchom ponownie usługę nginx .

# systemctl restart nginx

Jeśli używasz UFW jako zapory, zezwól na połączenia SSH i Nginx przez zaporę i włącz zaporę. Zapewni to dostęp do instalacji serwera kodu tylko za pośrednictwem zwrotnego serwera proxy Nginx.

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

Przejdź do nazwy domeny, aby przetestować instalację.

5. Zainstaluj Let's Encrypt SSL

Dbaj o bezpieczeństwo połączenia między serwerem a użytkownikiem końcowym, zdecydowanie zaleca się zainstalowanie certyfikatu SSL. Let's Encrypt to darmowy certyfikat SSL, który ma 90 dni ważności i będzie odnawiany co 90 dni. Używamy certbota do instalacji certyfikatu SSL.

Pobierz i zainstaluj Certbota.

# apt-get install python3-certbot-nginx

Wykonaj następujące polecenie, aby uruchomić instalator wiersza poleceń Certbota, zastępując example.com własną nazwą domeny.

# certbot --nginx -d example.com

Przejdź przez interaktywny instalator. Gdy pojawi się pytanie, czy przekierować ruch HTTP do HTTPS, wybierz przekierowanie.

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. Zainstaluj fail2ban (zalecane)

Fail2ban to aplikacja, która analizuje logi w celu wykrywania i łagodzenia zautomatyzowanych ataków na serwer. Po wykryciu określonej liczby nieudanych prób logowania, fail2ban zmieni iptables serwera, aby zablokować atakującego na określony czas.

Zainstaluj narzędzia konfiguracyjne. Jest to wymagane do zainstalowania fail2ban.

# apt-get install python3-setuptools -y

Pobierz i zainstaluj 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

Skopiuj domyślny plik konfiguracyjny jails.conf do jails.local i otwórz skopiowany plik w edytorze tekstu.

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

Wklej następujący fragment kodu na dole pliku. Możesz zmienić parametry maxretry, findtime i 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

Utwórz nowy plik konfiguracji filtru, aby zdefiniować wzorzec filtru w celu znalezienia nieudanych prób logowania w dzienniku serwera kodu.

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

Wklej następujący fragment kodu do pliku.

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

Uruchom ponownie usługę rsyslog oraz włącz i uruchom usługę fail2ban.

# systemctl restart rsyslog.service

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

Otóż ​​to. Instalacja zakończyła się pomyślnie.

W tym artykule wyjaśniliśmy, jak zainstalować Code-Server na Ubuntu 20.04


Jak obliczyć wartość nCr

Jak obliczyć wartość nCr

Kombinacja to pojęcie matematyczne. Odnosi się do ułożenia kilku przedmiotów, gdzie ich kolejność nie ma znaczenia. Podstawowa formuła opisuje liczbę prawidłowych kombinacji.

Jak napisać i skompilować swój pierwszy kod Solidity?

Jak napisać i skompilować swój pierwszy kod Solidity?

Solidity to język programowania używany przez inteligentne kontrakty na blockchainie Ethereum. Jest to statyczny, zorientowany obiektowo język programowania.

SQL kontra NoSQL: jaka jest najlepsza baza danych dla twojego następnego projektu?

SQL kontra NoSQL: jaka jest najlepsza baza danych dla twojego następnego projektu?

SQL kontra NoSQL: jaka jest najlepsza baza danych dla twojego następnego projektu?

Jak znaleźć N-cyfrowe idealne sześciany i kwadraty za pomocą Pythona, C++ i JavaScript

Jak znaleźć N-cyfrowe idealne sześciany i kwadraty za pomocą Pythona, C++ i JavaScript

Wielu programistów uwielbia rozwiązywać trudne problemy matematyczne za pomocą kodu. Pomaga wyostrzyć umysł i poprawić umiejętności rozwiązywania problemów. W tym artykule dowiesz się, jak znaleźć najmniejsze i największe n-cyfrowe idealne kwadraty i sześciany za pomocą Pythona, C++ i JavaScript. Każdy przykład zawiera również przykładowe dane wyjściowe dla kilku różnych wartości.

Jak używać Pythona jako kalkulatora wiersza poleceń

Jak używać Pythona jako kalkulatora wiersza poleceń

Chociaż możesz używać kalkulatora graficznego na swoim komputerze, interpreter języka programowania Python może pełnić funkcję kalkulatora biurkowego. Jest to tak popularny żart na temat biegania w społeczności Pythona, że ​​wspomniano o nim w oficjalnym samouczku. Oto, jak używać Pythona jako kalkulatora.

Jak osadzić tweety w swoich postach WordPress

Jak osadzić tweety w swoich postach WordPress

Umieszczanie usług stron trzecich w swoich postach WordPress to ekscytujący sposób na przyciągnięcie zainteresowania odwiedzających. Osadzone treści zawierają również wskazówki wizualne, które ułatwiają skanowanie. WordPress ułatwił dodawanie tego typu treści.

Rozpocznij pracę z notatnikiem Jupyter: samouczek

Rozpocznij pracę z notatnikiem Jupyter: samouczek

Jeśli jesteś początkującym naukowcem zajmującym się danymi, który pracuje z Pythonem lub R, musisz wiedzieć, jak korzystać z Jupyter Notebook. Jest to środowisko IDE typu open source i serwerowe do manipulowania danymi, udostępniania kodu na żywo, a także zarządzania przepływem pracy w nauce o danych.

Kodowanie nie jest dla wszystkich: 9 stanowisk technicznych, które można uzyskać bez niego

Kodowanie nie jest dla wszystkich: 9 stanowisk technicznych, które można uzyskać bez niego

Tech to bez wątpienia branża przyszłości. Jeśli jesteś jednym z milionów młodych dorosłych, którzy mają rozpocząć pierwszy etap swojej kariery, być może zastanawiasz się, co zrobić, jeśli nie lubisz kodować.

7 ważnych poleceń, które pomogą rozpocząć pracę z Pythonem dla początkujących

7 ważnych poleceń, które pomogą rozpocząć pracę z Pythonem dla początkujących

Nauka nowego języka programowania, takiego jak Python, staje się bezproblemowa, jeśli masz kompleksową mapę drogową, szczegółowo opisującą koncepcje, których należy się nauczyć jako początkujący i jak robić dalsze postępy, aby osiągnąć kolejny kamień milowy. Nawet średniozaawansowani programiści powinni często odświeżyć swoje podstawy, aby zbudować dla siebie solidną podstawę.

Twoja pierwsza aplikacja internetowa ASP.NET: jak zacząć

Twoja pierwsza aplikacja internetowa ASP.NET: jak zacząć

ASP.NET to bezpłatna wieloplatformowa platforma firmy Microsoft do tworzenia aplikacji i usług internetowych. Platforma ASP.NET jest rozszerzeniem .NET, platformy programistycznej narzędzi, języków programowania i bibliotek używanych do tworzenia różnych aplikacji.