مقدمه

با حرکت ابزارهای گسترش دهنده به سمت cloud ، پذیرش پلتفرم cloud IDE (محیط پیشرفت در هم تنیده) در حال رشد است. Cloud IDE از هر نوع دستگاه مدرن از طریق مرورگرهای وب قابل دسترسی است و برای سناریوهای همکاری در زمان واقعی مزایای بسیاری را ارائه می دهند. کار در یک Cloud IDE ، یک محیط توسعه و آزمایش یکپارچه را برای شما و تیم شما ایجاد می کند ، در عین حال ناسازگاری های پلتفرم را به حداقل می رساند. چون از طریق مرورگرهای وب قابل دسترسی است ، Cloud IDE ها از هر نوع دستگاه مدرن در دسترس هستند. Eclipse Theia یک Cloud IDE قابل توسعه است که بر روی یک سرور مجازی از راه دور و از یک مرورگر وب قابل دسترسی است. از لحاظ بصری ، طراحی شده است که به طور مشابه با Microsoft Visual Studio Code دیده شود و با آن کار شود ، به این معنی که از بسیاری از زبان های برنامه نویسی پشتیبانی می کند ، دارای یک طرح انعطاف پذیر و یک ترمینال یکپارچه است. آنچه Eclipse Theia را از دیگر نرم افزارهای cloud IDE جدا می کند قابلیت توسعه آن است. می توان آن را با استفاده از افزونه های سفارشی اصلاح کرد ، که به شما امکان می دهد یک Cloud IDE متناسب با نیازهای خود تهیه کنید. در این آموزش ،Eclipse Theia را با استفاده از Docker Compose ، یک ابزار ارکستر، به سرور مجازی Ubuntu .04 خود منتقل خواهید کرد. شما آن را در دامنه خود با استفاده از nginx-proxy ، یک سیستم خودکار برای Docker قرار می دهید که فرایند پیکربندی Nginx را ساده تر می کند تا به عنوان یک پروکسی مع برای یک container سرویس دهد. شما با استفاده از یک گواهی نامه Let Encrypt TLS رایگان ، که با استفاده از افزونه تخصصی آن تهیه می کنید ، آن را ایمن خواهید کرد. در پایان ، شما باید Eclipse Theia را روی سرور مجازی Ubuntu .04 خود از طریق HTTPS در دسترس داشته باشید و از کاربر بخواهید وارد شود. پیش نیازها ⦁ یک سرور مجازی Ubuntu .04 با امتیازات اصلی و یک حساب ثانویه و غیر ریشه. می توانید با دنبال کردن راهنمای تنظیم اولیه سرور مجازی ما برای Ubuntu .04 ، این تنظیمات را انجام دهید. برای این آموزش کاربر غیر ریشه sammy است. ⦁ Docker نصب شده روی سرور مجازی شما. مرحله 1 و مرحله 2 نحوه نصب Docker را در اوبونتو .04 دنبال کنید. برای آشنایی با Docker ، به ایستم Docker: مقدمه ای بر مؤلفه های مشترک مراجعه کنید. ⦁ Docker compose روی سرور مجازی شما نصب است. مرحله 1 نحوه نصب Docker Compose را در اوبونتو .04 دنبال کنید. ⦁ نام دامنه کاملاً ثبت شده. در این آموزش کلا از theia.your_domain استفاده می شود. می توانید نام دامنه را در Namecheap خریداری کنید ، یکی از آنها را به صورت رایگان در Freenom دریافت کنید ، یا از ثبت دامنه مورد نظر خود استفاده کنید. ⦁ یک ثبت A DNS با theia.your_domain که به آدرس IP عمومی سرور مجازی شما اشاره میکند. برای جزئیات بیشتر در مورد چگونگی اضافه کردن آنها می توانید این معرفی را در vpsgol DNS دنبال کنید. مرحله 1 - استفاده از پروکسی nginx با Let’s Encrypt در این بخش nginx-proxy و افزونه Let’s Encrypt را با استفاده از Docker Compose به کار میگیرید. این امر امکان تهیه و نوسازی مجوز خودکار TLS را فراهم می کند ، به طوری که هنگام استقرار Eclipse Theia از طریق HTTPS در دامنه شما قابل دسترسی خواهد بود. برای اهداف این آموزش ، تمام فایل ها را تحت ~ / eclipse-theia ذخیره می کنید. با اجرای دستور زیر دایرکتوری ایجاد کنید: ⦁ $ mkdir ~/eclipse-theia به آن مراجعه کنید: ⦁ $ cd ~/eclipse-theia پیکربندی Docker Compose را برای nginx-proxy در فایلی به نام nginx-proxy-compose.yaml ذخیره خواهید کرد. آن را با استفاده از ویرایشگر متن خود ایجاد کنید: ⦁ $nano nginx-proxy-compose.yaml خطوط زیر را اضافه کنید: ~/eclipse-theia/nginx-proxy-compose.yaml version: '2' services: nginx-proxy: restart: always image: jwilder/nginx-proxy ports: - "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: always image: jrcs/letsencrypt-nginx-proxy-companion volumes: - "/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 را نقشه برداری می کنید ، و حجم هایی را تعریف می کنید که در زمان اجرا در دسترس شما خواهد بود. حجم ها دایرکتوری هایی در سرور مجازی شما هستند که سرویس تعریف شده به آنها دسترسی کامل خواهد داشت ، که بعداً برای تنظیم تأیید اعتبار کاربر از آنها استفاده خواهید کرد. برای دستیابی به این هدف ، از جلد اول لیست استفاده می کنید ، که دایرکتوری محلی / etc / nginx / htpasswd را به همان قسمت موجود در داخل آن نگاشت می کشد. در آن پوشه ، nginx-proxy انتظار دارد فایلی را به نام دامنه هدف پیدا کند ، که حاوی اطلاعات ورود به سیستم برای احراز هویت کاربر در قالب htpasswd (نام کاربری: hashed_password) است. برای افزودن ، شما تصویر Docker را نامگذاری می کنید و با تعیین یک حجم امکان دسترسی به سوکت Docker را می دهید. سپس ، شما مشخص می کنید که این افزونه باید دسترسی به حجمهای تعریف شده برای nginx-proxy را ادامه دهد. هر دو سرویس تنظیمات راه اندازی مجدد دارند ، که روی ALWAYS تنظیم میشود و به Docker دستور می دهد کانتینر را در صورت خرابی یا ریبوت سیستم مجدداً راه اندازی کند. فایل را ذخیره کنید و ببندید. پیکربندی را با اجرای دستور انجام دهید: ⦁ $ docker-compose -f nginx-proxy-compose.yaml up -d در اینجا نام فایل nginx-proxy-compose.yaml را در پارامتر -f دستور docker-compose می گذارید ، که فایل را برای اجرا مشخص می کند. سپس ، شما فعل UP را می گذرانید که به آن دستور می دهد کانتینرها را اجرا کند. پرچم -d حالت جداشده را فعال می سازد ، به این معنی که Docker Compose کانتینرها را در پس زمینه اجرا می کند. خروجی نهایی به شرح زیر خواهد بود: Output Creating network "eclipse-theia_default" with the default driver Pulling nginx-proxy (jwilder/nginx-proxy:). latest: Pulling from jwilder/nginx-proxy 8d691f585fa8: Pull complete 5b07f4e08ad0: Pull complete . Digest: sha256:dfc0666b9747a6fc851f5fb9b03e65e957b34c95d9635b4b5d1d6b01104bde28 Status: Downloaded newer image for jwilder/nginx-proxy:latest Pulling letsencrypt-nginx-proxy-companion (jrcs/letsencrypt-nginx-proxy-companion:). latest: Pulling from jrcs/letsencrypt-nginx-proxy-companion 89d9c30c1d48: Pull complete 668840c175f8: Pull complete . Digest: sha256:a8d369d84079a923fdec8ce2f85827917a15022b0dae9be73e6a0db03be95b5a Status: Downloaded newer image for jrcs/letsencrypt-nginx-proxy-companion:latest Creating eclipse-theia_nginx-proxy_1 . done Creating eclipse-theia_letsencrypt-nginx-proxy-companion_1 . done شما nginx-proxy و همراهش Let’s Encrypt را با استفاده از Docker Compose به کار گرفته اید. اکنون می توانید Eclipse Theia را در دامنه خود تنظیم کرده و آن را ایمن کنید. مرحله 2 – به کارگیری Eclipse Theia دوکر شده در این بخش ، فایلی را ایجاد خواهید کرد که شامل هر ترکیب ورود به سیستم مجاز است که کاربر باید آن را وارد کند. سپس Eclipse Theia را با استفاده از Docker Compose به سرور مجازی خود منتقل می کنید و با استفاده از nginx-proxy آن را در دامنه امن خود قرار می دهید. همانطور که در مرحله قبل توضیح داده شد ، nginx-proxy انتظار دارد که ترکیب های ورود به سیستم در فایلی به نام دامنه در معرض ، با فرمت htpasswd قرار بگیرند و در دایرکتوری / etc / nginx / htpasswd در کانتینر ذخیره شوند. همانطور که در پیکربندی nginx-proxy مشخص کرده ایم ، دایرکتوری محلی که به دایرکتوری مجازی نگاشت می کند ، نیازی به یکسان بودن ندارد. برای ایجاد ترکیبات ورود ، ابتدا با اجرای دستور زیر باید 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 به یاد داشته باشید theia.your_domain را با دامنه Eclipse Theia خود جایگزین کنید. برای افزودن نام کاربری و رمز ورود ، دستور زیر را اجرا کنید: ⦁ $ sudo htpasswd /etc/nginx/htpasswd/theia.your_domain username USERNAME را با نام کاربری که می خواهید اضافه کنید جایگزین کنید. از شما دوبار رمز عبور خواسته می شود. پس از ارائه آن ، htpasswd نام کاربری و جفت رمز عبور را در انتهای فایل اضافه می کند. می توانید این دستور را به هر تعداد ورود به سیستم که میخواهید تکرار کنید. اکنون ، پیکربندی را برای استقرار Eclipse Theia ایجاد خواهید کرد. شما آن را در فایلی به نام eclipse-theia-compose.yaml ذخیره خواهید کرد. آن را با استفاده از ویرایشگر متن خود ایجاد کنید: ⦁ $ nano eclipse-theia-compose.yaml خطوط زیر را اضافه کنید: ~/eclipse-theia/eclipse-theia-compose.yaml version: '2.2' services: eclipse-theia: restart: always image: theiaide/theia:next init: true environment: - VIRTUAL_HOST=theia.your_domain - LETSENCRYPT_HOST=theia.your_domain در این پیکربندی ، شما یک سرویس واحد به نام eclipse-theia با ریستارت برای ALWAYS و theiaide/theia:next به عنوان تصویر کانتینر تعریف می کنید: شما همچنین می توانید init را روی true تنظیم کنید تا به Docker دستور دهید هنگام اجرای Eclipse Theia در داخل کانتینر ، از init به عنوان مدیر اصلی فرآیند استفاده کند. سپس دو متغیر محیط را در بخش environment مشخص می کنید: VIRTUAL_HOST و LETSENCRYPT_HOST. اولین مورد به پروکسی nginx منتقل می شود و به آن می گوید کانتینر چه دامنه ای را باید در معرض دید قرار دهید ، در حالی که دومی توسط افزونه Let’s Encrypt آن استفاده می شود و مشخص می کند که برای کدام دامنه درخواست گواهینامه TLS شود. مگر اینکه یک wildcard را به عنوان مقدار VIRTUAL_HOST تعیین کنید ، این دو مقدار باید یکسان باشند. به یاد داشته باشید theia.your_domain را با دامنه مورد نظر خود جایگزین کنید ، سپس فایل را ذخیره کنید و ببندید. اکنون با اجرای دستور زیر Eclipse Theia را اجرا کنید: ⦁ $ docker-compose -f eclipse-theia-compose.yaml up -d خروجی نهایی مشابه زیر به نظر می رسد: Output . Pulling eclipse-theia (theiaide/theia:next). next: Pulling from theiaide/theia 63bc94deeb28: Pull complete 100db3e2539d: Pull complete . Digest: sha256:c36dff04e250f1ac52d13f6d6e15ab3e9b8cad9ad68aba0208312e0788ecb109 Status: Downloaded newer image for theiaide/theia:next Creating eclipse-theia_eclipse-theia_1 . done سپس در مرورگر خود به دامنه مورد استفاده برای Eclipse Theia بروید. مرورگر شما فوریتی را به شما نشان می دهد که از شما خواسته می شود وارد شوید. پس از ارائه اطلاعات صحیح ، شما وارد Eclipse Theia می شوید و بلافاصله رابط کاربری گرافیکی آن را مشاهده می کنید. در نوار آدرس یک پدلاک را مشاهده خواهید کرد که نشان می دهد اتصال امن است. اگر این را بلافاصله مشاهده نکردید ، چند دقیقه صبر کنید تا گواهینامه های TLS ارائه شود ، سپس صفحه را مجدد بارگیری کنید. اکنون که می توانید به راحتی به cloud IDE خود دسترسی داشته باشید ، در مرحله بعد شروع به استفاده از ویرایشگر خواهید کرد. مرحله 3 - استفاده از رابط Eclipse Theia در این بخش به بررسی برخی از ویژگی های رابط Eclipse Theia می پردازید. در سمت چپ IDE ، یک ردیف عمودی از چهار دکمه وجود دارد که متداول ترین ویژگی های مورد استفاده را در یک صفحه جانبی باز می کند. این نوار قابل تنظیم است بنابراین می توانید این نماها این نوار قابل سفارشی

نحوه استفاده از Ansible برای نصب و راه اندازی وردپرس با LAMP در اوبونتو 18.04

چگونه می توان پلتفرم کد سرور Cloud IDE را در اوبونتو 18.04 تنظیم کرد (شروع سریع)

چگونه می توان از رول های ansible برای انتزاع محیط زیرساختی خود استفاده کرد

، ,theia ,nginx ,eclipse ,proxy ,سرور ,eclipse theia ,nginx proxy ,سرور مجازی ,استفاده از ,را در ,nginx proxy companion ,letsencrypt nginx proxy ,jwilder nginx proxy ,nginx proxy compose

مشخصات

آخرین ارسال ها

برترین جستجو ها

آخرین جستجو ها

نمدستون مرجع مقالات تخصصی طراحی اپلیکیشن ابوالقاسم کریمی(Abolghasem Karimi) کانون حسابداران انواع مدل‌های طراحی داخلی گهواره گربه marketing آموزش انواع پرده در شیراز خرید و فروش 24 آموزش هتلداری و جهانگردی رنگین سپهر