Code-server adalah Visual Studio (VS) Code yang dapat dijalankan dari jarak jauh di server dan yang dapat diakses melalui web browser. Secara garis besar, berbeda dengan Visual Studio Code yang hanya berjalan di komputer local, Visual Studio Code – server dapat di akses dari mana saja dengan fungsi yang sama dengan Visual Studio Code di komputer lokal.
Sebagai seorang developer, tentunya Ini memungkinkan Anda untuk membuat dan memiliki lingkungan pengembangan yang konsisten yang dapat diakses kapan saja dan di mana saja, bahkan jika komputer yang sedang Anda kebetulan dengan spek minim atau tidak terinstall Visual Studio Code.
Dalam tutorial ini, kami akan membahas bagaimana menginstal dan konfigurasi Code-server dengan Nginx sebagai reverse proxy dan SSL Let’s encrypt pada Ubuntu 18.04 Server terbaru.
Prasyarat
Untuk dapat menginstall Visual studio code-server di mesin Anda, harap perhatikan persyaratan minimum berikut :
- Sistem dengan 64-bit host.
- Setidaknya 1GB RAM.
- 2 cores atau lebih CPU (1 core bisa namun tidak optimal).
- Koneksi aman HTTPS atau localhost (Wajib untuk dukungan clipboard).
- Untuk Sistem Linux: GLIBC 2.17 atau lebih baru dan GLIBCXX 3.4.15 atau lyang ebih baru .
- Dalam tutorial ini, kami menggunakan nama domain example.com sebagai contoh.
Apa yang akan kita lakukan:
- Membuat User baru dan download Code-server Binary
- Setup Code-server sebagai Systemd Service
- Membuat/menghasilkan SSL Letsencrypt
- Atur Nginx sebagai Reverse Proxy untuk Code-server
- Testing konfigurasi
Langkah 1 – Tambahkan Pengguna dan Unduh Code-Server Binary
Pertama, kita akan menambahkan pengguna baru dan mengunduh file biner code-server dari GitHub.
Tambahkan pengguna baru dengan nama ‘code
‘ menggunakan perintah di bawah ini.
useradd -m -s /bin/bash code passwd code
Sekarang masuk sebagai user ‘code’ dan download file binary dari code-server.
su - code wget https://github.com/cdr/code-server/releases/download/3.0.2/code-server-3.0.2-linux-x86_64.tar.gz
Pada saat penulisan artikel ini, versi terbaru adalah versi 3.0.2, Periksa halaman release code-server di github untuk melihat apakah ada versi terbaru yang tersedia.
Ekstrak code-server dan ganti nama direktori menjadi ‘bin
‘ dengan perintah mv
.
tar -xf code-server-3.0.2-linux-x86_64.tar.gz mv code-server-3.0.2-linux-x86_64/ bin/
Sekarang jadikan code-server sebagai file binary yang dapat dieksekusi.
chmod +x ~/bin/code-server
Dan buat direktori data baru untuk menyimpan data pengguna.
mkdir -p ~/data
Sekarang Anda telah membuat user baru dengan username ‘code’ dan mengunduh binary code-server ke direktori home user ‘code’.
Langkah 2 – Setup Code-Server sebagai Layanan Systemd
Pada langkah ini, kita akan mengatur code-server untuk dijalankan sebagai layanan sistem. Layanan code-server akan berjalan di bawah user ‘code’, dengan port default ‘8080’ dan otentikasi kata sandi.
Pergi ke direktori ‘/etc/systemd/system’ dan buat file layanan baru ‘code-server.service’ menggunakan vim editor.
cd /etc/systemd/system/ vim code-server.service
Ubah opsi ‘Environment’ untuk kata sandi dengan kata sandi Anda dan paste konfigurasi ke dalamnya.
[Unit]
Description=code-server
After=nginx.service
[Service]
User=code
WorkingDirectory=/home/code
Environment=PASSWORD=g4nt!_d3n94n_p4$$w0rd
ExecStart=/home/code/bin/code-server --host 127.0.0.1 --user-data-dir /home/code/data --auth password
Restart=always
[Install]
WantedBy=multi-user.target
Simpan dan tutup.
Sekarang reload sistem daemon untuk menerapkan perubahan.
systemctl daemon-reload
Setelah itu, mulai layanan code-server dan tambahkan ke boot sistem menggunakan perintah berikut.
systemctl start code-server systemctl enable code-server
Sekarang Periksa layanan code-server.
netstat -plntu systemctl status code-server
Dan layanan code-server aktif dan berjalan pada port default ‘8080’. Pada langkah ini Anda telah menyiapkan code-server untuk dijalankan sebagai layanan sistem.
Langkah 3 – Hasilkan SSL Let’s encrypt
Pada langkah ini, kita akan membuat SSL letsencrypt menggunakan alat certbot untuk mengamankan code-server. Instal certbot tool menggunakan perintah apt di bawah ini.
sudo apt install certbot -y
Setelah instalasi selesai, buat SSL let’s encrypt menggunakan perintah certbot di bawah ini.
certbot certonly --standalone --agree-tos -m [email protected] -d example.com
Setelah selesai, sertifikat Anda akan berada di direktori ‘/etc/letsencrypt/live/example.com/’.
ls -la /etc/letsencrypt/live/example.com/
Sekarang Anda telah membuat SSL Let’s encrypt untuk mengamankan instalasi code-server menggunakan certbot tool.
Langkah 4 – Atur Nginx sebagai Reverse Proxy
Pada langkah ini, kita akan menginstal server web Nginx dan mengaturnya sebagai reverse proxy untuk code-server dengan SSL diaktifkan .
Instal paket Nginx menggunakan perintah apt di bawah ini.
sudo apt install nginx -y
Setelah instalasi selesai, buka direktori ‘/etc/nginx/sites-available’ dan buat konfigurasi virtual host baru dengan nama ‘code-server’.
sudo vim /etc/nginx/sites-available/code-server
Sekarang ubah nama domain dan path SSL dengan milik Anda dan paste konfigurasi ke dalamnya.
server { listen 80; server_name vscode.example.com; # enforce https return 301 https://$server_name:443$request_uri; } server { listen 443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; location / { proxy_pass http://127.0.0.1:8080/; proxy_set_header Host $host; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; proxy_set_header Accept-Encoding gzip; } }
Simpan dan tutup.
Sekarang aktifkan virtual host ‘code-server’ dengan membuat symlink dari sites-available
ke sites-enabled
, dan uji konfigurasi nginx dan pastikan tidak ada error.
sudo ln -s /etc/nginx/sites-available/code-server /etc/nginx/sites-enabled/ nginx -t
Setelah itu, restart layanan nginx dan tambahkan ke boot sistem.
systemctl restart nginx systemctl enable nginx
Sekarang layanan Nginx aktif dan berjalan sebagai reverse proxy untuk code-server. Periksa menggunakan perintah di bawah ini.
systemctl status nginx
pada poin ini, Nginx service aktif dan berjalan di server Ubuntu 18.04 dengan port HTTP dan HTTPS diaktifkan.
Langkah 5 – Pengujian
Buka browser web Anda dan ketik URL instalasi code-server Anda. Masuk dengan kata sandi Anda yang telah Anda konfigurasi di file layanan code-server.
Setelah kata sandi benar, Anda akan mendapatkan editor VS Code di browser web Anda seperti di bawah ini.
Pada poin ini, Anda telah menginstal code-server pada server Ubuntu 18.04 dengan Nginx sebagai reverse proxy dan mengamankan instalasi code-server dengan SSL Let’s encrypt.