Ușor de instalat Code-Server pe Ubuntu 20.04

Ușor de instalat Code-Server pe Ubuntu 20.04

În acest articol, vă vom ghida să instalați Code-Server pe Ubuntu 20.04.

Code-server este o aplicație de server open-source care servește cod VS pe orice mașină oriunde și o accesează în browser. Permite utilizarea de servere cloud puternice pentru a accelera compilațiile și testele și pentru a economisi bateria atunci când sunteți în mișcare.

Condiții prealabile

  • Un Ubuntu 20.04 a instalat VPS cu min. recomandat: 4 GB RAM, 2 vCPU.
  • Un nume de domeniu valid care indică VPS.
  • Un acces root utilizator sau utilizator normal cu privilegii administrative.

Instalați Code-Server pe Ubuntu 20.04

1. Actualizați serverul

Păstrați serverul la zi.

# apt update -y

# apt upgrade -y

2. Instalați Code-Server

Descărcați serverul de cod din depozitul oficial folosind următoarea comandă:

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

Extrageți fișierul tar și redenumiți-l cu serverul de cod folosind următoarea comandă:

# 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

Faceți executabil codul binar al serverului.

# cd code-server

Rulați serverul de cod.

./code-server --port 8000

Deschideți browserul computerului și navigați la http: // YOUR_IP_ADDRESS: 8000. Vi se va solicita o parolă. Utilizați parola afișată în terminalul SSH. Se va deschide interfața Visual Studio Code. Pentru a opri serverul, apăsați  CTRL + C  în terminalul SSH.

3. Creați un serviciu de pornire a sistemului

Putem crea un serviciu folosind managerul de servicii systemd al Linux . Urmați acești pași:

Creați un fișier nou după numele code-server.service folosind următoarea comandă:

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

Copiați și lipiți conținutul următor și înlocuiți-l cu parola pe care doriți să o setați. Aceasta va fi parola pe care o veți folosi pentru a vă conecta la serverul de cod.

[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

Salvați și închideți fișierul.

Acum, porniți și activați code-server.service folosind următoarele comenzi:

# systemctl daemon-reload

# systemctl start code-server

# systemctl enable code-server

Deschideți browserul computerului și navigați la http: // YOUR_IP_ADDRESS: 8000. Vi se va solicita o parolă. Utilizați parola pe care ați menționat-o în fișierul code-server.service .

4. Instalați și configurați Nginx

Pentru a accesa instalarea pe un nume de domeniu și pentru a adăuga un certificat SSL, se recomandă configurarea unui proxy invers. În acest scop demonstrativ, folosim serverul web Nginx ca proxy invers.

Pentru a instala Nginx, utilizați următoarea comandă:

# apt-get install nginx -y

Dezactivați fișierul de configurare implicit al site-ului Nginx.

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

Creați un nou fișier de configurare a site-ului Nginx pentru serverul de cod.

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

Lipiți următorul fragment în fișier, înlocuind example.com cu propriul nume de domeniu.

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

Activați configurația și reporniți serverul web Nginx.

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

Testați fișierul de configurare Nginx.

# nginx -t

Dacă nu apare nicio eroare, reporniți serviciul nginx .

# systemctl restart nginx

Dacă utilizați UFW ca firewall, permiteți conexiunile SSH și Nginx prin firewall și activați firewall-ul. Acest lucru vă va asigura că instalarea serverului de cod este accesibilă numai prin intermediul proxy-ului invers Nginx.

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

Navigați la numele de domeniu pentru a testa instalarea.

5. Instalați Let's Encrypt SSL

Păstrați conexiunea sigură între server și utilizator final, este foarte recomandat să instalați certificatul SSL. Let's Encrypt este un certificat SSL gratuit, care are o valabilitate de 90 de zile și va fi reînnoit pentru fiecare 90 de zile. Folosim certbot pentru a instala certificatul SSL.

Descărcați și instalați Certbot.

# apt-get install python3-certbot-nginx

Executați următoarea comandă pentru a lansa programul de instalare din linia de comandă Certbot, înlocuind example.com cu propriul dvs. nume de domeniu.

# certbot --nginx -d example.com

Continuați prin programul de instalare interactiv. Când vi se cere să redirecționați sau nu traficul HTTP către HTTPS, alegeți să redirecționați.

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. Instalați fail2ban (recomandat)

Fail2ban este o aplicație care analizează jurnalele pentru a detecta și atenua atacurile automatizate pe un server. Când este detectat un număr predefinit de încercări nereușite de conectare, fail2ban va modifica iptabilele serverului pentru a bloca atacatorul pentru o perioadă de timp predefinită.

Instalați instrumentele de configurare. Acest lucru este necesar pentru a instala fail2ban.

# apt-get install python3-setuptools -y

Descărcați și instalați 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

Copiați fișierul de configurare implicit jails.conf în jails.local și deschideți fișierul copiat într-un editor de text.

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

Lipiți următorul fragment în partea de jos a fișierului. Puteți modifica parametrii maxretry, timp de căutare ș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

Creați un nou fișier de configurare a filtrului pentru a defini modelul de filtrare pentru a găsi încercări nereușite de autentificare în jurnalul serverului de cod.

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

Lipiți următorul fragment în fișier.

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

Reporniți serviciul rsyslog și activați și porniți serviciul fail2ban.

# systemctl restart rsyslog.service

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

Asta e. Instalarea s-a finalizat cu succes.

În acest articol, v-am explicat cum să instalați Code-Server pe Ubuntu 20.04


Cum se calculează valoarea nCr

Cum se calculează valoarea nCr

Combinația este un concept matematic. Se referă la aranjarea mai multor obiecte în care ordinea lor este irelevantă. O formulă de bază descrie numărul de combinații valide.

Cum să scrieți și să compilați primul cod de soliditate

Cum să scrieți și să compilați primul cod de soliditate

Solidity este limbajul de programare folosit de contractele inteligente pe blockchain-ul Ethereum. Este un limbaj de programare tip static, orientat pe obiecte.

SQL vs. NoSQL: Care este cea mai bună bază de date pentru următorul tău proiect?

SQL vs. NoSQL: Care este cea mai bună bază de date pentru următorul tău proiect?

SQL vs. NoSQL: Care este cea mai bună bază de date pentru următorul tău proiect?

Cum să găsiți cuburi și pătrate perfecte cu N cifre folosind Python, C++ și JavaScript

Cum să găsiți cuburi și pătrate perfecte cu N cifre folosind Python, C++ și JavaScript

Mulți programatori iubesc să rezolve probleme matematice dificile folosind cod. Ajută la ascuțirea minții și la îmbunătățirea abilităților de rezolvare a problemelor. În acest articol, veți învăța cum să găsiți cele mai mici și mai mari pătrate și cuburi perfecte cu n cifre folosind Python, C++ și JavaScript. Fiecare exemplu conține, de asemenea, eșantion de ieșire pentru mai multe valori diferite.

Cum să utilizați Python ca calculator în linia de comandă

Cum să utilizați Python ca calculator în linia de comandă

În timp ce puteți utiliza un calculator grafic pe computer, interpretul limbajului de programare Python se poate dubla ca un calculator de birou. Este o glumă atât de populară în comunitatea Python, încât este menționată în tutorialul oficial. Iată cum puteți utiliza Python ca calculator.

Cum să încorporați tweet-uri în postările dvs. WordPress

Cum să încorporați tweet-uri în postările dvs. WordPress

Încorporarea serviciilor terță parte în postările dvs. WordPress este o modalitate interesantă de a captiva interesul vizitatorului. Conținutul încorporat oferă, de asemenea, indicii vizuale care facilitează scanarea. WordPress a simplificat adăugarea acestui tip de conținut.

Începeți cu Jupyter Notebook: Un tutorial

Începeți cu Jupyter Notebook: Un tutorial

Dacă sunteți un cercetător de date aspirant care lucrează cu Python sau R, trebuie să știți cum să utilizați Jupyter Notebook. Este un IDE open-source și bazat pe server pentru manipularea datelor, partajarea codului live, precum și gestionarea fluxului de lucru pentru știința datelor.

Codarea nu este pentru toată lumea: 9 joburi tehnologice pe care le puteți obține fără ea

Codarea nu este pentru toată lumea: 9 joburi tehnologice pe care le puteți obține fără ea

Tehnologia este, fără îndoială, industria viitorului. Dacă ești unul dintre milioanele de tineri adulți pe cale să se arunce în prima etapă a carierei tale, s-ar putea să te întrebi ce să faci dacă nu-ți place codificarea.

7 comenzi vitale pentru a începe cu Python pentru începători

7 comenzi vitale pentru a începe cu Python pentru începători

Învățarea unui nou limbaj de programare, cum ar fi Python, devine fără efort dacă aveți o foaie de parcurs cuprinzătoare care detaliază conceptele pe care să le învățați ca începător și cum să progresați mai departe pentru a atinge următoarea etapă. Chiar și programatorii intermediari ar trebui să își perfecționeze frecvent elementele de bază pentru a construi o bază solidă pentru ei înșiși.

Prima ta aplicație web ASP.NET: Cum să începeți

Prima ta aplicație web ASP.NET: Cum să începeți

ASP.NET este cadrul multiplatform gratuit al Microsoft pentru crearea de aplicații și servicii web. Platforma ASP.NET este o extensie a .NET, o platformă de dezvoltator de instrumente, limbaje de programare și biblioteci utilizate pentru a construi diferite aplicații.