تنظيم پلتفرم Cloud IDE كد سرور در اوبونتو 20
با حركت ابزارهاي گسترش دهنده به سمت cloud ، ايجاد و تطابق پذيري پلتفرم cloud IDE (محيط پيشرفت ادغام شده) در حال رشد است. Cloud IDE ها امكان همكاري زمان واقعي (real-time) بين تيم هاي توسعه دهنده را فراهم مي كنند تا در يك محيط توسعه يكپارچه كار كنند و ناسازگاري ها را به حداقل مي رساند اما توليد را افزايش ميدهد. چون از طريق مرورگرهاي وب قابل دسترسي اند ، Cloud IDE ها در هر نوع دستگاه مدرن موجود هستند.
code-server يك كد مايكروسافت ويژوال استوديو است كه روي يك سرور از راه دور اجرا مي شود و مستقيماً از مرورگر شما قابل دسترسي است. ويژوال استوديو كد يك ويرايشگر كد مدرن با پشتيباني Git ادغام شده، يك اشكال زدا براي كد، داراي تكميل خودكار هوشمند و ويژگي هاي قابل سفارشي سازي و قابل بسط ميباشد. بدان معني كه مي توانيد از دستگاه هاي مختلف با سيستم عامل هاي مختلف استفاده كنيد و هميشه يك محيط توسعه مداوم داشته باشيد.
در اين آموزش ، پلتفرم cloud IDE كد سرور را بر روي دستگاه Ubuntu 20.04 خود تنظيم كرده و آن را در دامنه قرار مي دهيد ، كه با گواهي TLS در Let’s Encrypt ايمن شده است. در اخر، كد ويژوال استوديو را روي سرور Ubuntu 20.04 خود راه اندازي ميكنيد كه در دامنه شما در دسترس است و با پسورد محافظت ميشود.
پيش نيازها
⦁ سروري كه اوبونتو 20.04 را اجرا ميكند با حداقل 2 گيگابايت رم ، دسترسي به ريشه و يك حساب sudo و غير ريشه. مي توانيد اين كار را با دنبال كردن راهنماي اوليه تنظيم سرور Ubuntu 20.04 انجام دهيد.
⦁ Nginx كه روي سرور شما نصب شده باشد. براي راهنمايي در مورد نحوه انجام اين كار ، مراحل 1 تا 4 نحوه نصب Nginx را در اوبونتو 20.04 مطالعه كنيد.
⦁ يك نام دامنه كاملا ثبت شده براي ميزباني كد سرور ، كه به سرور شما اشاره ميكند. در اين آموزش از code-server.your-domain استفاده مي شود. مي توانيد نام دامنه را در Namecheap خريداري كنيد ، به صورت رايگان در Freenom دريافت كنيد ، يا از ثبت دامنه مورد نظر خود استفاده كنيد.
مرحله 1 – نصب كد- سرور
در اين بخش كد-سرور را روي سرور خود تنظيم مي كنيد. اين مستلزم دانلود آخرين نسخه و ايجاد سرويس سيستمي است كه كد-سرور را هميشه در پس زمينه اجرا مي كند. همچنين رويكرد ريستارت را براي سرويس تعيين خواهيد كرد ، به اين ترتيب كد-سرور پس از خرابي يا ريبوت احتمالي در دسترس خواهد بود.
همه داده هاي مربوط به كد-سرور را در پوشه اي به نام ~ / code-server ذخيره مي كنيد. با اجراي دستور زير آن را ايجاد كنيد:
⦁ $ mkdir ~/code-server
به آن پوشه برويد:
⦁ $ cd ~/code-server
⦁
بايد به صفحه نسخه هاي كد-سرور Github برويد و آخرين لينوكس را انتخاب كنيد (نام فايل شامل “linux” خواهد بود). در زمان نوشتن ، آخرين نسخه 3.3.1 بوده است. با اجراي دستور زير آن را با استفاده از wget دانلود كنيد:
⦁ $ wget https://github.com/cdr/code-server/releases/download/v3.3.1/code-server-3.3.1-linux-amd64.tar.gz
⦁
سپس با اجراي اين دستور، آرشيو را باز كنيد:
⦁ $ tar -xzvf code-server-3.3.1-linux-amd64.tar.gz
⦁
پوشه اي دقيقاً به نام فايل اصلي كه دانلود كرده ايد ، دريافت ميكنيد كه شامل كد منبع كد-سرور است. آن را در / usr / lib / code-server كپي كنيد تا با اجراي دستور زير بتوانيد به صورت گسترده به آن دسترسي پيدا كنيد:
⦁ $ sudo cp -r code-server-3.3.1-linux-amd64 /usr/lib/code-server
⦁
سپس ، يك لينك نمادين را در / usr / bin / code-server ايجاد كنيد ، كه به عملكرد كد-سرور اشاره كند:
⦁ $ sudo ln -s /usr/lib/code-server/bin/code-server /usr/bin/code-server
⦁
در مرحله بعد ، يك پوشه براي كد-سرور ايجاد كنيد ، كه در آن داده هاي كاربر را ذخيره مي كند:
⦁ $ sudo mkdir /var/lib/code-server
⦁
اكنون كه كد-سرور را دانلود كرده ايد و آن را در سراسر سيستم در دسترس قرار داده ايد ، يك سرويس سيستمي ايجاد خواهيد كرد تا كد-سرور را هميشه در پس زمينه اجرا كنيد.
پيكربندي سرويس را در فايلي به نام code-server.service ، در ديركتوري / lib / systemd / system ذخيره خواهيد كرد ، جايي كه سيستم عامل سرويس هاي خود را ذخيره مي كند. آن را با استفاده از ويرايشگر متن خود ايجاد كنيد:
⦁ $ sudo nano /lib/systemd/system/code-server.service
⦁
خطوط زير را اضافه كنيد:
/lib/systemd/system/code-server.service
[Unit]
Description=code-server
After=nginx.service
[Service]
Type=simple
Environment=PASSWORD=your_password
ExecStart=/usr/bin/code-server –bind-addr 127.0.0.1:8080 –user-data-dir /var/lib/code-server –auth password
Restart=always
[Install]
WantedBy=multi-user.target
در اينجا ابتدا شرح سرويس را مشخص مي كنيد. سپس ، اعلام مي كنيد كه سرويس nginx قبل از اين بايد شروع شود. بعد از بخش [Unit] نوع سرويس را تعريف مي كنيد (simple بدان معني است كه فرايند بايد به سادگي اجرا شود) و فرماني را كه اجرا مي شود ارائه مي دهد.
همچنين مشخص مي كنيد كه اجراي كد-سرور جهاني بايد با چند آرگومان خاص براي كد-سرور آغاز شود. –bind-addr 127.0.0.1:8080 آن را به localhost در پورت 8080 متصل مي كند ، بنابراين فقط از داخل سرور شما قابل دسترسي است. –user-data-dir /var/lib/code-server دايركتوري داده هاي كاربر خود را تنظيم مي كند ، و –auth password مشخص مي كند كه بايد بازديد كنندگان را با يك رمزعبور ، مشخص شده در متغير محيط PASSWORD كه در خط بالاي آن مشخص شده است ، تأييد كند.
به ياد داشته باشيد كه your_password را با رمز عبور دلخواه خود جايگزين كنيد ، سپس فايل را ذخيره كنيد و ببنديد.
خط بعدي به systemd مي گويد تا كد-سرور را در تمام مواقع عدم كاركرد ريستارت كند (براي مثال ، هنگام خرابي يا قطع فرايند). بخش [Install] به سيستم دستور مي دهد تا در صورت امكان ورود به سرور شما ، اين سرويس را شروع كند.
با اجراي دستور زير سرويس كد-سرور را شروع كنيد:
⦁ $ sudo systemctl start code-server
⦁
با مشاهده وضعيت آن بررسي كنيد كه درست شروع شده است:
⦁ $ sudo systemctl status code-server
⦁
خروجي مشابه اين مشاهده خواهيد كرد:
Output
● code-server.service – code-server
Loaded: loaded (/lib/systemd/system/code-server.service; disabled; vendor preset: enabled)
Active: active (running) since Wed 2020-05-20 13:03:40 UTC; 12s ago
Main PID: 14985 (node)
Tasks: 18 (limit: 2345)
Memory: 26.1M
CGroup: /system.slice/code-server.service
├─14985 /usr/lib/code-server/bin/../lib/node /usr/lib/code-server/bin/.. –bind-addr 127.0.0.1:8080 –user-data-dir /var/lib/code-server –auth>
└─15010 /usr/lib/code-server/lib/node /usr/lib/code-server –bind-addr 127.0.0.1:8080 –user-data-dir /var/lib/code-server –auth password
May 20 13:03:40 code-server-update-2004 systemd[1]: Started code-server.
May 20 13:03:40 code-server-update-2004 code-server[15010]: info Wrote default config file to ~/.config/code-server/config.yaml
May 20 13:03:40 code-server-update-2004 code-server[15010]: info Using config file ~/.config/code-server/config.yaml
May 20 13:03:40 code-server-update-2004 code-server[15010]: info Using user-data-dir /var/lib/code-server
May 20 13:03:40 code-server-update-2004 code-server[15010]: info code-server 3.3.1 6f1309795e1cb930edba68cdc7c3dcaa01da0ab3
May 20 13:03:40 code-server-update-2004 code-server[15010]: info HTTP server listening on http://127.0.0.1:8080
May 20 13:03:40 code-server-update-2004 code-server[15010]: info – Using password from $PASSWORD
May 20 13:03:40 code-server-update-2004 code-server[15010]: info – To disable use `–auth none`
May 20 13:03:40 code-server-update-2004 code-server[15010]: info – Not serving HTTPS
براي شروع خودكار كد-سرور پس از راه اندازي مجدد سرور ، سرويس خود را با اجراي دستور زير فعال كنيد:
⦁ $ sudo systemctl enable code-server
⦁
در اين مرحله ، كد-سرور را دانلود كرده و آن را در سطح جهاني در دسترس قرار داده ايد. سپس ، يك سرويس سيستمي براي آن ايجاد كرده ايد و آن را فعال كرده ايد ، بنابراين كد-سرور از هر بوت سرور شروع مي شود. سپس ، با پيكربندي Nginx به عنوان يك پراكسي معكوس بين بازديد كننده و كد-سرور آن را در معرض نمايش دامنه خود قرار مي دهيد.
مرحله 2 – قرار گرفتن در معرض كد-سرور در دامنه شما
در اين بخش ، Nginx را به عنوان يك پروكسي معكوس براي كد-سرور پيكربندي مي كنيد.
همانطور كه در مرحله پيش نياز Nginx آموخته ايد ، فايل هاي پيكربندي سايت آن تحت /etc/nginx/sites-available ذخيره مي شوند و بعداً بايد براي فعال شدن با /etc/nginx/sites-enabled لينك شده باشند.
پيكربندي را براي قرار دادن كد-سرور در دامنه خود در فايلي به نام code-server.conf ، تحت /etc/nginx/sites-available ذخيره مي كنيد. با ايجاد ويرايشگر خود را شروع به كار كنيد:
⦁ $ sudo nano /etc/nginx/sites-available/code-server.conf
⦁
خطوط زير را اضافه كنيد:
etc/nginx/sites-available/code-server.conf
server {
listen 80;
listen [::]:80;
server_name code-server.your-domain;
location / {
غير مجاز مي باشد_pass http://localhost:8080/;
غير مجاز مي باشد_set_header Upgrade $http_upgrade;
غير مجاز مي باشد_set_header Connection upgrade;
غير مجاز مي باشد_set_header Accept-Encoding gzip;
}
}
code-server.your-domain را با دامنه مورد نظر خود جايگزين كنيد ، سپس فايل را ذخيره كنيد و ببنديد.
در اين فايل ، تعريف مي كنيد كه Nginx بايد به پورت HTTP 80 گوش كند. سپس ، يك server_name را تعيين مي كنيد كه به Nginx مي گويد براي كدام دامنه درخواست ها را بپذيرد و اين پيكربندي خاص را اعمال كند. در بلوك بعدي ، براي مكان ريشه (/) ، مشخص مي كنيد كه درخواست ها بايد به كد-سرور در حال اجرا در localhost:8080 به جلو و عقب منتقل شوند. سه خط بعدي (كه با غير مجاز مي باشد_set_header شروع ميشود) به Nginx دستور مي دهد تا برخي از هدرهاي درخواست HTTP را كه براي عملكرد صحيح WebSockets مورد نياز هستند ، استفاده كند.
براي فعال كردن اين پيكربندي سايت ، بايد با اجراي دستور زير ، يك پوشه مربوط به آن را در پوشه / etc / nginx / sites-enabled ايجاد كنيد:
⦁ $ sudo ln -s /etc/nginx/sites-available/code-server.conf /etc/nginx/sites-enabled/code-server.conf
⦁
براي آزمايش اعتبار پيكربندي ، دستور زير را اجرا كنيد:
⦁ $ sudo nginx -t
⦁
خروجي زير را مشاهده خواهيد كرد:
Output
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
براي اينكه پيكربندي عملي شود ، بايد Nginx را مجدداً راه اندازي كنيد:
⦁ $ sudo systemctl restart nginx
⦁
اكنون نصب كد-سرور شما در دامنه تان قابل دسترسي است. در مرحله بعد ، با استفاده از يك گواهي نامه Let’s Encrypt TLS رايگان ، آن را ايمن خواهيد كرد.
مرحله 3 – امنيت بخشيدن به دامنه
در اين بخش دامنه خود را با استفاده از گواهي نامه Let’s Encrypt TLS كه با استفاده از Certbot تهيه مي نماييد را ايمن مي كنيد.
براي نصب آخرين نسخه Certbot ، دستور زير را اجرا كنيد:
⦁ $ sudo apt install certbot python3-certbot-nginx
⦁
به عنوان بخشي از پيش شرط ها ، ufw (فايروال كامپايل نشده) را فعال كرده و آن را پيكربندي كرده ايد تا امكان ترافيك HTTP رمزگذاري نشده را فراهم كند. براي دسترسي ايمن به سايت ، بايد آن را پيكربندي كنيد تا با اجراي دستور زير ، ترافيك رمزگذاري شده را بپذيرد:
⦁ $ sudo ufw allow https
⦁
خروجي اين چنين خواهد بود:
Output
Rule added
Rule added (v6)
به طور مشابه با Nginx ، لازم است آن را مجدد كنيد لود تا پيكربندي آن به مرحله اجرا برسد:
⦁ $ sudo ufw reload
⦁
چنين خروجي نشان داده مي شود:
Output
Firewall reloaded
سپس در مرورگر خود به دامنه مورد استفاده براي كد-سرور برويد. اعلان ورود به كد-سرور را مشاهده خواهيد كرد.
كد-سرور از شما مي خواهد رمز عبور خود را وارد كنيد. پسوردي را كه در مرحله قبل تعيين كرديد وارد كنيد و Enter IDE را فشار دهيد. اكنون كد-سرور را وارد كرده و فوراً رابط كاربري گرافيكي آن را مشاهده مي كنيد.
اكنون كه بررسي كرده ايد كه كد-سرور به درستي در دامنه شما قرار گرفته است ، بايد مجوز TLS را رمزگذاري كنيد تا با استفاده از Certbot ، آن را ايمن كنيد.
براي درخواست گواهي نامه براي دامنه خود ، دستور زير را اجرا كنيد:
⦁ $ sudo certbot –nginx -d code-server.your-domain
⦁
در اين دستور ، شما certbot را براي درخواست گواهينامه ها براي دامنه خود اجرا مي كنيد – نام دامنه را با پارامتر -d وارد ميكنيد. پرچم –nginx به آن مي گويد براي پشتيباني از HTTPS ، پيكربندي سايت Nginx را به طور خودكار تغيير دهد. به ياد داشته باشيد كه دامنه code-server.your خود را با نام دامنه خود جايگزين كنيد.
اگر اولين بار است كه Certbot را اجرا مي كنيد ، از شما خواسته مي شود كه يك آدرس ايميل براي اخطارهاي ضروري وارد كنيد و شرايط خدمات EFF را بپذيريد. سپس Certbot درخواست Let’s Encrypt براي گواهي دامنه شما را ميدهد. سپس از شما سؤال مي كند كه آيا مايليد همه ترافيك HTTP را به HTTPS هدايت كنيد:
Output
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):
توصيه مي شود براي به حداكثر رساندن امنيت گزينه دوم را انتخاب كنيد. پس از وارد كردن انتخاب خود ، ENTER را فشار دهيد.
خروجي مشابه اين خواهد بود:
Output
IMPORTANT NOTES:
– Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/code-server.your-domain/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/code-server.your-domain/privkey.pem
Your cert will expire on … To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the “certonly” option. To non-interactively renew *all* of
your certificates, run “certbot renew”
– Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
– If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let’s Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
اين بدان معني است كه Certbot موفق به توليد گواهينامه هاي TLS شده و آنها را در پيكربندي Nginx براي دامنه شما به كار مي برد. اكنون مي توانيد دامنه كد سرور خود را در مرورگر خود مجدد لود كنيد و يك پدلاك (قفل) در سمت چپ آدرس سايت مشاهده كنيد ، اين بدان معني است كه اتصال شما به درستي ايمن است.
اكنون كه كد-سرور را از طريق يك پروكسي معكوس Nginx در دامنه خود داريد ، آماده استفاده از واسط كاربري كد-سرور هستيد.
مرحله 4 – استفاده از رابط كد-سرور
در اين بخش از برخي از ويژگي هاي رابط كد-سرور استفاده خواهيد كرد. از آنجا كه كد-سرور ويژوال استوديو كد در حال اجرا در cloud است ، همان رابط كاربري نسخه دسكتاپ مستقل را دارد.
در سمت چپ IDE ، يك رديف عمودي از شش دكمه وجود دارد كه بيشترين ويژگي هاي مورد استفاده را در يك صفحه جانبي كه با عنوان Activity Bar شناخته مي شود باز مي كند.
اين نوار قابل تنظيم است بنابراين مي توانيد اين نماها را به ترتيب ديگري جابجا كنيد يا آنها را از نوار حذف كنيد. به طور پيش فرض ، اولين دكمه منوي كلي را به صورت كشويي باز مي كند ، در حالي كه نماي دوم پنل اكسپلورر را باز مي كند كه پيمايش درخت مانند از ساختار پروژه را فراهم مي كند. مي توانيد پوشه ها و فايل هاي خود را در اينجا مديريت كنيد – ايجاد ، حذف ، جابجايي و تغيير نام آنها در صورت لزوم. نماي بعدي دسترسي به عملكرد جستجو و جايگزيني را فراهم مي كند
به دنبال اين ، به ترتيب پيش فرض ، نماي شما از سيستم هاي كنترل منبع مانند Git قرار ميگيرد. كد ويژوال استوديو همچنين از ساير ارائه دهندگان كنترل منبع پشتيباني مي كند و مي توانيد در اين مستندات دستورالعمل هاي بيشتري را براي جريان كاري كنترل منبع با ويرايشگر بيابيد.
گزينه اشكال زدايي در نوار فعاليت ، كليه اقدامات معمول را براي اشكال زدايي در پنل ارائه مي دهد. ويژوال استوديو كد با پشتيباني داخلي براي اشكال زدايي زمان اجراي Node.js و هر زباني كه به Javascript تبديل شود همراه است. براي ساير زبانها مي توانيد افزونه هايي را براي اشكال زدايي مورد نياز نصب كنيد. مي توانيد پيكربندي هاي اشكال زدايي را در فايل launch.jsonذخيره كنيد.
نماي نهايي در نوار فعاليت ، منويي را براي دسترسي به افزونه هاي موجود در Marketplace فراهم مي كند.
قسمت اصلي GUI ويرايشگر شماست كه مي توانيد آن ها را با استفاده از زبانه ها براي ويرايش كد خود جدا كنيد. مي توانيد نماي ويرايش خود را به يك سيستم شبكه يا به فايل هاي جانبي تغيير دهيد.
پس از ايجاد فايل جديد از طريق منوي File ، يك فايل خالي در يك تب جديد باز مي شود و پس از ذخيره سازي ، نام فايل در صفحه جانبي Explorer قابل مشاهده خواهد بود. ايجاد پوشه ها را مي توان با كليك راست بر روي نوار كناري Explorer و كليك بر روي New Folder انجام داد. مي توانيد پوشه اي را با كليك بر روي نام آن و همچنين drag و drop فايل ها و پوشه ها به قسمتهاي بالايي بسط دهيد تا آنها را به يك مكان جديد منتقل كنيد.
مي توانيد با وارد كردن CTRL + SHIFT + `، يا با كليك كردن بر روي ترمينال در منوي كشويي بالاي منو ، و انتخاب New Terminal ، به ترمينال دسترسي پيدا كنيد. ترمينال در يك پنل پايين تر باز خواهد شد و ديركتوري كار آن روي فضاي كاري پروژه تنظيم مي شود ، كه شامل فايل ها و پوشه هاي نمايش داده شده در پنل سمت Explorer است.
شما يك نماي كلي سطح بالا از رابط كد سرور را جستجو كرده ايد و برخي از متداول ترين ويژگي ها را مشاهده كرده ايد.
نتيجه
اكنون كد-سرور ، يك IDE همه كاره cloud را در اختيار داريد كه بر روي سرور Ubuntu 20.04 شما نصب شده است ، در دامنه شما قرار گرفته و با استفاده از گواهي Let’s Encrypt ايمن شده است. هم اكنون مي توانيد بر روي پروژه ها بصورت جداگانه و همچنين در يك مجموعه همكاري تيمي كار كنيد. اجراي IDE cloud منابع موجود در دستگاه محلي شما را آزاد مي كند و به شما امكان مي دهد منابع را در صورت لزوم مقياس كنيد. براي اطلاعات بيشتر در مورد ويژگي هاي ديگر و دستورالعمل هاي دقيق در مورد ساير مؤلفه هاي كد-سرور ، به مطالب كد ويژوال استوديو مراجعه كنيد.
خريد vps – خريد سرور مجازي – خريد سرور – سرور هلند – فروش vps – سرور مجازي آمريكا – خريدvps – سرور مجازي هلند – فروش سرور مجازي – سرور آمريكا – vps – سرور مجازي انگليس – سرور مجازي آلمان – سرور مجازي كانادا – خريد vps آمريكا – خريد وي پي اس – سرور – خريد سرور مجازي هلند – vps خريد – سرور مجازي فرانسه – سرور مجازي هلند – خريد vps آمريكا – خريد سرور مجازي ارزان هلند – vps – خريد vps هلند – خريد سرور مجازي آمريكا – خريد vps فرانسه – تست vps – سرور مجازي تست – سرور مجازي ويندوز – ارزانترين vps – خريد وي پي اس – vps ارزان –
برچسب: ،