نحوه راه اندازی بستگی به سیستم عامل برنامه Eclipse Theia Cloud IDE در اوبونتو 18.04 [Quickstart]

Eclipse Theia یک Cloud IDE قابل توسعه است که بر روی یک سرور مجازی از راه دور اجرا میشود و از یک مرورگر وب قابل دسترسی است. از لحاظ بصری ، به گونه ای طراحی شده است که به طور مشابه با Microsoft Visual Studio Code دیده شود و با آن کار شود. آنچه Eclipse Theia را از دیگر نرم افزارهای cloud IDE جدا می کند قابلیت توسعه آن است. می توان آن را با استفاده از افزونه های سفارشی اصلاح کرد ، که به شما امکان می دهد یک Cloud IDE متناسب با نیازهای خود تهیه کنید.در این آموزش ،Eclipse Theia را با استفاده از Docker Compose ، به سرور مجازی Ubuntu 18.04 خود منتقل خواهید کرد. با استفاده از nginx-proxy ، یک سیستم خودکار برای Docker ، آن را در دامنه خود قرار می دهید و با استفاده از یک گواهی نامه Let Encrypt TLS ، که با استفاده از افزونه تخصصی آن تهیه می کنید ، آن را ایمن خواهید کرد. برای مشاهده نسخه جزیی تر این آموزش به راهنمای نحوه تنظیم پلتفرم Eclipse Theia Cloud IDE روی اوبونتو 18.04 مراجعه کنید.پیش نیازها⦁ یک سرور مجازی Ubuntu 18.04 با امتیازات اصلی و یک حساب ثانویه و غیر ریشه طبق راهنمای تنظیم اولیه سرور مجازی ما برای Ubuntu 18.04⦁ Docker نصب شده روی سرور مجازی تان. مرحله 1 و مرحله 2 نحوه نصب Docker را در اوبونتو 18.04 دنبال کنید.⦁ Docker Compose که روی سرور مجازی شما نصب باشد. مرحله 1 نحوه نصب Docker Compose را در اوبونتو 18.04 دنبال کنید.⦁ نام دامنه کاملاً ثبت شده. در این آموزش کلا از theia.your_domain استفاده می شود.⦁ یک ثبت A DNS با theia.your_domain که به آدرس IP عمومی سرور مجازی شما اشاره میکند. برای جزئیات بیشتر در مورد چگونگی اضافه کردن آنها می توانید این معرفی را در DigitalOcean DNS دنبال کنید.مرحله 1 – استفاده از پروکسی nginx با Let’s Encryptدیرکتوری برای ذخیره داده ها برای Eclipse Theia ایجاد کنید$ mkdir ~/eclipse-theiaبه آن مراجعه کنید:⦁ $ cd ~/eclipse-theianginx-proxy-compose.yaml را برای ذخیره پیکربندی Docker Compose برای nginx-proxy ایجاد کنید:⦁ $ nano nginx-proxy-compose.yaml⦁خطوط زیر را اضافه کنید:~/eclipse-theia/nginx-proxy-compose.yamlversion: ‘2’services:nginx-proxy:restart: alwaysimage: jwilder/nginx-proxyports:– “80:80”– “443:443”volumes:– “/etc/nginx/htpasswd:/etc/nginx/htpasswd”– “/etc/nginx/vhost.d”– “/usr/share/nginx/html”– “/var/run/docker.sock:/tmp/docker.sock:ro”– “/etc/nginx/certs”letsencrypt-nginx-proxy-companion:restart: alwaysimage: jrcs/letsencrypt-nginx-proxy-companionvolumes:– “/var/run/docker.sock:/var/run/docker.sock:ro”volumes_from:– “nginx-proxy”در اینجا شما دو سرویس را تعریف می کنید که Docker Compose اجرا خواهد کرد ، nginx-proxy و همراه آن Let’s Encrypt. برای پروکسی ، jwilder / nginx-proxy را به عنوان تصویر مشخص میکنید، پورت های HTTP و HTTPS را نقشه برداری می کنید ، و حجم هایی را تعریف می کنید که در زمان اجرا در دسترس باشند.فایل را ذخیره کنید و ببندید.پیکربندی را به کار بگیرید:⦁ docker-compose -f nginx-proxy-compose.yaml up -d⦁خروجی نهایی اینگونه خواهد بود:OutputCreating network “eclipse-theia_default” with the default driverPulling nginx-proxy (jwilder/nginx-proxy:)…latest: Pulling from jwilder/nginx-proxy8d691f585fa8: Pull complete5b07f4e08ad0: Pull complete…Digest: sha256:dfc0666b9747a6fc851f5fb9b03e65e957b34c95d9635b4b5d1d6b01104bde28Status: Downloaded newer image for jwilder/nginx-proxy:latestPulling letsencrypt-nginx-proxy-companion (jrcs/letsencrypt-nginx-proxy-companion:)…latest: Pulling from jrcs/letsencrypt-nginx-proxy-companion89d9c30c1d48: Pull complete668840c175f8: Pull complete…Digest: sha256:a8d369d84079a923fdec8ce2f85827917a15022b0dae9be73e6a0db03be95b5aStatus: Downloaded newer image for jrcs/letsencrypt-nginx-proxy-companion:latestCreating eclipse-theia_nginx-proxy_1 … doneCreating eclipse-theia_letsencrypt-nginx-proxy-companion_1 … doneمرحله 2 – به کارگیری Eclipse Theia دوکرایز شدهnginx-proxy انتظار دارد که ترکیب های ورود به سیستم در فایلی پس از دامنه نمایش داده شده ، با فرمت htpasswd قرار بگیرند و در زیر فهرست / etc / nginx / htpasswd در کانتینر ذخیره شوند.نصب htpasswd:⦁ $ sudo apt install apache2-utilsبسته apache2-utils حاوی برنامه htpasswd است.دیرکتوری / etc / nginx / htpasswd را ایجاد کنید:⦁ $ sudo mkdir -p /etc/nginx/htpasswdیک فایل برای ذخیره ورودها به سیستم برای دامنه خود ایجاد کنید:⦁ $ sudo touch /etc/nginx/htpasswd/theia.your-domainدستور زیر را با نام کاربری و رمز عبور اجرا کنید:⦁ $ sudo htpasswd /etc/nginx/htpasswd/theia.your-domain usernamehtpasswd در انتهای فایل ، نام کاربری و جفت رمز عبور را اضافه می کند.پیکربندی را برای استقرار Eclipse Theia ایجاد کنید:⦁ $ nano eclipse-theia-compose.yamlخطوط زیر را اضافه کنید:~/eclipse-theia/eclipse-theia-compose.yamlversion: ‘2.2’services:eclipse-theia:restart: alwaysimage: theiaide/theia:nextinit: trueenvironment:– VIRTUAL_HOST=theia.your-domain– LETSENCRYPT_HOST=theia.your-domainشما یک سرویس واحد به نام eclipse-theia را با restart تنظیم شده روی always و theiaide/theia:next به عنوان تصویر کانتینر تعریف می کنید. همچنین init را روی true تنظیم میکنید. سپس دو متغیر محیط را در بخش environment مشخص می کنید: VIRTUAL_HOST و LETSENCRYPT_HOST.فایل را ذخیره کنید و ببندید.اکنون با اجرای دستور زیر Eclipse Theia را به کار بگیرید:⦁ $ docker-compose -f eclipse-theia-compose.yaml up -dخروجی نهایی مشابه زیر خواهد بود:Output…Pulling eclipse-theia (theiaide/theia:next)…next: Pulling from theiaide/theia63bc94deeb28: Pull complete100db3e2539d: Pull complete…Digest: sha256:c36dff04e250f1ac52d13f6d6e15ab3e9b8cad9ad68aba0208312e0788ecb109Status: Downloaded newer image for theiaide/theia:nextCreating eclipse-theia_eclipse-theia_1 … doneبه دامنه مورد استفاده برای Eclipse Theia بروید. مرورگر شما اعلانی را به شما نشان می دهد که از شما خواسته می شود وارد شوید. Eclipse Theia را وارد کرده و GUI ویرایشگر آن را مشاهده خواهید کرد. همچنین یک پدلاک را مشاهده خواهید کرد که نشان می دهد اتصال امن است.نتیجهاکنون Eclipse Theia ، یک cloud IDE همه کاره را با استفاده از Docker Compose و nginx-proxy بر روی سرور مجازی Ubuntu 18.04 خود نصب کرده اید. شما آن را با مجوز رایگان Let’s Encrypt TLS ایمن کرده اید و نمونه ای را تنظیم کرده اید تا نیاز به اعتبار ورود به سیستم از طرف کاربر داشته باشید. می توانید به صورت جداگانه روی کد منبع خود و مطالب آن کار کنید و یا با تیم خود همکاری کنید. در صورت نیاز به قابلیت های بیشتر ، می توانید نسخه دیگری از Eclipse Theia خود را نیز ایجاد کنید. برای کسب اطلاعات بیشتر در مورد چگونگی انجام این کار ، به مطالب Theia مراجعه نمایید.