Mudah Memasang Code-Server di Ubuntu 20.04

Mudah Memasang Code-Server di Ubuntu 20.04

Dalam artikel ini, kami akan membimbing anda untuk memasang Code-Server pada Ubuntu 20.04.

Pelayan kod adalah aplikasi pelayan sumber terbuka yang menyajikan Kod VS di mana-mana mesin di mana sahaja dan mengaksesnya di penyemak imbas. Ia membolehkan memanfaatkan pelayan awan yang kuat untuk mempercepat kompilasi dan ujian, dan untuk menjimatkan bateri ketika dalam perjalanan.

Prasyarat

  • Ubuntu 20.04 yang dipasang VPS dengan min. disyorkan: RAM 4GB, 2 vCPU.
  • Nama domain yang sah yang menunjukkan VPS.
  • Akses pengguna root atau pengguna biasa dengan hak pentadbiran.

Pasang Code-Server di Ubuntu 20.04

1. Kemas kini pelayan

Pastikan pelayan sentiasa dikemas kini.

# apt update -y

# apt upgrade -y

2. Pasang Code-Server

Muat turun pelayan kod dari repositori rasmi menggunakan arahan berikut:

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

Ekstrak fail tar dan namakan semula dengan pelayan kod menggunakan arahan berikut:

# 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

Jadikan binari pelayan kod boleh dilaksanakan.

# cd code-server

Jalankan pelayan kod.

./code-server --port 8000

Buka penyemak imbas komputer anda dan arahkan ke http: // YOUR_IP_ADDRESS: 8000. Anda akan diminta kata laluan. Gunakan kata laluan yang ditunjukkan di terminal SSH. Antaramuka Visual Studio Code akan terbuka. Untuk menghentikan pelayan, tekan  CTRL + C  di terminal SSH.

3. Buat Perkhidmatan Permulaan Sistem

Kita boleh membuat perkhidmatan menggunakan pengurus perkhidmatan systemd Linux . Ikut langkah-langkah ini:

Buat fail baru dengan nama code-server.service menggunakan arahan berikut:

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

Salin dan tampal kandungan berikut dan ganti dengan kata laluan yang ingin anda tetapkan. Ini akan menjadi kata laluan yang akan anda gunakan untuk log masuk ke pelayan kod.

[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

Simpan dan tutup fail.

Sekarang, mulakan dan aktifkan perkhidmatan pelayan kod menggunakan arahan berikut:

# systemctl daemon-reload

# systemctl start code-server

# systemctl enable code-server

Buka penyemak imbas komputer anda dan arahkan ke http: // YOUR_IP_ADDRESS: 8000. Anda akan diminta kata laluan. Gunakan kata laluan yang telah anda sebutkan dalam fail perkhidmatan-server.service .

4. Pasang dan Konfigurasikan Nginx

Untuk mengakses pemasangan melalui nama domain dan menambahkan sijil SSL, disarankan untuk menyediakan proksi terbalik. Untuk tujuan demonstrasi ini, kami menggunakan pelayan web Nginx sebagai proksi terbalik.

Untuk memasang Nginx gunakan arahan berikut:

# apt-get install nginx -y

Lumpuhkan fail konfigurasi laman Nginx lalai.

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

Buat fail konfigurasi laman Nginx baru untuk pelayan kod.

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

Tampalkan potongan berikut ke dalam fail, ganti example.com dengan nama domain anda sendiri.

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

Aktifkan konfigurasi dan mulakan semula pelayan web Nginx.

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

Uji fail konfigurasi Nginx.

# nginx -t

Sekiranya tiada ralat, mulakan semula perkhidmatan nginx .

# systemctl restart nginx

Sekiranya anda menggunakan UFW sebagai firewall, benarkan sambungan SSH dan Nginx melalui firewall, dan aktifkan firewall. Ini akan memastikan bahawa pemasangan pelayan kod hanya dapat diakses melalui proksi terbalik Nginx.

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

Navigasi ke nama domain anda untuk menguji pemasangan.

5. Pasang Let's Encrypt SSL

Pastikan sambungan selamat antara pelayan dan pengguna akhir, sangat disyorkan untuk memasang sijil SSL. Let's Encrypt adalah sijil SSL percuma yang disahkan dengan masa sah 90 hari dan akan diperbaharui setiap 90 hari. Kami menggunakan certbot untuk memasang sijil SSL.

Muat turun dan pasang Certbot.

# apt-get install python3-certbot-nginx

Jalankan perintah berikut untuk melancarkan pemasang baris perintah Certbot, menggantikan example.com dengan nama domain anda sendiri.

# certbot --nginx -d example.com

Teruskan melalui pemasang interaktif. Apabila ditanya sama ada mengalihkan lalu lintas HTTP ke HTTPS atau tidak, pilih untuk mengarahkan semula.

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. Pasang fail2ban (Disyorkan)

Fail2ban adalah aplikasi yang menguraikan log untuk mengesan dan mengurangkan serangan automatik pada pelayan. Apabila sejumlah percubaan log masuk yang tidak berjaya dikesan, fail2ban akan mengubah iptables pelayan untuk menyekat penyerang untuk jangka masa yang telah ditentukan.

Pasang alat persediaan. Ini diperlukan untuk memasang fail2ban.

# apt-get install python3-setuptools -y

Muat turun dan pasang 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

Salin fail konfigurasi lalai jails.conf ke jails.local dan buka fail yang disalin dalam penyunting teks.

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

Tampal coretan berikut di bahagian bawah fail. Anda boleh mengubah parameter maxretry, findtime, dan 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

Buat fail konfigurasi penapis baru untuk menentukan corak penapis untuk mencari percubaan masuk yang tidak berjaya dalam log pelayan kod.

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

Tampalkan petikan berikut ke dalam fail.

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

Mulakan semula perkhidmatan rsyslog dan aktifkan dan mulakan perkhidmatan fail2ban.

# systemctl restart rsyslog.service

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

Itu sahaja. Pemasangan berjaya dilakukan.

Dalam artikel ini, kami telah menerangkan cara memasang Code-Server pada Ubuntu 20.04


Cara Mengira Nilai nCr

Cara Mengira Nilai nCr

Gabungan ialah konsep matematik. Ia merujuk kepada susunan beberapa objek yang susunannya tidak relevan. Formula asas menerangkan bilangan gabungan yang sah.

Cara Menulis & Menyusun Kod Soliditi Pertama Anda

Cara Menulis & Menyusun Kod Soliditi Pertama Anda

Solidity ialah bahasa pengaturcaraan yang digunakan oleh kontrak pintar pada blockchain Ethereum. Ia adalah bahasa pengaturcaraan berorientasikan objek yang ditaip secara statik.

SQL vs. NoSQL: Apakah Pangkalan Data Terbaik untuk Projek Anda Seterusnya?

SQL vs. NoSQL: Apakah Pangkalan Data Terbaik untuk Projek Anda Seterusnya?

SQL vs. NoSQL: Apakah Pangkalan Data Terbaik untuk Projek Anda Seterusnya?

Cara Mencari Kiub dan Petak Sempurna N-Digit Menggunakan Python, C++ dan JavaScript

Cara Mencari Kiub dan Petak Sempurna N-Digit Menggunakan Python, C++ dan JavaScript

Ramai pengaturcara suka menyelesaikan masalah matematik rumit menggunakan kod. Ia membantu menajamkan minda dan meningkatkan kemahiran menyelesaikan masalah. Dalam artikel ini, anda akan belajar cara mencari petak dan kiub sempurna n-digit terkecil dan terbesar menggunakan Python, C++ dan JavaScript. Setiap contoh juga mengandungi output sampel untuk beberapa nilai yang berbeza.

Cara Menggunakan Python sebagai Kalkulator Baris Perintah

Cara Menggunakan Python sebagai Kalkulator Baris Perintah

Walaupun anda boleh menggunakan kalkulator grafik pada komputer anda, penterjemah bahasa pengaturcaraan Python boleh berfungsi sebagai kalkulator meja. Ia adalah jenaka yang popular dalam komuniti Python yang disebut dalam tutorial rasmi. Inilah cara anda boleh menggunakan Python sebagai kalkulator.

Cara Membenamkan Tweet dalam Siaran WordPress Anda

Cara Membenamkan Tweet dalam Siaran WordPress Anda

Membenamkan perkhidmatan pihak ketiga pada siaran WordPress anda ialah cara yang menarik untuk memikat minat pelawat. Kandungan terbenam juga menyediakan isyarat visual yang memudahkan pengimbasan. WordPress telah memudahkan penambahan jenis kandungan ini.

Bermula Dengan Buku Nota Jupyter: Satu Tutorial

Bermula Dengan Buku Nota Jupyter: Satu Tutorial

Jika anda seorang saintis data yang bercita-cita tinggi yang bekerja dengan Python atau R, anda perlu tahu cara menggunakan Jupyter Notebook. Ia adalah IDE sumber terbuka dan berasaskan pelayan untuk memanipulasi data, berkongsi kod langsung, serta mengurus aliran kerja sains data.

Pengekodan Bukan untuk Semua Orang: 9 Pekerjaan Teknologi yang Anda Boleh Dapatkan Tanpanya

Pengekodan Bukan untuk Semua Orang: 9 Pekerjaan Teknologi yang Anda Boleh Dapatkan Tanpanya

Teknologi, tidak dinafikan, adalah industri masa depan. Jika anda salah seorang daripada berjuta-juta dewasa muda yang akan terjun ke peringkat pertama kerjaya anda, anda mungkin tertanya-tanya apa yang perlu dilakukan jika anda tidak suka pengekodan.

7 Perintah Penting untuk Bermula Dengan Python untuk Pemula

7 Perintah Penting untuk Bermula Dengan Python untuk Pemula

Mempelajari bahasa pengaturcaraan baharu seperti Python menjadi mudah jika anda mempunyai peta jalan yang komprehensif yang memperincikan konsep yang perlu dipelajari sebagai pemula dan cara untuk maju lebih jauh untuk mencapai pencapaian seterusnya. Malah pengaturcara perantaraan harus kerap meneliti asas mereka untuk membina asas yang kukuh untuk diri mereka sendiri.

Aplikasi Web ASP.NET Pertama Anda: Cara Bermula

Aplikasi Web ASP.NET Pertama Anda: Cara Bermula

ASP.NET ialah rangka kerja merentas platform percuma Microsoft untuk membina apl dan perkhidmatan web. Platform ASP.NET ialah sambungan kepada .NET, platform pembangun alat, bahasa pengaturcaraan dan perpustakaan yang digunakan untuk membina aplikasi yang berbeza.