GNU/Linux >> Belajar Linux >  >> Rocky Linux

Cara Instal Visual Studio Code Cloud IDE di Rocky Linux 8

Visual Studio Code telah menjadi salah satu IDE paling populer untuk pengkodean. Ini telah mengintegrasikan dukungan Git dan Docker, debugger kode, pelengkapan otomatis kode, kemampuan untuk bekerja dengan file jarak jauh dan mendukung berbagai plugin.

Dengan semua yang berpindah ke cloud, memiliki akses ke IDE pilihan Anda dari mana saja sangat cocok untuk pengembangan modern. Cloud IDE memungkinkan kolaborasi waktu nyata antara pengembang, sehingga meningkatkan produktivitas. coder-server adalah aplikasi yang memungkinkan Anda menjalankan Visual Studio Code dari server jauh dan membuatnya dapat diakses melalui browser apa pun.

Tutorial ini akan mengajarkan Anda cara menginstal Visual Studio Code IDE menggunakan aplikasi code-server di server Rocky Linux 8 Anda. Anda juga akan mengeksposnya melalui domain publik bersama dengan dukungan SSL.

Prasyarat

  1. Server yang menjalankan Rocky Linux dengan setidaknya 2 GB RAM dan 2 inti CPU.

  2. Pengguna non-root dengan hak istimewa sudo.

  3. Domain terdaftar dan diarahkan ke server.

  4. Nginx terinstal di server Anda.

  5. Pastikan semuanya diperbarui.

    $ sudo dnf update
    

Langkah 1 - Konfigurasi Firewall

Langkah pertama adalah mengkonfigurasi firewall. Rocky Linux hadir dengan firewall Firewalld.

Periksa apakah firewall sedang berjalan.

$ sudo firewall-cmd --state

Output berikut membuktikan bahwa firewall sedang berjalan.

running

Periksa layanan/port yang diizinkan saat ini.

$ sudo firewall-cmd --permanent --list-services

Ini akan menunjukkan output berikut.

dhcpv6-client mdns ssh

Buka port 8080 untuk server kode.

$ sudo firewall-cmd --permanent --add-port=8080/tcp

Izinkan port HTTP dan HTTPS.

$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https

Periksa kembali status firewall.

$ sudo firewall-cmd --permanent --list-all

Anda akan melihat keluaran serupa.

public
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: cockpit dhcpv6-client http https ssh
  ports: 8080/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

Muat ulang firewall untuk mengaktifkan perubahan.

$ sudo systemctl reload firewalld

Langkah 2 - Instal code-server

code-server dilengkapi dengan skrip instalasi yang dapat mendeteksi versi Linux dan menginstal biner yang sesuai untuk server Anda. Anda dapat menguji skrip penginstalan untuk memeriksa apakah skrip tersebut akan berfungsi atau tidak di server Anda.

Jalankan perintah berikut untuk menjalankan instalasi kering.

$ curl -fsSL https://code-server.dev/install.sh | sh -s -- --dry-run
Rocky Linux 8.4 (Green Obsidian)
Installing v3.12.0 of the amd64 rpm package from GitHub.

+ mkdir -p ~/.cache/code-server
+ curl -#fL -o ~/.cache/code-server/code-server-3.12.0-amd64.rpm.incomplete -C - https://github.com/cdr/code-server/releases/download/v3.12.0/code-server-3.12.0-amd64.rpm
+ mv ~/.cache/code-server/code-server-3.12.0-amd64.rpm.incomplete ~/.cache/code-server/code-server-3.12.0-amd64.rpm
+ sudo rpm -i ~/.cache/code-server/code-server-3.12.0-amd64.rpm

rpm package has been installed.

To have systemd start code-server now and restart on boot:
  sudo systemctl enable --now [email protected]$USER
Or, if you don't want/need a background service you can run:
  code-server

Jalankan setup setelah dry run berhasil.

$ curl -fsSL https://code-server.dev/install.sh | sh

Skrip instalasi mungkin meminta kata sandi sudo Anda.

Aktifkan layanan server kode.

$ sudo systemctl enable [email protected]$USER

Jika Anda ingin memperbarui instance code-server Anda, ulangi proses instalasi. code-server akan menyimpan file dan pengaturan Anda.

Langkah 3 - Konfigurasi server kode

code-server menyimpan file konfigurasinya di ~/.config/code-server/config.yaml . Buka untuk diedit.

$ sudo nano ~/.config/code-server/config.yaml

Berikut adalah pengaturan default yang disetel selama instalasi.

bind-addr: 127.0.0.1:8080
auth: password
password: a4768b3439e5e93b5d62489b
cert: false

File konfigurasi default memungkinkan perilaku berikut:

  • Dengarkan pada port IP loopback 8080
  • Mengaktifkan otorisasi sandi dengan sandi yang dibuat secara acak
  • Tidak menggunakan TLS

Anda dapat mengubah kata sandi dengan mengubah nilainya dalam file.

Jika Anda ingin menyimpan kata sandi versi hash, Anda harus menginstal npm terlebih dahulu. Setelah terinstal, jalankan perintah berikut untuk menyetel sandi hash.

$ echo -n "thisismypassword" | npx argon2-cli -e
$argon2i$v=19$m=4096,t=3,p=1$wst5qhbgk2lu1ih4dmuxvg$ls1alrvdiwtvzhwnzcm1dugg+5dto3dt1d5v9xtlws4

Anda akan mendapatkan nilai hash di terminal Anda. Salin dan tempel ke file konfigurasi.

auth: password
hashed-password: "$argon2i$v=19$m=4096,t=3,p=1$wST5QhBgk2lu1ih4DMuxvg$LS1alrVdIWtvZHwnzCM1DUGg+5DTO3Dt1d5v9XtLws4"

Pastikan untuk membungkus kata sandi hash dengan tanda kutip. Jika Anda ingin menonaktifkan Telemetri, tambahkan baris berikut ke dalam file.

disable-telemetry: false

Ada opsi lain yang dapat Anda tentukan dalam file. Untuk memeriksa semua opsi lain yang dapat Anda tambahkan, gunakan perintah berikut untuk membuat daftar semua flag.

$ code-server --help

Simpan file dengan menekan Ctrl + X dan memasukkan Y ketika diminta setelah selesai.

Langkah 4 - Instal SSL

Untuk menginstal sertifikat SSL menggunakan Let's Encrypt, kita perlu mengunduh alat Certbot. Tapi pertama-tama, kita perlu menginstal repositori EPEL.

Jalankan perintah berikut untuk menginstal Certbot.

$ sudo dnf install epel-release
$ sudo dnf install certbot

Buat sertifikat SSL.

$ sudo certbot certonly --standalone --agree-tos --preferred-challenges http -d code-server.example.com -m [email protected]

Perintah di atas akan mengunduh sertifikat ke /etc/letsencrypt/live/code-server.example.com direktori di server Anda. Pastikan untuk mengganti [email protected] dengan email Anda yang sebenarnya.

Buat grup Diffie-Hellman sertifikat.

$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

Buat direktori webroot tantangan untuk pembaruan otomatis Let's Encrypt.

$ sudo mkdir -p /var/lib/letsencrypt

Buat Pekerjaan Cron untuk memperbarui SSL. Ini akan berjalan setiap hari untuk memeriksa sertifikat dan memperbarui jika diperlukan. Untuk itu, buat dulu file /etc/cron.daily/certbot-renew dan buka untuk diedit.

$ sudo nano /etc/cron.daily/certbot-renew

Tempelkan kode berikut.

#!/bin/sh
certbot renew --cert-name example.com --webroot -w /var/lib/letsencrypt/ --post-hook "systemctl reload nginx"

Simpan file dengan menekan Ctrl + X dan memasukkan Y saat diminta.

Ubah izin pada file tugas agar dapat dieksekusi.

$ sudo chmod +x /etc/cron.daily/certbot-renew

Langkah 5 - Instal dan Konfigurasi Nginx

Buat dan buka /etc/yum.repos.d/nginx.repo file untuk membuat repositori Nginx resmi.

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

Simpan file dengan menekan Ctrl + X dan memasukkan Y saat diminta.

Instal server Nginx.

$ sudo dnf install nginx

Aktifkan layanan Nginx.

$ sudo systemctl enable nginx

Buat file konfigurasi untuk server kode di /etc/nginx/conf.d direktori.

$ sudo nano /etc/nginx/conf.d/code-server.conf

Tempelkan kode berikut di dalamnya.

server {
    	listen 80; listen [::]:80;
	    server_name code-server.example.com;
    	return 301 https://$host$request_uri;
}

server {
        server_name code-server.example.com;

        listen 443 ssl http2;
        listen [::]:443 ssl http2;

        access_log /var/log/nginx/code-server.access.log;
        error_log /var/log/nginx/code-server.error.log;

        ssl_certificate /etc/letsencrypt/live/code-server.example.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/code-server.example.com/privkey.pem;
        ssl_trusted_certificate /etc/letsencrypt/live/code-server.example.com/chain.pem;
        ssl_session_timeout 1d;
        ssl_session_cache shared:MozSSL:10m;
        ssl_session_tickets off;

        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;

        ssl_stapling on;
        ssl_stapling_verify on;
        ssl_dhparam /etc/ssl/certs/dhparam.pem;
 
	   location / {
	       proxy_pass http://localhost:8080/;
	       proxy_set_header Host $host;
	       proxy_set_header Upgrade $http_upgrade;
	       proxy_set_header Connection upgrade;
	       proxy_set_header Accept-Encoding gzip;
	   }
}

Simpan file dengan menekan Ctrl + X dan memasukkan Y saat diminta.

Validasi file konfigurasi.

$ sudo nginx -t

Jika Anda mendapatkan kesalahan berikut, Anda perlu mengedit file /etc/nginx/nginx.conf untuk menambah/menyesuaikan ukuran variabel server_names_hash_bucket_size .

nginx: [emerg] could not build the server_names_hash, you should increase server_names_hash_bucket_size

Buka file /etc/nginx/nginx.conf untuk diedit.

$ sudo nano /etc/nginx/nginx.conf

Tambahkan baris berikut sebelum baris include /etc/nginx/conf.d/*.conf; .

server_names_hash_bucket_size  64;

Simpan file dengan menekan Ctrl + X dan memasukkan Y ketika diminta. Validasi Nginx lagi.

Mulai server Nginx.

$ sudo systemctl start nginx

Langkah 6 - Gunakan server-kode

Luncurkan domain https://code-server.example.com di browser Anda, dan masukkan kata sandi untuk mengotentikasi instalasi kode-server Anda. Masukkan kata sandi dari file konfigurasi.

code-server akan meminta Pengaturan Kode VS saat pertama kali Anda meluncurkannya.

Pilih skema warna, Buka bagian yang tersisa dan klik Tandai Selesai setelah selesai.

Kesimpulan

Anda sekarang memiliki instance Visual Studio Code yang terinstal di server Rocky Linux Anda. Ada peringatan tertentu dengan ini dibandingkan dengan Kode VS resmi. Ekstensi yang tersedia bukanlah ekstensi resmi tetapi ditawarkan dari repositori tidak resmi server kode. Anda dapat berkonsultasi dengan dokumen resmi mereka jika Anda ingin menginstal ekstensi resmi. Ini akan membutuhkan beberapa usaha. Jika Anda memiliki pertanyaan, kirimkan di komentar di bawah.


Rocky Linux
  1. Cara Menginstal MariaDB 10.6 di Rocky Linux 8

  2. Cara Menginstal Docker di Rocky Linux 8

  3. Cara Menginstal MariaDB di Rocky Linux 8

  1. Cara Menginstal Cockpit di Rocky Linux 8

  2. Cara Menginstal GitLab di Rocky Linux 8

  3. Cara Menginstal Kode Visual Studio di Fedora 36 Linux

  1. Cara Menginstal Kode Visual Studio di Rocky Linux 8 dan CentOS 8

  2. Cara Instal FreeIPA di Rocky Linux 8

  3. Cara Menginstal Kode Visual Studio di Rocky Linux 8