Code server، یک نسخه کد ویژوال استودیو (VS) است که به صورت ریموت بر روی سرور قابل اجرا و از طریق مرورگر وب قابل دسترس است. این سرور، امکان ایجاد و استفاده از یک محیط توسعه سازگار را فراهم می‌کند که در هر زمان و هر مکان قابل دسترس است.

 

در این آموزش، نحوه نصب code-server برروی Debian Buster 10 شرح داده شده است.

در اینجا، code-server با استفاده از Nginx (به عنوان یک Reverse Proxy) نصب و پیکربندی و با استفاده از SSL Letsencrypt ایمن شده است و سپس احراز هویت پایه code-server فعال شده است.

 

این مطلب نیز ممکن است برای شما مفید باشد: نصب سرور Xrdp (ریموت دسکتاپ) در CentOS 8

 

در ادامه، از ایجاد یک کاربر جدید تا نصب و آزمایش Code server در Debian 10 شرح داده شده است.

 

مرحله 1: ایجاد یک کاربر جدید لینوکس

ابتدا، کاربر جدیدی را روی سیستم دبیان ایجاد کنید؛ تا code-server توسط آن کاربر اجرا شود.

بدین منظور، باید با استفاده از دستور زیر، کاربر جدیدی به نام “code” ایجاد نمایید.

useradd -m -s /bin/bash code
passwd code

اکنون، اگر رمزعبور را برای کاربر “code” تایپ کنید، کاربر جدید برای اجرای code server ایجاد می‌شود.

 

مرحله 2: بارگیری Visual Studio Code-Server از GitHub

در این مرحله، باید کد منبع code-server را از GitHub بارگیری نمایید.

بدین منظور، با کاربر “code” وارد سیستم شده و با استفاده از دستور wget بصورت زیر کد منبع code-server را بارگیری کنید.

su - code
wget https://github.com/cdr/code-server/releases/download/3.0.0/code-server-3.0.0-linux-x86_64.tar.gz

 

کد منبع را استخراج کرده و دایرکتوری را به ‘bin/’ تغییر دهید.

tar -xf code-server-3.0.0-linux-x86_64.tar.gz
mv code-server-*/ bin/

اکنون، فایل باینری ‘code-server’ را قابل اجرا کرده و یک دایرکتوری جدید ‘data’ برای ذخیره‌سازی تنظیمات code-servdr ایجاد نمایید.

tar -xf code-server-3.0.0-linux-x86_64.tar.gz
mv code-server-*/ bin/

تا اینجا، کد منبع code-server بارگیری شده است و شما برای مرحله بعدی آماده هستید.

 

مرحله 3: راه اندازی code-server به عنوان یک سرویس SysteSUBMITmd

پس از بارگیری کد منبع code-server، باید آن را به‌عنوان یک سرویس systemd تنظیم نمایید.

اکنون به کاربر root برگردید؛ یا اگر دارای امتیازات اصلی sudo هستید، دستور sudo را بصورت زیر اجرا کنید.

sudo su

سپس، به پوشه 'etc/systemd/system/' بروید و با استفاده از ویرایشگر vim، یک فایل سرویس جدید 'code-server.service' ایجاد نمایید.

cd /etc/systemd/system/
vim code-server.service

تنظیمات زیر را کپی کرده و در خط مربوط به گزینه “... = Environment = PASSWORD”، مقدار ‘hakasecodeserv’ را با پسورد خود تغییر دهید.

[Unit]
Description=code-server
After=nginx.service

[Service]
User=code
WorkingDirectory=/home/code
Environment=PASSWORD=hakasecodeserv
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

فایل را ذخیره کرده و ببندید.

 

سپس، مدیریت systemd را با استفاده از دستور systemctl بصورت زیر مجدداً بارگیری نمایید.

systemctl daemon-reload

سرویس code-server را راه اندازی کرده و آن را به بوت سیستم اضافه نمایید.

systemctl start code-server
systemctl enable code-server

 

اکنون، code-server آماده و در حال اجرا است، فعال بودن آن را می‌توانید با استفاده از دستور زیر بررسی کنید.

netstat -plntu
systemctl status code-server

تا اینجا، code-server به عنوان یک سرویس systemd برروی Debian Buster 10 در حال اجراست.

 

 

مرحله 4: ایجاد SSL Letsencrypt

در این مرحله، باید SSL letsencrypt را با استفاده از ابزار certbot، برای ایمن سازی code-server تولید کنید.

ابزار certbot را با استفاده از دستور apt بصورت زیر نصب نمایید.

sudo apt install certbot -y

پس از اتمام نصب، SSL letsencrypt را با استفاده از دستور certbot بصورت زیر تولید کنید.

certbot certonly --standalone --agree-tos -m myemail@gmail.com -d code.hakase-labs.io

پس از تکمیل، گواهینامه‌های شما در دایرکتوری ‘/etc/letsencrypt/live/code.hakase-labs.io/’ قرار می‌گیرند.

ls -lah /etc/letsencrypt/live/code.hakase-labs.io/

 

مرحله 5: راه اندازی Nginx به عنوان یک Reverse Proxy

در این مرحله، باید وب سرور Nginx را روی سیستم دبیان نصب نمایید. در اینجا، این وب سرور به عنوان یک Reverse Proxy برای code-server استفاده می‌شود که برروی پورت پیش فرض ‘8080’ اجرا می‌شود.

بسته‌های Nginx را با استفاده از دستور apt بصورت زیر نصب کنید.

sudo apt install nginx -y

پس از اتمام نصب، به دایرکتوری "etc/nginx/sites-available/" رفته و با استفاده از ویرایشگر vim یک تنظیمات جدید هاست مجازی ‘code-server’ ایجاد نمایید.

cd /etc/nginx/sites-available/
vim code-server

تنظیمات زیر را در آن فایل کپی کرده و نام دامنه و مسیر SSL را با مقادیر موردنظر خود تغییر دهید.

server {
    listen 80;
    server_name code.hakase-labs.io;
    # enforce https
    return 301 https://$server_name:443$request_uri;
}

server {
    listen 443 ssl http2;
    server_name code.hakase-labs.io;

    ssl_certificate /etc/letsencrypt/live/code.hakase-labs.io/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/code.hakase-labs.io/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;
    }
}

فایل را ذخیره کرده و آن را ببندید.

 

اکنون، هاست مجازی ‘code-server’ را فعال کرده و پیکربندی Nginx را بررسی نمایید و مطمئن شوید که هیچ خطایی وجود ندارد.

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

سپس، سرویس Nginx را مجدداً راه‌اندازی کنید.

systemctl restart nginx

تا اینجا، پیکربندی Nginx به‌عنوان یک Reverse Proxy برای code-server کامل شده و اکنون از طریق مرورگر وب شما قابل دسترسی است.

 

مرحله 6: آزمایش code-server

مرورگر وب خود را باز کرده و code-server URL installation را تایپ نمایید.

مشاهده خواهید کرد که به اتصال HTTPS امن هدایت شده و از شما پسورد سرور درخواست خواهد شد.

 

پسورد خود را تایپ کرده و روی دکمه “SUBMIT” کلیک نمایید.

اکنون، ویرایشگر Visual Code Studio Editor را در مرورگر وب خود دریافت خواهید کرد.

 

 

منبع:

howtoforge