چهارشنبه ۲۳ اردیبهشت ۰۵

نحوه تنظیم Jupyter Notebook با پایتون 3 در Ubuntu 18.04

۱۵۳ بازديد

Jupyter Notebook یک برنامه وب منبع باز است که به شما امکان می دهد کد تعاملی ، تجسم سازی ها و سایر موارد را ایجاد و به اشتراک بگذارید. از این ابزار می توان همراه با چندین زبان برنامه نویسی از جمله Python ، Julia ، R ، Haskell و Ruby استفاده کرد. این اغلب برای کار با داده ها ، مدل سازی آماری و یادگیری ماشین مورد استفاده قرار می گیرد.
این آموزش شما را با راه اندازی Jupyter notebook برای اجرا از یک سرور مجازی Ubuntu 18.04 و همچنین نحوه اتصال و استفاده از notebook از یک دستگاه محلی از طریق تونل زنی را نشان می دهد.
Jupyter notebooks (یا فقط ” notebooks “) اسنادی هستند که توسط برنامه Jupyter notebook تهیه شده اند و شامل کد رایانه و عناصر متن غنی (پاراگراف ، معادلات ، ارقام ، لینک ها و …) هستند که به ارائه و به اشتراک گذاری تحقیقات قابل چاپ کمک می کنند.
با پایان این راهنما ، قادر خواهید بود با استفاده از Jupyter notebook که روی یک سرور مجازی از راه دور اجرا می شود ، کد Python 3 را اجرا کنید.
پیش نیازها
برای تکمیل این راهنما ، باید یک نمونه سرور مجازی جدید اوبونتو 18.04 با یک فایروال اساسی و یک کاربر غیر ریشه با امتیازات sudo پیکربندی شده داشته باشید. می توانید یاد بگیرید که چگونه این برنامه را با اجرای آموزش اولیه راه اندازی سرور مجازی ما تنظیم کنید.
مرحله 1 – تنظیم پایتون
برای شروع فرآیند ، متعلقات مورد نیاز محیط برنامه نویسی پایتون را از مخازن اوبونتو نصب خواهیم کرد. اوبونتو 18.04 با پایتون 3.6 از پیش نصب شده است. ما بعداً از pip مدیر بسته Python برای نصب قسمت های اضافی استفاده خواهیم کرد.
ابتدا باید شاخص بسته محلی apt را به روز کنیم و سپس بسته ها را دانلود و نصب کنیم:
⦁ $ sudo apt update

در مرحله بعد ، فایلهای هدر و پایتون را که توسط برخی از متعلقات Jupyter استفاده می شود ، نصب کنید:
⦁ $ sudo apt install python3-pip python3-dev

اکنون می توانیم به تنظیم محیط مجازی Python بپردازیم که در آن Jupyter را نصب خواهیم کرد.
مرحله 2 – یک محیط مجازی Python را برای Jupyter ایجاد کنید
اکنون که پایتون 3 را داریم ، فایل های هدر آن و pip آماده هستند ، می توانیم یک محیط مجازی پایتون ایجاد کنیم تا پروژه های خود را مدیریت کنیم. ما Jupyter را در این محیط مجازی نصب خواهیم کرد.
برای این کار ابتدا به دستور virtualenv نیاز داریم که می توانیم با pip نصب کنیم.
pip را به روز کنید و بسته را با تایپ کردن دستور زیر نصب کنید:
⦁ $ sudo -H pip3 install –upgrade pip

⦁ $ sudo -H pip3 install virtualenv

پرچم -H تضمین می کند که رویکرد امنیتی ، محیط هوم را روی دیرکتوری هوم کاربر هدف تنظیم می کند.
با نصب virtualenv ، می توانیم محیط خود را شکل دهیم. یک دایرکتوری ایجاد کنید که در آن بتوانیم فایل های پروژه خود را نگه داریم. این را my_project_dir می نامیم ، اما شما باید از اسمی استفاده کنید که برایتان معنی دار باشد و روی آن کار می کنید.
در داخل دیرکتوری پروژه ، یک محیط مجازی پایتون ایجاد خواهیم کرد. به منظور استفاده از این آموزش ، آن را my_project_env خواهیم نامید اما شما باید آن را به گونه ای نامگذاری کنید که مربوط به پروژه شما باشد.
⦁ $ mkdir ~/my_project_dir

⦁ $ cd ~/my_project_dir

با این کار دایرکتوری به نام my_project_env در دایرکتوری my_project_dir شما ایجاد می شود. در داخل ، یک نسخه محلی Python و یک نسخه محلی از pip را نصب می کند. ما می توانیم از این روش برای نصب و پیکربندی یک محیط جدا شده Python برای Jupyter استفاده کنیم.
قبل از نصب Jupyter ، باید محیط مجازی را فعال کنیم. می توانید این کار را با تایپ کردن دستور زیر انجام دهید:
⦁ $ source my_project_env/bin/activate

اعلان شما باید تغییر کند تا نشان دهد که اکنون در یک محیط مجازی پایتون فعالیت می کنید. خط فرمان شما اکنون چیزی شبیه به این را خواهد بود: (my_project_env)user@host:~/my_project_dir$
در این مرحله ، شما آماده نصب Jupyter در این محیط مجازی هستید.
مرحله 3 – نصب Jupyter
با فعال بودن محیط مجازی ، Jupyter را با نمونه محلی pip نصب کنید.
توجه: هنگامی که محیط مجازی فعال می شود (هنگامی که اعلان شما پیش از خودmy_project_env را دارد ، به جای pip3 از pip استفاده کنید ، حتی اگر از پایتون 3 استفاده می کنید. کپی محیط مجازی ابزار همیشه بدون در نظر گرفتن نسخه پایتون ، pip نامگذاری میشود.
⦁ $ pip install jupyter

در این مرحله ، شما با موفقیت همه نرم افزارهای مورد نیاز برای اجرای Jupyter را نصب کرده اید. اکنون می توانیم سرور مجازی notebook را شروع کنیم.
مرحله 4 – Jupyter notebook را اجرا کنید
اکنون همه موارد لازم برای اجرای Jupyter notebook را دارید! برای اجرای آن ، دستور زیر را اجرا کنید:
⦁ (my_project_env)Sammy@your_server:~/my_project_dir$ jupyter notebook

یک گزارش از فعالیتهای Jupyter notebook به ترمینال فرستاده و چاپ می شود. هنگامی که Jupyter notebook را اجرا می کنید ، روی یک شماره پورت خاص اجرا می شود. اولین notebook که اجرا می کنید از پورت 8888 استفاده می کند. برای بررسی شماره پورت خاصی که Jupyter Notebook روی آن در حال اجرا است ، به خروجی فرمان مورد استفاده برای شروع آن مراجعه کنید:
Output
[I 21:23:21.198 NotebookApp] Writing notebook server cookie secret to /run/user/1001/jupyter/notebook_cookie_secret
[I 21:23:21.361 NotebookApp] Serving notebooks from local directory: /home/sammy/my_project_dir
[I 21:23:21.361 NotebookApp] The Jupyter Notebook is running at:
[I 21:23:21.361 NotebookApp] http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72
[I 21:23:21.361 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 21:23:21.361 NotebookApp] No web browser found: could not locate runnable browser.
[C 21:23:21.361 NotebookApp]

Copy/paste this URL into your browser when you connect for the first time,
to login with a token:
http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72

اگر Jupyter notebook را روی یک رایانه محلی اجرا می کنید (نه بر روی سرور مجازی) ، می توانید به URL نمایش داده شده بروید تا به Jupyter Notebook بروید. اگر Jupyter notebook را بر روی یک سرور مجازی اجرا می کنید ، باید همانطور که در بخش بعدی بیان شده است ، با استفاده از تونل سازی SSH به سرور مجازی وصل شوید.
در این مرحله ، می توانید اتصال SSH را باز نگه دارید و Jupyter notebook را در حال اجرا نگه دارید یا می توانید پس از تنظیم تونل سازی SSH ، از برنامه خارج شوید و مجدداً آن را اجرا کنید. بیایید فرآیند Jupyter notebook را متوقف کنیم. بعد از تنظیم تونل سازی SSH دوباره آن را اجرا خواهیم کرد. برای متوقف کردن فرآیند Jupyter Notebook ، CTRL + C را فشار دهید ، Y را تایپ کنید و سپس ENTER را بزنید. خروجی زیر نمایش داده می شود:
Output
[C 21:28:28.512 NotebookApp] Shutdown confirmed
[I 21:28:28.512 NotebookApp] Shutting down 0 kernels

اکنون تونل SSH را تنظیم خواهیم کرد تا بتوانیم به notebook دسترسی پیدا کنیم.
مرحله 5 – با استفاده از تنظیم SSH به سرور مجازی متصل شوید
در این بخش نحوه اتصال به رابط وب Jupyter notebook با استفاده از تونل زنی SSH را نشان خواهیم داد. از آنجا که Jupyter notebook روی پورت خاصی روی سرور مجازی اجرا می شود (مانند: 8888 ،: 8889 و غیره) ، تونل سازی SSH شما را قادر می سازد به صورت ایمن به پورت سرور وصل شوید.
دو بخش زیر نحوه ایجاد یک تونل SSH از 1) مک یا لینوکس یا 2) ویندوز را شرح می دهد. لطفاً برای رایانه محلی خود به بخش فرعی مربوطه مراجعه کنید.
تنظیم SSH با Mac یا Linux
اگر از کامپیوتر محلی Mac یا Linux استفاده می کنید ، مراحل ایجاد یک تونل SSH مشابه استفاده از SSH برای ورود به سرور مجازی راه دور است ، به جز اینکه در فرمان ssh پارامترهای دیگری وجود دارد. در این زیر مجموعه پارامترهای اضافی مورد نیاز در فرمان ssh برای تونل زنی موفقیت آمیز ارائه خواهد شد.
تونل زنی SSH با اجرای دستور SSH زیر در یک پنجره ترمینال محلی جدید قابل انجام است:
⦁ $ ssh -L 8888:localhost:8888 your_server_username@your_server_ip

دستور ssh اتصال SSH را باز می کند ، اما -L مشخص می کند که پورت داده شده در هاست محلی (کلاینت) باید به میزبان و پورت داده شده در سمت از راه دور (سرور مجازی) ارسال شود. این بدان معنی است که هر آنچه در شماره پورت دوم (به عنوان مثال 8888) روی سرور مجازی اجرا می شود ، در اولین شماره پورت (به عنوان مثال 8888) در رایانه محلی شما ظاهر می شود.
به صورت اختیاری پورت 8888 را به یکی از انتخاب های خود تغییر دهید تا از استفاده از پورتی که قبلاً توسط یک فرآیند دیگر استفاده شده است خودداری کنید.
server_username نام کاربری شما (به عنوان مثال Sammy) در سرور مجازی ی است که شما ایجاد کرده اید و your_server_ip آدرس IP سرور مجازی شماست.
به عنوان مثال ، برای نام کاربری sammy و آدرس سرور مجازی 203.0.113.0 ، این دستور عبارت است از:
⦁ $ ssh -L 8888:localhost:8888 [email protected]

اگر بعد از اجرای دستور ssh-L خطایی ظاهر نشد ، می توانید به محیط برنامه نویسی خود بروید و Jupyter notebook را اجرا کنید:
(my_project_env)Sammy@your_server:~/my_project_dir$ notebook
خروجی را با URL دریافت خواهید کرد. از یک مرورگر وب در دستگاه محلی خود ، رابط وب Jupyter Notebook را با URL که با http: // localhost: 8888 شروع می شود ، باز کنید. اطمینان حاصل کنید که شماره توکن (token) درج شده است ، یا وقتی در http: // localhost: 8888 از شما خواسته شد رشته شماره توکن را وارد کنید.
تونل زنی SSH با ویندوز و Putty
اگر از ویندوز استفاده می کنید ، می توانید با استفاده از Putty یک تونل SSH ایجاد کنید.
همانطور که نشان داده شده است ابتدا آدرس سرور مجازی یا آدرس IP را به عنوان نام میزبان وارد کنید:

سپس ، برای بازکردن منو ، روی SSH در پایین صفحه سمت چپ کلیک کرده و سپس روی Tunnels کلیک کنید. برای دسترسی به Jupyter در دستگاه محلی خود ، شماره پورت محلی را که می خواهید استفاده کنید وارد کنید. 8000 یا بیشتر را انتخاب کنید تا از پورت های استفاده شده توسط سایر سرویس ها استفاده نکنید ، و مقصد را localhost:8888 تعیین کنید که 8888 تعداد پورتی است که Jupyter notebook در آن کار می کند.
اکنون روی دکمه Add کلیک کنید و پورت ها باید در لیست Forwarded ports ظاهر شوند:

در آخر ، بر روی دکمه Open کلیک کنید تا از طریق SSH به سرور مجازی وصل شوید و پورت های مورد نظر را تونل بزنید. برای اتصال به Jupyter notebook که روی سرور مجازی اجرا می شود ، به http: // localhost: 8000 (یا هر پورتی که انتخاب کردید) در یک مرورگر وب بروید. اطمینان حاصل کنید که شماره توکن درج شده است ، یا وقتی در http: // localhost: 8000 از شما خواسته شده است رشته شماره توکن را وارد کنید.
مرحله 6 – استفاده از Jupyter notebook
در این بخش به اصول استفاده از Jupyter notebook می پردازیم. اگر در حال حاضر Jupyter notebook را اجرا نمی کنید ، آن را با دستور Jupyter notebook شروع کنید.
اکنون باید با استفاده از یک مرورگر وب به آن متصل شوید. Jupyter notebook ابزاری بسیار قدرتمند با ویژگی های بسیار است. در این بخش چند ویژگی اساسی برای تشریح شما در استفاده از notebook ارائه شده است. Jupyter notebook تمام فایل ها و پوشه های موجود در دایرکتوری را که از آن استفاده می شود نشان می دهد ، بنابراین وقتی در حال کار روی یک پروژه هستید ، حتماً آن را از دیرکتوری پروژه شروع کنید.
برای ایجاد یک فایل notebook جدید ، از منوی کشویی بالا سمت راست New > Python 3 را انتخاب کنید:

یک notebook را باز می کند. اکنون می توانیم کد پایتون را در سلول اجرا کنیم یا سلول را به markdown تغییر دهیم. به عنوان مثال ، با کلیک کردن بر روی Cell> Cell Type> Markdown از نوار پیمایش بالا ، اولین سلول را برای پذیرش Markdown تغییر دهید. اکنون می توانیم با استفاده از Markdown یادداشت هایی بنویسیم و حتی معادلات را با قرار دادن آنها بین نمادهای $ $ در LaTeX بگنجانیم. به عنوان مثال ، پس از تغییر آن به نشانه گذاری ، موارد زیر را در سلول تایپ کنید:
# First Equation

Let us now implement the following equation:
$$ y = x^2$$

where $x = 2$

برای تبدیل علامت گذاری به متن غنی ، کلیدهای CTRL و ENTER را فشار دهید. باید خروجی مشابه زیر دریافت کنید:

می توانید از سلول های markdown برای نوت برداری استفاده کرده و کد خود را مستند کنید. بیایید آن معادله را اجرا کنیم و نتیجه را چاپ کنیم. روی سلول بالا کلیک کنید ، سپس کلیدهای ALT و ENTER را با هم فشار دهید تا یک سلول در زیر آن اضافه شود. کد زیر را در سلول جدید وارد کنید.
x = 2
y = x**2
print(y)

برای اجرای کد ، CTRL + ENTER را فشار دهید. نتایج زیر را دریافت خواهید کرد:

اکنون توانایی وارد کردن ماژول ها و استفاده از notebook را همانطور که می خواهید با هر محیط توسعه Python دیگر خواهید داشت!
نتیجه
اکنون می توانید با استفاده از Jupyter notebook کد پایتون و یادداشت های قابل تکرار را در Markdown بنویسید. برای مرور سریع Jupyter Notebooاز داخل رابط ، و کسب اطلاعات بیشتر، Help > User Interface Tour را از منوی پیمایش بالا انتخاب کنید.
از اینجا ، می توانید با خواندن مقاله تجزیه و تحلیل داده ها و تجسم سازی با pandas و Jupyter notebook در پایتون 3 ، شروع به تجزیه و تحلیل داده ها و تجسم سازی کنید.

 

برچسب‌ها:JupyterJupyter notebookپایتون 3

نحوه تنظیم Jupyter Notebook با پایتون 3 در Debian 9

۱۴۷ بازديد

Jupyter Notebook یک پوسته دستوری برای محاسبات تعاملی به عنوان برنامه وب ارائه میدهد. این ابزار میتواند با چندین زبان برنامه نویسی از جمله Python ، Julia ، R ، Haskell و Ruby استفاده شود. اغلب برای کار با داده ها ، مدل سازی آماری و یادگیری ماشین مورد استفاده قرار می گیرد.
این آموزش شما را با راه اندازی Jupyter notebook برای اجرا از یک سرور مجازی Debian 9 و همچنین نحوه اتصال و استفاده از notebook از یک دستگاه محلی از طریق تونل زنی را نشان می دهد.
Jupyter notebooks (یا فقط ” notebooks “) اسنادی هستند که توسط برنامه Jupyter notebook تهیه شده اند و شامل کد رایانه و عناصر متن غنی (پاراگراف ، معادلات ، ارقام ، لینک ها و …) هستند که به ارائه و به اشتراک گذاری تحقیقات قابل چاپ کمک می کنند.
با پایان این راهنما ، قادر خواهید بود با استفاده از Jupyter notebook که روی یک سرور مجازی از راه دور اجرا می شود ، کد Python 3 را اجرا کنید.
پیش نیازها
برای تکمیل این راهنما ، باید یک سرور مجازی جدید Debian 9 با یک فایروال اساسی و یک کاربر غیر ریشه با امتیازات sudo پیکربندی شده داشته باشید. با اجرای آموزش ستاپ اولیه سرور مجازی می توانید یاد بگیرید که چگونه این کار را انجام دهید.
مرحله 1 – نصب Pip و هدرهای پایتون
برای شروع فرآیند ، تمام آیتم های مورد نیاز را از مخازن دبیان دانلود و نصب خواهیم کرد. در ادامه از pip مدیر بسته Python برای نصب مولفه های اضافی استفاده خواهیم کرد.
ابتدا باید شاخص بسته محلی apt را به روز کنیم و سپس بسته ها را دانلود و نصب کنیم:
⦁ $ sudo apt update

در مرحله بعد ، فایلهای هدر پایتون و pip را که توسط برخی از متعلقات Jupyter استفاده می شود ، نصب کنید:
⦁ $ sudo apt install python3-pip python3-dev

دبیان 9 از قبل در پایتون 3.5 نصب شده است.
اکنون می توانیم به سراغ تنظیم محیط مجازی Python برویم که در آن Jupyter را نصب خواهیم کرد.
مرحله 2 – یک محیط مجازی Python را برای Jupyter ایجاد کنید
اکنون که پایتون 3 را داریم ، فایل های هدر آن و pip آماده هستند ، می توانیم یک محیط مجازی پایتون ایجاد کنیم تا پروژه های خود را مدیریت کنیم. ما Jupyter را در این محیط مجازی نصب خواهیم کرد.
برای این کار ابتدا به دستور virtualenv نیاز داریم که می توانیم با pip نصب کنیم.
pip را به روز کنید و بسته را با تایپ کردن دستور زیر نصب کنید:
⦁ $ sudo -H pip3 install –upgrade pip

⦁ $ sudo -H pip3 install virtualenv

با نصب virtualenv ، می توانیم محیط خود را شکل دهیم. یک دایرکتوری ایجاد کنید که در آن بتوانیم فایل های پروژه خود را نگه داریم.
⦁ $ mkdir ~/myprojectdir

⦁ $ cd ~/ myprojectdir

در داخل دیرکتوری پروژه ، با تایپ دستور زیر یک محیط مجازی پایتون ایجاد خواهیم کرد.
⦁ $ virtualenv myprojectenv

با این کار دایرکتوری به نام myprojectenv در دایرکتوری myprojectdir شما ایجاد می شود. در داخل ، یک نسخه محلی Python و یک نسخه محلی از pip را نصب می کند. ما می توانیم از این روش برای نصب و پیکربندی یک محیط جدا شده Python برای Jupyter استفاده کنیم.
قبل از نصب Jupyter ، باید محیط مجازی را فعال کنیم. می توانید این کار را با تایپ کردن دستور زیر انجام دهید:
⦁ $ source myprojectenv/bin/activate

اعلان شما باید تغییر کند تا نشان دهد که اکنون در یک محیط مجازی پایتون فعالیت می کنید. خط فرمان شما اکنون چیزی شبیه به این را خواهد بود: (myprojectenv)user@host:~/myprojectdir$
در این مرحله ، شما آماده نصب Jupyter در این محیط مجازی هستید.
مرحله 3 – نصب Jupyter
با فعال بودن محیط مجازی ، Jupyter را با نمونه محلی pip نصب کنید.
توجه: هنگامی که محیط مجازی فعال می شود (هنگامی که اعلان شما پیش از خودmyprojectenv را دارد ، به جای pip3 از pip استفاده کنید ، حتی اگر از پایتون 3 استفاده می کنید. کپی محیط مجازی ابزار همیشه بدون در نظر گرفتن نسخه پایتون ، pip نامگذاری میشود.
⦁ $ pip install jupyter

در این مرحله ، شما با موفقیت همه نرم افزارهای مورد نیاز برای اجرای Jupyter را نصب کرده اید. اکنون می توانیم سرور مجازی notebook را شروع کنیم.
مرحله 4 – Jupyter notebook را اجرا کنید
اکنون همه موارد لازم برای اجرای Jupyter notebook را دارید! برای اجرای آن ، دستور زیر را اجرا کنید:
⦁ (myprojectenv)Sammy@your_server:~/myprojectdir$ jupyter notebook

یک گزارش از فعالیت های Jupyter notebook به ترمینال فرستاده و چاپ می شود. هنگامی که Jupyter notebook را اجرا می کنید ، روی یک شماره پورت خاص اجرا می شود. اولین notebook که اجرا می کنید از پورت 8888 استفاده می کند. برای بررسی شماره پورت خاصی که Jupyter Notebook روی آن در حال اجرا است ، به خروجی فرمان مورد استفاده برای شروع آن مراجعه کنید:
Output
[I 21:23:21.198 NotebookApp] Writing notebook server cookie secret to /run/user/1001/jupyter/notebook_cookie_secret
[I 21:23:21.361 NotebookApp] Serving notebooks from local directory: /home/sammy/myprojectdir
[I 21:23:21.361 NotebookApp] The Jupyter Notebook is running at:
[I 21:23:21.361 NotebookApp] http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72
[I 21:23:21.361 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 21:23:21.361 NotebookApp] No web browser found: could not locate runnable browser.
[C 21:23:21.361 NotebookApp]

Copy/paste this URL into your browser when you connect for the first time,
to login with a token:
http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72

اگر Jupyter notebook را روی یک رایانه محلی اجرا می کنید (نه بر روی سرور مجازی) ، می توانید به URL نمایش داده شده بروید تا به Jupyter Notebook بروید. اگر Jupyter notebook را بر روی یک سرور مجازی اجرا می کنید ، باید همانطور که در بخش بعدی بیان شده است ، با استفاده از تونل سازی SSH به سرور مجازی وصل شوید.
در این مرحله ، می توانید اتصال SSH را باز نگه دارید و Jupyter notebook را در حال اجرا نگه دارید یا می توانید پس از تنظیم تونل سازی SSH ، از برنامه خارج شوید و مجدداً آن را اجرا کنید. بیایید فرآیند Jupyter notebook را متوقف کنیم. بعد از تنظیم تونل سازی SSH دوباره آن را اجرا خواهیم کرد. برای متوقف کردن فرآیند Jupyter Notebook ، CTRL + C را فشار دهید ، Y را تایپ کنید و سپس ENTER را بزنید. خروجی زیر نمایش داده می شود:
Output
[C 21:28:28.512 NotebookApp] Shutdown confirmed
[I 21:28:28.512 NotebookApp] Shutting down 0 kernels

اکنون تونل SSH را تنظیم خواهیم کرد تا بتوانیم به notebook دسترسی پیدا کنیم.
مرحله 5 – با استفاده از تنظیم SSH به سرور مجازی متصل شوید
در این بخش نحوه اتصال به رابط وب Jupyter notebook با استفاده از تونل زنی SSH را نشان خواهیم داد. از آنجا که Jupyter notebook روی پورت خاصی روی سرور مجازی اجرا می شود (مانند: 8888 ،: 8889 و غیره) ، تونل سازی SSH شما را قادر می سازد به صورت ایمن به پورت سرور مجازی وصل شوید.
دو بخش زیر نحوه ایجاد یک تونل SSH از 1) مک یا لینوکس یا 2) ویندوز را شرح می دهد. لطفاً برای رایانه محلی خود به بخش فرعی مربوطه مراجعه کنید.
تنظیم SSH با Mac یا Linux
اگر از کامپیوتر محلی Mac یا Linux استفاده می کنید ، مراحل ایجاد یک تونل SSH مشابه استفاده از SSH برای ورود به سرور مجازی راه دور است ، به جز اینکه در فرمان ssh پارامترهای دیگری وجود دارد. در این زیر مجموعه پارامترهای اضافی مورد نیاز در فرمان ssh برای تونل زنی موفقیت آمیز ارائه خواهد شد.
تونل زنی SSH با اجرای دستور SSH زیر در یک پنجره ترمینال محلی جدید قابل انجام است:
⦁ $ ssh -L 8888:localhost:8888 your_server_username@your_server_ip

دستور ssh اتصال SSH را باز می کند ، اما -L مشخص می کند که پورت داده شده در هاست محلی (کلاینت) باید به میزبان و پورت داده شده در سمت از راه دور (سرور مجازی) ارسال شود. این بدان معنی است که هر آنچه در شماره پورت دوم (به عنوان مثال 8888) روی سرور مجازی اجرا می شود ، در اولین شماره پورت (به عنوان مثال 8888) در رایانه محلی شما ظاهر می شود.
به صورت اختیاری پورت 8888 را به یکی از انتخاب های خود تغییر دهید تا از استفاده از پورتی که قبلاً توسط یک فرآیند دیگر استفاده شده است خودداری کنید.
server_username نام کاربری شما (به عنوان مثال Sammy) در سرور مجازی ی است که شما ایجاد کرده اید و your_server_ip آدرس IP سرور مجازی شماست.
به عنوان مثال ، برای نام کاربری sammy و آدرس سرور مجازی 203.0.113.0 ، این دستور عبارت است از:
⦁ $ ssh -L 8888:localhost:8888 [email protected]

اگر بعد از اجرای دستور ssh-L خطایی ظاهر نشد ، می توانید به محیط برنامه نویسی خود بروید و Jupyter notebook را اجرا کنید:
(myprojectenv)Sammy@your_server:~/myprojectdir$ notebook
خروجی را با URL دریافت خواهید کرد. از یک مرورگر وب در دستگاه محلی خود ، رابط وب Jupyter Notebook را با URL که با http: // localhost: 8888 شروع می شود ، باز کنید. اطمینان حاصل کنید که شماره توکن (token) درج شده است ، یا وقتی در http: // localhost: 8888 از شما خواسته شد رشته شماره توکن را وارد کنید.
تونل زنی SSH با ویندوز و Putty
اگر از ویندوز استفاده می کنید ، می توانید با استفاده از Putty یک تونل SSH ایجاد کنید.
همانطور که نشان داده شده است ابتدا آدرس سرور مجازی یا آدرس IP را به عنوان نام میزبان وارد کنید:

سپس ، برای بازکردن منو ، روی SSH در پایین صفحه سمت چپ کلیک کرده و سپس روی Tunnels کلیک کنید. برای دسترسی به Jupyter در دستگاه محلی خود ، شماره پورت محلی را که می خواهید استفاده کنید وارد کنید. 8000 یا بیشتر را انتخاب کنید تا از پورت های استفاده شده توسط سایر سرویس ها استفاده نکنید ، و مقصد را localhost:8888 تعیین کنید که 8888 تعداد پورتی است که Jupyter notebook در آن کار می کند.
اکنون روی دکمه Add کلیک کنید و پورت ها باید در لیست Forwarded ports ظاهر شوند:

در آخر ، بر روی دکمه Open کلیک کنید تا از طریق SSH به سرور مجازی وصل شوید و پورت های مورد نظر را تونل بزنید. برای اتصال به Jupyter notebook که روی سرور مجازی اجرا می شود ، به http: // localhost: 8000 (یا هر پورتی که انتخاب کردید) در یک مرورگر وب بروید. اطمینان حاصل کنید که شماره توکن درج شده است ، یا وقتی در http: // localhost: 8000 از شما خواسته شده است رشته شماره توکن را وارد کنید.
مرحله 6 – استفاده از Jupyter notebook
در این بخش به اصول استفاده از Jupyter notebook می پردازیم. اگر در حال حاضر Jupyter notebook را اجرا نمی کنید ، آن را با دستور Jupyter notebook شروع کنید.
اکنون باید با استفاده از یک مرورگر وب به آن متصل شوید. Jupyter notebook ابزاری بسیار قدرتمند با ویژگی های بسیار است. در این بخش چند ویژگی اساسی برای تشریح شما در استفاده از notebook ارائه شده است. Jupyter notebook تمام فایل ها و پوشه های موجود در دایرکتوری را که از آن استفاده می شود نشان می دهد ، بنابراین وقتی در حال کار روی یک پروژه هستید ، حتماً آن را از دیرکتوری پروژه شروع کنید.
برای ایجاد یک فایل notebook جدید ، از منوی کشویی بالا سمت راست New > Python 3 را انتخاب کنید:

یک notebook را باز می کند. اکنون می توانیم کد پایتون را در سلول اجرا کنیم یا سلول را به markdown تغییر دهیم. به عنوان مثال ، با کلیک کردن بر روی Cell> Cell Type> Markdown از نوار پیمایش بالا ، اولین سلول را برای پذیرش Markdown تغییر دهید. اکنون می توانیم با استفاده از Markdown یادداشت هایی بنویسیم و حتی معادلات را با قرار دادن آنها بین نمادهای $ $ در LaTeX بگنجانیم. به عنوان مثال ، پس از تغییر آن به نشانه گذاری ، موارد زیر را در سلول تایپ کنید:
# Simple Equation

Let us now implement the following equation:
$$ y = x^2$$

where $x = 2$

برای تبدیل علامت گذاری به متن غنی ، کلیدهای CTRL و ENTER را فشار دهید. باید خروجی مشابه زیر دریافت کنید:

می توانید از سلول های markdown برای نوت برداری استفاده کرده و کد خود را مستند کنید. بیایید آن معادله را اجرا کنیم و نتیجه را چاپ کنیم. روی سلول بالا کلیک کنید ، سپس کلیدهای ALT و ENTER را با هم فشار دهید تا یک سلول در زیر آن اضافه شود. کد زیر را در سلول جدید وارد کنید.
x = 2
y = x**2
print(y)

برای اجرای کد ، CTRL + ENTER را فشار دهید. نتایج زیر را دریافت خواهید کرد:

اکنون توانایی وارد کردن ماژول ها و استفاده از notebook را همانطور که می خواهید با هر محیط توسعه Python دیگر خواهید داشت!
نتیجه
اکنون می توانید با استفاده از Jupyter notebook کد پایتون و یادداشت های قابل تکرار را در Markdown بنویسید. برای مرور سریع Jupyter Notebooاز داخل رابط ، و کسب اطلاعات بیشتر، Help > User Interface Tour را از منوی پیمایش بالا انتخاب کنید.
از اینجا ، می توانید با خواندن مقاله تجزیه و تحلیل داده ها و تجسم سازی با pandas و Jupyter notebook در پایتون 3 ، شروع به تجزیه و تحلیل داده ها و تجسم سازی کنید.

 

برچسب‌ها:Debian 9Jupyter notebookPython

نحوه نصب و پیکربندی Nextcloud در Debian 901

۱۴۵ بازديد

Nextcloud ، انشعابی از ownCloud ، یک سرور مجازی اشتراک فایل است که به شما امکان می دهد محتوای شخصی خود مانند اسناد و تصاویر را، بسیار شبیه به Dropbox ، در یک مکان متمرکز ذخیره کنید. تفاوتش با Nextcloud در این است که تمام ویژگی های آن منبع باز هستند. همچنین کنترل و امنیت داده های حساس شما را به شما باز می گرداند ، بنابراین استفاده از سرویس میزبانی ابری شخص ثالث را از بین می برد.
در این آموزش ، یک نمونه Nextcloud را روی یک سرور مجازی Debian 9 نصب و پیکربندی خواهیم کرد.
پیش نیازها
برای انجام مراحل در این راهنما به موارد زیر نیاز دارید:
⦁ کاربر غیر ریشه sudo و فایروال که روی سرور مجازی شما تنظیم شده باشند: می توانید با دنبال کردن راهنمای اولیه سرور مجازی Debian 9 یک کاربر با امتیازات sudo ایجاد کرده و یک فایروال پایه را تنظیم کنید.
⦁ (اختیاری) یک نام دامنه که به سرور مجازی شما اشاره کند: ما با TLS / SSL اتصالات را برای نصب Nextcloud ایمن می کنیم. اگر سرور مجازی شما دارای نام دامنه باشد ، Nextcloud می تواند گواهی SSL رایگان و قابل اعتماد را از  ⦁ Let’s Encrypt رمزگذاری و مدیریت کند. در غیر این صورت ، Nextcloud می تواند گواهی SSL خود امضا شده را تنظیم کند که بتواند اتصالات را رمزگذاری کند ، اما به طور پیش فرض در مرورگرهای وب قابل اعتماد نخواهد بود.
پس از اتمام مراحل فوق ، به ادامه نحوه یادگیری راه اندازی Nextcloud در سرور مجازی خود بپردازید.
مرحله 1 – نصب Nextcloud
با استفاده از سیستم بسته بندی snappy، Nextcloud را نصب خواهیم کرد. این سیستم بسته بندی ، که به طور پیش فرض در Debian 9 موجود است ، به سازمان ها امکان می دهد تا نرم افزار را به همراه کلیه متعلقات و پیکربندی های مربوطه ، به یک واحد خودشمول با به روز رسانی های خودکار منتقل کنند. این بدان معنی است که به جای نصب و پیکربندی یک سرور مجازی وب و پایگاه داده و سپس پیکربندی برنامه Nextcloud برای اجرای آن ، می توانیم بسته snap را که به طور خودکار سیستم های زیرین را کنترل می کند نصب کنیم.
برای دانلود بسته snap Nextcloud و نصب آن بر روی سیستم ، این دستورات را تایپ کنید:
⦁ $ sudo apt update

⦁ $ sudo apt install snapd

سپس خارج شوید و یا دوباره وارد شوید، یا اسکریپت/etc/profile.d/apps-bin-path.sh را سورس کنید تا /snap/binرا به متغیر بخش PATH  خود اضافه کنید:
⦁ $ source /etc/profile.d/apps-bin-path.sh

بسته Nextcloud روی سرور مجازی شما دانلود و نصب می شود. شما می توانید با لیست کردن تغییراتی که مربوط به snap است ، تایید کنید که مراحل نصب موفقیت آمیز بوده است:
⦁ $ snap changes nextcloud

Output
ID Status Spawn Ready Summary
4 Done today at 16:12 UTC today at 16:12 UTC Install “nextcloud” snap

وضعیت و خلاصه نشان می دهد که نصب بدون هیچ مشکلی انجام شده است.
دریافت اطلاعات اضافی درباره Nextcloud Snap
اگر اطلاعات بیشتری درباره nextcloud snap می خواهید ، چند دستور وجود دارد که می توانند مفید باشند.
دستور snap info می تواند توضیحات ، دستورات مدیریت Nextcloud موجود و همچنین نسخه نصب شده و کانال snap در حال پیگیری را به شما نشان دهد:
⦁ $ snap info nextcloud

snap ​​می تواند اتصالاتی را که پشتیبانی می کنند تعریف کند ، که از یک سوراخ و دو شاخه تشکیل شده است که در صورت اتصال به یکدیگر ، دسترسی سریع به قابلیت های خاص یا سطح دسترسی را به شما می دهد. به عنوان مثال ، snap هایی که باید به عنوان کلاینت شبکه عمل کنند باید رابط شبکه را داشته باشند. برای دیدن اینکه snap کدام رابط ها را تعریف می کند ، تایپ کنید:
⦁ $ snap interfaces nextcloud

Output
Slot Plug
:network nextcloud
:network-bind nextcloud
– nextcloud:removable-media

برای اطلاع از کلیه سرویس ها و برنامه های خاصی که این snap ارائه می دهد ، می توانید با تایپ کردن دستور زیر به فایل تعریف snap نگاهی بیندازید:
⦁ $ less /snap/nextcloud/current/meta/snap.yaml

در صورت نیاز به کمک به اشکال زدایی ، این امکان را به شما می دهد تا مؤلفه های جداگانه موجود در آن را ببینید.
مرحله 2 – پیکربندی یک حساب کاربری
چند روش مختلف برای تنظیم پیکربندی Nextcloud Snap وجود دارد. در این راهنما ، به جای ایجاد یک کاربر اداری از طریق رابط وب ، یک کاربر را در خط فرمان ایجاد خواهیم کرد تا از یک پنجره کوچک جلوگیری کنیم که در آن صفحه ثبت نام ادمین برای هر کسی که از آدرس IP سرور مجازی یا نام دامنه شما بازدید کند ، قابل دسترسی باشد.
برای پیکربندی پیوند Nextcloud با یک حساب ادمین جدید ، از دستور nextcloud.manual-install استفاده کنید. به عنوان آرگومان باید نام کاربری و رمزعبور را وارد کنید:
⦁ $ sudo -i nextcloud.manual-install sammy password


پیام زیر نشان می دهد که Nextcloud به درستی پیکربندی شده است:
Output
Nextcloud is not installed – only a limited number of commands are available
Nextcloud was successfully installed

اکنون که Nextcloud نصب شده است ، باید دامنه های مورد اعتماد را تنظیم کنیم تا Nextcloud با استفاده از نام دامنه یا آدرس IP سرور مجازی به درخواست ها پاسخ دهد.
مرحله 3 – تنظیم دامنه های قابل اعتماد
هنگام نصب از خط فرمان ، Nextcloud نام های هاست را محدود می کند که نمونه به آن پاسخ می دهد. به طور پیش فرض ، این سرویس فقط به درخواست های ارسال شده به نام میزبان “localhost” پاسخ می دهد. ما از طریق نام دامنه سرور مجازی یا آدرس IP سرور مجازی به Nextcloud دسترسی خواهیم داشت ، بنابراین برای پذیرش این نوع درخواست ها ، باید این تنظیم را مشخص کنیم.
می توانید تنظیمات فعلی را با جستجوی مقدار آرایه trusted_domains مشاهده کنید:
⦁ $ sudo -i nextcloud.occ config:system:get trusted_domains

Output
localhost

در حال حاضر ، فقط localhost به عنوان اولین مقدار در آرایه موجود است. می توانیم با تایپ کردن دستور زیر، ورودی برای نام دامنه یا آدرس IP سرور مجازی خود را اضافه کنیم:
⦁ $ sudo -i nextcloud.occ config:system:set trusted_domains 1 –value=example.com

Output
System config value trusted_domains => 1 set to string example.com

اگر مجدداً دامنه های مورد اعتماد را جستجو کنیم ، خواهیم دید که اکنون دو ورودی داریم:
⦁ $ sudo -i nextcloud.occ config:system:get trusted_domains

Output
localhost
example.com

اگر می خواهید یک روش دیگر برای دستیابی به مثال Nextcloud اضافه کنید ، می توانید با اجرای مجدد دستور config:system:set با یک شماره ایندکس افزایشی (“1” در دستور اول) و تنظیم –value دامنه ها یا آدرس های دیگری را اضافه کنید .
مرحله 4 – ایمن سازی رابط وب Nextcloud با SSL
قبل از شروع استفاده از Nextcloud ، باید رابط وب را ایمن کنیم.
اگر یک نام دامنه در ارتباط با سرور مجازی Nextcloud خود دارید ، nextcloud snap می تواند به شما در دستیابی و پیکربندی یک گواهینامه SSL قابل اعتماد از Let’s Encrypt کمک کند. اگر سرور مجازی Nextcloud شما نام دامنه نداشته باشد ، Nextcloud می تواند گواهی خود امضا شده را تنظیم کند که ترافیک وب شما را رمزگذاری می کند اما به طور خودکار توسط مرورگر وب شما قابل اعتماد نخواهد بود.
با این حساب ، بخش زیر را که با سناریوی شما مطابقت دارد ، دنبال کنید.
گزینه 1: تنظیم SSL با Let’s Encrypt
اگر یک نام دامنه در ارتباط با سرور مجازی Nextcloud خود دارید ، بهترین گزینه برای تأمین امنیت رابط وب شما ، دریافت گواهی Let’s Encrypt SSL است.
با باز کردن پورتها در فایروال شروع کنید که Let’s Encryptبرای تأیید مالکیت دامنه استفاده می کند. این کار باعث می شود صفحه ورود Nextcloud به صورت عمومی قابل دسترسی باشد ، اما از آنجا که ما قبلاً یک حساب ادمین تنظیم کرده ایم ، هیچ کس نمی تواند نصب را بدزدد:
⦁ $ sudo ufw allow “WWW Full”

در مرحله بعد با تایپ دستور زیر یک گواهی Let’s Encrypt درخواست کنید:
⦁ $ sudo -i nextcloud.enable-https lets-encrypt

ابتدا از شما سؤال خواهد شد که آیا سرور مجازی شما شرایط لازم را برای درخواست گواهینامه از سرویس Let’s Encrypt را دارد:
Output
In order for Let’s Encrypt to verify that you actually own the
domain(s) for which you’re requesting a certificate, there are a
number of requirements of which you need to be aware:

1. In order to register with the Let’s Encrypt ACME server, you must
agree to the currently-in-effect Subscriber Agreement located
here:

https://letsencrypt.org/repository/

By continuing to use this tool you agree to these terms. Please
cancel now if otherwise.

2. You must have the domain name(s) for which you want certificates
pointing at the external IP address of this machine.

3. Both ports 80 and 443 on the external IP address of this machine
must point to this machine (e.g. port forwarding might need to be
setup on your router).

Have you met these requirements? (y/n)

برای ادامه y را تایپ کنید.
در مرحله بعد ، از شما خواسته می شود تا یک آدرس ایمیل برای استفاده در عملیات بازیابی ارائه دهید:
Output
Please enter an email address (for urgent notices or key recovery): [email protected]

در آخر ، نام دامنه مرتبط با سرور مجازی Nextcloud خود را وارد کنید:
Output
Please enter your domain name(s) (space-separated): example.com

از گواهی Let’s Encrypt شما درخواست می شود و به شرط آنکه همه چیز خوب پیش برود ، نمونه داخلی Apache دوباره راه اندازی می شود تا بلافاصله SSL را پیاده سازی کنید:
Output
Attempting to obtain certificates… done
Restarting apache… done

اکنون می توانید به مرحله بعد پیش بروید تا برای اولین بار وارد Nextcloud شوید.
گزینه 2: تنظیم SSL با گواهی خود امضا شده
اگر سرور مجازی Nextcloud شما نام دامنه ندارد ، می توانید با ایجاد یک گواهی SSL خود امضا شده رابط وب را ایمن کنید. این گواهینامه امکان دسترسی به رابط وب از طریق اتصال رمزگذاری شده را می دهد ، اما نمی تواند هویت سرور مجازی شما را تأیید کند ، بنابراین مرورگر شما به احتمال زیاد یک هشدار را نمایش می دهد.
برای تولید یک گواهی خود امضا شده و پیکربندی Nextcloud برای استفاده از آن ، این دستور تایپ کنید:
⦁ $ sudo nextcloud.enable-https self-signed

Output
Generating key and self-signed certificate… done
Restarting apache… done

خروجی فوق نشان می دهد که Nextcloud یک گواهی خود امضا شده تولید و فعال کرده است.
اکنون که رابط ایمن است ، پورت های وب را در فایروال باز کنید تا به رابط وب دسترسی پیدا کنید:
⦁ $ sudo ufw allow “WWW Full”

اکنون برای اولین بار آماده ورود به Nextcloud هستید.
ورود به رابط وب Nextcloud
اکنون که Nextcloud پیکربندی شد ، از نام دامنه یا آدرس IP سرور مجازی خود در مرورگر وب خود بازدید کنید:
https://example.com

توجه: اگر یک گواهی SSL خود امضا شده تنظیم کرده اید ، مرورگر شما می تواند هشداری را در مورد عدم امنیت اتصال نشان دهد زیرا گواهی سرور مجازی توسط یک مجوز معتبر شناخته شده امضا نشده است. این برای گواهی های خود امضا شده پیش بینی می شود ، بنابراین برای رفتن به سایت ، بر روی هشدار کلیک کنید.

از آنجا که قبلاً یک حساب ادمین را از خط فرمان پیکربندی کرده اید ، به صفحه ورود Nextcloud منتقل می شوید. اعتباراتی را که برای کاربر ادمین ایجاد کرده اید وارد کنید:

برای ورود به رابط وب Nextcloud روی دکمه Log in کلیک کنید.
اولین باری که وارد می شوید ، پنجره ای با متن معرفی و پیوندهایی با کلاینت های مختلف Nextcloud نمایش داده می شود که می توانند برای دسترسی به نمونه Nextcloud شما استفاده کنند:

برای دانلود هر کلاینتی که به آن علاقه دارید ، روی دانلود کلیک کنید یا با کلیک بر روی X در گوشه بالا سمت راست ، از پنجره خارج شوید. به رابط اصلی Nextcloud منتقل خواهید شد ، جایی که می توانید شروع به آپلود و مدیریت فایل ها کنید:

اکنون نصب شما کامل و ایمن است. برای آشنایی بیشتر با ویژگی ها و کارایی سیستم جدید خود ، می توانید در رابط کاربری خود به راحتی جستجو کنید.
نتیجه
Nextcloud می تواند قابلیت های سرویس های محبوب ذخیره سازی ابری شخص ثالث را کپی کند. محتوا می تواند بین کاربران یا به صورت خارجی با URL های عمومی به اشتراک گذاشته شود. مزیت Nextcloud این است که اطلاعات در مکانی که شما کنترل می کنید بصورت ایمن ذخیره می شوند.
برای عملکردهای بیشتر ، به Nextcloud’s app store مراجعه کنید ، جایی که می توانید افزونه هایی را برای گسترش قابلیت های سرویس نصب کنید.

 

برچسب‌ها:NextcloudSSL

نصب و پیکربندی Postfix به عنوان سرور SMTP به صورت Send-Only در Debian 9

۱۳۷ بازديد

Postfix یک عامل ارسال ایمیل (MTA) است ، برنامه ای که برای ارسال و دریافت ایمیل استفاده می شود.
در این آموزش Postfix را به گونه ای نصب و پیکربندی می کنید که برای ارسال ایمیل به وسیله برنامه های محلی استفاده شود، یعنی برنامه هایی که روی یک سرور مجازی مشترک با Postfix نصب می شود.
چرا باید این کار را انجام دهید؟
اگر از ارائه دهنده ایمیل شخص ثالث برای ارسال و دریافت ایمیل ها استفاده میکنید، نیاز نیست سرور مجازی سرور میل خود را اجرا کنید. با این حال اگر یک سرور مجازی ابری را مدیریت میکنید و روی آن برنامه هایی نصب کردید که نیاز به ارسال نوتیفیکیشن های ایمیل دارند، اجرای سرور مجازی محلی و فقط ارسال کننده SMTP پیشنهاد خوبی به عنوان جایگزین ارائه دهنده ایمیل شخص ثالث یا اجرای سرور مجازی SMTP تمام عیارخواهد بود.
در این آموزش، Postfix را به عنوان سرور مجازی SMTP به صورت Send-Only روی دبیان 9 نصب و پیکربندی خواهید کرد.
پیش نیازها
• یک سرور مجازی Debian 9 که طبق راهنمای ستاپ اولیه سرور Debian 9 تنظیم شده باشد ، شامل کاربر sudo غیر ریشه.
• نام دامنه معتبر مانند  example.com که به سرور مجازی شما اشاره کند میتوانید این ار را با دنبال کردن این راهنماها در مورد مدیریت هاستینگ تنظیم کنید
توجه کنید که نام هاست سرور مجازی شما باید با نام دامنه و زیر دامنه مطابقت داشته باشد. می توانید با تایپ hostname  در خط فرمان ، نام میزبان سرور مجازی را تأیید کنید. خروجی باید با نامی که در هنگام ایجاد سرور به آن اختصاص داده اید مطابقت داشته باشد.
مرحله 1 – نصب Postfix
در این مرحله Postfix را نصب خواهید کرد. به دو بسته احتیاج خواهید داشت: mailutils  که برنامه های لازم برای عملکرد Postfix و خود Postfix را شامل شود.
ابتدا بانک اطلاعات بسته را به روز کنید:
⦁ $ sudo apt update

سپس mailtuils را نصب کنید
⦁ $ sudo apt install mailutils

در نهایت Postfix را نصب کنید:
⦁ $ sudo apt install mailutils

نزدیک پایان مراحل نصب ، پنجره ای به شما ارائه می شود که مانند تصویر زیر است. گزینه پیش فرض Internet Site است.
این گزینه پیشنهادی برای این آموزش است. بنابراین TAB و سپس ENTER را فشار دهید است.

سپس پنجره دیگری مانند تصویر پایین میبینید. System mail name باید با نامی که به سرور مجازی اختصاص داده اید یکی باشد. اگر زیر دامنه ای مانند subdomain.example.com نشان داد، آن را به example.com تغییر دهید. پس از اتمام TAB و ENTER را فشار دهید.

اکنون Postfix را نصب کرده اید و آماده پیکربندی آن هستید.
مرحله 2 – پیکربندی Postfix
در این مرحله ، Postfix را پیکربندی می کنید تا فقط از سرور مجازی ی که در آن کار می کند – یعنی از localhost ، ایمیل بفرستد و دریافت کند.
برای این کار ، Postfix باید به گونه ای پیکربندی شود که فقط به رابط حلقه برگشت گوش دهد ، یعنی رابط شبکه مجازی که سرور مجازی برای برقراری ارتباط داخلی استفاده میکند. برای ایجاد تغییرات ، باید فایل اصلی پیکربندی Postfix را ​​با nano یا ویرایشگر مورد نظر خود ویرایش کنید
⦁ $ sudo nano /etc/postfix/main.cf

با باز کردن فایل، به پایین بیایید تا قسمت زیر را مشاهده کنید
/etc/postfix/main.cf
. . .
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
. . .

خط inet_interfaces = all را به inet_interfaces = loopback-only تغییر دهید:
/etc/postfix/main.cf
. . .
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
. . .

دستور العمل دیگری که باید اصلاح کنید ، mydestination است که برای مشخص کردن لیست دامنه هایی که از طریق انتقال تحویل ایمیل local_transport ارائه می شوند ، استفاده می گردد. به طور پیش فرض ، مقادیر مشابه این است:
/etc/postfix/main.cf
. . .
mydestination = $myhostname, example.com, localhost.com, , localhost
. . .

خط را تغییر دهید تا مانند این باشد:
/etc/postfix/main.cf
. . .
mydestination = localhost.$mydomain, localhost, $myhostname
. . .

پیش فرض های پیشنهادی برای این دستورالعمل در بلوک کد زیر داده شده است، بنابراین با کد خود تطبیق دهید:
/etc/postfix/main.cf
. . .
mydestination = $myhostname, localhost.$your_domain, $your_domain
. . .

فایل را ذخیره کنید و ببندید.
توجه: اگر میزبان چندین دامنه در یک سرور مجازی واحد هستید ، سایر دامنه ها نیز می توانند با استفاده از دستورالعمل mydestination به Postfix منتقل شوند. اگرچه برای پیکربندی Postfix به حالتی که مقیاس بندی شود و برای چنین ستاپی مشکل ایجاد نکند، به پیکربندی های بیشتری نیاز دارد که فراتر از حوزه این مقاله است.
در انتها Postfix را ریستارت کنید:
⦁ $ sudo systemctl restart postfix

مرحله 3 – تست سرور مجازی SMTP
در این مرحله ، تست خواهید کرد که آیا Postfix می تواند با استفاده از دستور mail ، که بخشی از بسته mailutils است که در مرحله اول نصب کرده اید ، ایمیل را به یک حساب ایمیل خارجی ارسال کند.
برای ارسال ایمیل تستی ، دستور زیر را اجرا کنید:
⦁ $ echo “This is the body of the email” | mail -s “This is the subject line” your_email_address

در انجام تست خود، می توانید بدنه و موضوع ایمیل را به دلخواه خود تغییر دهید. با این حال your_email_address را با آدرس ایمیل معتبری که می توانید به آن دسترسی پیدا کنید ، جایگزین کنید. قسمت دامنه میتواند gmail.com, fastmail.com, yahoo.com یا هر ارائه دهنده خدمات ایمیل دیگری که استفاده میکنید باشد.
اکنون آدرس ایمیلی را که برای این پیام ارسال کرده اید ، بررسی کنید. باید پیام را در صندوق ورودی خود ببینید. اگر در آنجا نباشد ، پوشه اسپم خود را بررسی کنید.
توجه داشته باشید که با این پیکربندی ، آدرس در قسمت From برای ایمیلهای آزمایشی که ارسال می کنید به شکل [email protected] خواهد بود ، که sammy  نام کاربری کاربر لینوکس و دامنه نام هاست سرور مجازی است. اگر نام کاربری خود را عوض کنید، آدرس From تغییر میکند.
مرحله 4 – سیستم ایمیل فوروارد
در این مرحله ، فوروارد کردن ایمیل را انجام میدهید ، بنابراین ایمیل های فرستاده شده به root در سیستم شما به آدرس شخصی و خارجی خود را دریافت میکنید.
برای پیکربندی Postfix به گونه ای که ایمیل های ایجاد شده توسط سیستم به آدرس ایمیل شما ارسال شوند، باید فایل /etc/aliases را ویرایش کنید:
⦁ $ sudo nano /etc/aliases

محتوای کل فایل در نصب پیش فرض روی دبیان 9 به صورت زیر است:
/etc/aliases
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root

تنظیمات postmaster: root اطمینان حاصل می کند که ایمیل های تولید شده توسط سیستم به کاربر ریشه ارسال میشوند. شما می خواهید این تنظیمات را ویرایش کنید تا این ایمیلها به آدرس ایمیل شما تغییر مسیر پیدا کنند. برای انجام این کار ، فایل را طوری ویرایش کنید که این گونه باشد:
/etc/aliases
mailer-daemon: postmaster
postmaster: root
root: your_email_address
. . .
your_email_address را با آدرس ایمیل شخصی خود جایگزین کنید. پس از اتمام ، فایل را ذخیره کنید و ببندید. برای اعمال اثر ، دستور زیر را اجرا کنید:
⦁ $ sudo newaliases

با ارسال ایمیل به حساب root می توانید با استفاده از این دستور آزمایش کنید:
⦁ $ echo “This is the body of the email” | mail -s “This is the subject line” root

باید ایمیل را در آدرس ایمیل خود دریافت کنید. اگر دریافت نشد ، پوشه Spam خود را بررسی کنید.
نتیجه
این همه کاری است که باید برای تنظیم سرور مجازی ایمیل send-only با استفاده از Postfix انجام دهید. با این وجود ممکن است بخواهید برخی اقدامات اضافی را برای محافظت از دامنه خود در برابر اسپم ها انجام دهید.
اگر می خواهید اعلان هایی از سرور مجازی خود را در یک آدرس واحد دریافت کنید ، ایمیل هایی که به عنوان Spam علامت گذاری شده اند مشکلی نخواهد بود زیرا می توانید یک whitelist ایجاد کنید. با این حال ، اگر می خواهید ایمیل هایی (مانند ایمیل های تأییدیه برای ثبت نام) به کاربران بالقوه سایت ارسال کنید ، حتماً باید رکوردهای SPF و DKIM را تنظیم کنید تا ایمیلهای سرور مجازی شما قانونی تر به نظر برسد.
⦁ نحوه استفاده از رکوردهای SPF برای جلوگیری از جعل و بهبود قابلیت اطمینان ایمیل
⦁ نحوه نصب و پیکربندی DKIM با Postfix در Debian Wheezy.
در صورت پیکربندی صحیح ، این مراحل ارسال اسپم به آدرسی که از دامنه شما منشا میگیرد را تقریبا غیرممکن میکند. انجام این مراحل پیکربندی اضافی همچنین باعث می شود که ارائه دهندگان ایمیل های سرور مجازی شما را مجاز بدانند.

 

برچسب‌ها:PostfixSMTP

نحوه نصب Elasticsearch ، Logstash و Kibana Elastic Stack در اوبونتو 18.04

۱۴۸ بازديد

Elastic Stack – که قبلاً با عنوان ELK Stack شناخته می شد – مجموعه ای از نرم افزارهای منبع باز است که توسط Elastic ساخته شده است و به شما امکان می دهد ورودهای حاصل از هر منبع با هر فرمت را جستجو ، تجزیه و تحلیل و تجسم کنید ، روشی که به centralized logging شناخته می شود. centralized logging می تواند در هنگام تلاش برای شناسایی مشکلات سرور مجازی ها یا برنامه های کاربردی مفید باشد ، زیرا این امکان را به شما می دهد تا از طریق تمام ورودهای خود در یک مکان جستجو کنید. این ویژگی همچنین از این لحاظ مفید است که به شما امکان می دهد با پیوند دادن ورودهای چند سرور مجازی در یک بازه زمانی خاص مسائلی را که آن سرور مجازی ها را ارتباط میدهد شناسایی کنید.
Elastic Stack چهار مؤلفه اصلی دارد:
Elasticsearch: یک موتور جستجوی توزیع شده RESTful که تمام داده های جمع آوری شده را ذخیره می کند.
Logstash: مولفه پردازش داده ها از Stack Elastic که داده های ورودی را به Elasticsearch می فرستد.
Kibana: رابط وب برای جستجو و تجسم ورودها.
Beats: انتقال داده های سبک و یک منظوره که می توانند داده ها را از صدها یا هزاران دستگاه به Logstash یا Elasticsearch ارسال کنند.
در این آموزش Elastic Stack را روی سرور مجازی Ubuntu 18.04 نصب خواهید کرد. یاد می گیرید که چگونه تمام مؤلفه های Elastic Stack – از جمله Filebeat را نصب کنید، که یک ضربان برای ارسال و متمرکز کردن ورود ها و فایل ها است – و آن ها را برای جمع آوری و تجسم ورودهای مربوط به سیستم پیکربندی میکند. علاوه بر این ، به دلیل اینکه معمولاً Kibana فقط در localhost موجود است ، ما از Nginx برای پروکسی استفاده می کنیم ، بنابراین از طریق مرورگر وب قابل دسترسی خواهد بود. همه این مؤلفه ها را روی یک سرور مجازی واحد نصب خواهیم کرد که به عنوان سرور مجازی Elastic Stack ما به آن اشاره خواهیم کرد.
توجه: هنگام نصب Elastic Stack ، باید از نسخه مشابه در کل پشته استفاده کنید. در این آموزش آخرین نسخه های کل پشته را نصب خواهیم کرد که در زمان نوشتن این مقاله ، Elasticsearch 7.6.1 ، Kibana 7.6.1 ، Logstash 7.6.1 و Filebeat 7.6.1 هستند.
پیش نیازها
برای تکمیل این آموزش به موارد زیر نیاز دارید:
⦁ سرور مجازی Ubuntu 18.04 شامل کاربر sudo غیر ریشه و فایروال تنظیم شده با ufw که می توانید با پیروی از مقاله ستاپ اولیه سرور مجازی برای Ubuntu 18.04 به این هدف برسید. میزان CPU ، RAM و حافظه مورد نیاز سرور مجازی Elastic stack شما به حجم ورود هایی که انتظار دارید بستگی دارد. برای این آموزش از VPS با مشخصات زیر برای سرور مجازی Elastic stack خود استفاده میکنیم:
⦁ OS: Ubuntu 18.04
⦁ RAM: 4GB
⦁ CPU: 2
⦁ جاوا 8 – که توسط Elasticsearch و Logstash لازم است – روی سرور مجازی شما نصب شده باشد. توجه داشته باشید که جاوا 9 پشتیبانی نمی شود. برای نصب این گزینه ، “نصب Oracle JDK” بخش راهنمای ما درباره نحوه نصب جاوا 8 در اوبونتو 18.04 را دنبال کنید.
⦁ Nginx بر روی سرور مجازی شما نصب شده باشد ، که بعداً در این راهنما به عنوان یک پروکسی معکوس برای Kibana پیکربندی می کنیم. برای تنظیم این برنامه ، راهنمای ما در مورد نحوه نصب Nginx در اوبونتو 18.04 را دنبال کنید.
علاوه بر این ، از آنجا که از Elastic Stack برای دسترسی به اطلاعات ارزشمندی درباره سرور مجازی خود استفاده می کنید که نمی خواهید کاربران غیرمجاز به آنها دسترسی پیدا کنند ، مهم است که با نصب گواهی TLS / SSL ، سرور مجازی خود را ایمن نگه دارید. این کار اختیاری است اما به شدت توصیه میشود.
با این وجود ، از آن جا که در نهایت در طول این راهنما تغییراتی در بلوک سرور مجازی Nginx خود ایجاد خواهید کرد ، به احتمال زیاد منطقی تر خواهد بود که راهنمای Let’s Encrypt در Ubuntu 18.04 را در پایان مرحله دوم این آموزش پیگیری کنید. با توجه به این نکته ، اگر می خواهید پیکربندی Let’s Encrypt را روی سرور مجازی خود انجام دهید ، قبل از انجام این کار به موارد زیر نیاز دارید:
• نام دامنه کاملاً واجد شرایط ( (FQDN. در سراسر این آموزش از example.com استفاده خواهد شد. می توانید نام دامنه را در Namecheap خریداری کنید ، یکی را به صورت رایگان در Freenom دریافت کنید ، یا از ثبت دامنه مورد نظر خود استفاده کنید.
• هر دو رکورد DNS زیر برای سرور مجازی شما تنظیم شده باشد. برای جزئیات بیشتر در مورد چگونگی اضافه کردن آنها می توانید این مقدمه را در vpsgol DNS دنبال کنید.
o یک رکورد A با example.com که آدرس IP عمومی سرور مجازی شما را نشان می دهد.
o رکورد A با آدرس www.example.com که به آدرس IP عمومی سرور مجازی شما اشاره کند.
مرحله 1 – نصب و پیکربندی Elasticsearch
مولفه های Elasticsearch در مخازن بسته پیش فرض اوبونتو در دسترس نیستند. اما می توانند پس از افزودن لیست منبع بسته بندی Elastic ، با APT نصب کنید.
به منظور محافظت از سیستم خود در برابر جعل بسته ، همه بسته ها با کلید امضای Elasticsearch امضا شده اند. بسته هایی که با استفاده از کلید تأیید شده اند توسط مدیر بسته شما قابل اعتماد خواهند بود. در این مرحله ، کلید GPG عمومی Elasticsearch را وارد کرده و به منظور نصب Elasticsearch ، لیست منبع بسته بندی الاستیک را اضافه می کنید.
برای شروع ، دستور زیر را برای وارد کردن کلید عمومی GPG Elasticsearch در APT اجرا کنید.
⦁ $ wget -qO – https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add –

در مرحله بعد ، لیست منبع الاستیک را به دیرکتوری Sources.list.d اضافه کنید ، جایی که APT در جستجوی منابع جدید است:
⦁ $ echo “deb https://artifacts.elastic.co/packages/7.x/apt stable main” | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list


سپس، لیست بسته های خود را به روز کنید تا APT منبع جدید الاستیک را بخواند:
⦁ $ sudo apt update

در مرحله بعد با این دستور Elasticsearch را نصب کنید:
⦁ $ sudo apt install elasticsearch

اکنون Elasticsearch نصب شده است و آماده پیکربندی است. از ویرایشگر متن دلخواه خود برای ویرایش فایل اصلی پیکربندی Elasticsearch ، elasticsearch.yml استفاده کنید. در اینجا ، ما از nano استفاده خواهیم کرد:
⦁ $ sudo nano /etc/elasticsearch/elasticsearch.yml

توجه: فایل پیکربندی Elasticsearch با فرمت YAML است ، به این معنی که ما باید قالب دندانه ای را حفظ کنیم. مطمئن شوید که با ویرایش این فایل هیچ فضای اضافی ایجاد نمی کنید.

Elasticsearch ترافیک را از هر جایی در پورت 9200 گوش می دهد. بهتر است دسترسی خارجی به نمونه Elasticsearch خود را محدود کنید تا از خوانده شدن اطلاعات توسط دیگر افراد یا خاموش کردن خوشه Elasticsearch از طریق REST API جلوگیری کنید. برای محدود کردن دسترسی و در نتیجه افزایش امنیت ، خطی را که network.hostرا مشخص می کند ، پیدا کنید ، آن را حذف کنید و مقدار آن را با localhost مانند این جایگزین کنید:
/etc/elasticsearch/elasticsearch.yml
. . .
network.host: localhost
. . .
elasticsearch.ym را ذخیره کرده و ببندید. اگر از nano استفاده می کنید ، می توانید با فشار دادن CTRL + X ، به دنبال آن Y و سپس ENTER این کار را انجام دهید. سپس سرویس Elasticsearch را با systemctl شروع کنید.
$ sudo systemctl start elasticsearch

سپس ، دستور زیر را اجرا کنید تا Elasticsearch بتواند هر بار که سرور مجازی خود را راه اندازی می کند اجرا شود:
⦁ $ sudo systemctl enable elasticsearch

با ارسال یک درخواست HTTP می توانید آزمایش کنید که آیا سرویس Elasticsearch شما اجرا شده است:
⦁ $ curl -X GET “localhost:9200”

پاسخی را مشاهده خواهید کرد که اطلاعات اصلی در مورد گره محلی شما را نشان می دهد ، مشابه این:
Output
{
“name” : “ElasticSearch”,
“cluster_name” : “elasticsearch”,
“cluster_uuid” : “SMYhVWRiTwS1dF0pQ-h7SQ”,
“version” : {
“number” : “7.6.1”,
“build_flavor” : “default”,
“build_type” : “deb”,
“build_hash” : “aa751e09be0a5072e8570670309b1f12348f023b”,
“build_date” : “2020-02-29T00:15:25.529771Z”,
“build_snapshot” : false,
“lucene_version” : “8.4.0”,
“minimum_wire_compatibility_version” : “6.8.0”,
“minimum_index_compatibility_version” : “6.0.0-beta1”
},
“tagline” : “You Know, for Search”
}
اکنون که Elasticsearch در حال اجرا و کار است ، بیایید Kibana ، مؤلفه بعدی Elastic Stack را نصب کنیم.
مرحله 2 – نصب و پیکربندی داشبورد Kibana
طبق مستندات رسمی ، باید Kibana را تنها پس از نصب Elasticsearch نصب کنید. نصب با این ترتیب این اطمینان را می دهد که مولفه های مربوط به هر محصول به طور صحیح در جای خود قرار دارند.
از آنجا که شما در مرحله قبل منبع بسته الاستیک را اضافه کرده اید ، می توانید با استفاده از apt فقط مولفه های باقیمانده Elastic Stack را نصب کنید:
⦁ $ sudo apt install kibana

سپس سرویس Kibana را فعال و راه اندازی کنید:
⦁ $ sudo systemctl enable kibana

⦁ $ sudo systemctl start kibana

از آنجا که Kibana پیکربندی شده است که فقط به localhost گوش کند ، ما باید یک پروکسی معکوس تنظیم کنیم تا دسترسی خارجی به آن امکان پذیر باشد. برای این منظور از Nginx استفاده خواهیم کرد که قبلاً باید روی سرور مجازی شما نصب شود.
ابتدا از دستور openssl برای ایجاد یک کاربر ادمین Kibana استفاده کنید که برای دسترسی به رابط وب Kibana استفاده خواهید کرد. به عنوان نمونه ما این حساب را kibanaadmin نامگذاری می کنیم ، اما برای اطمینان از امنیت بیشتر توصیه می کنیم برای کاربر خود یک نام غیر استاندارد انتخاب کنید که حدس زدن آن دشوار خواهد بود.
دستور زیر کاربر و پسورد ادمین Kibana را ایجاد کرده و آنها را در فایل htpasswd.users ذخیره می کند. Nginxرا پیکربندی می کنید تا این نام کاربری و رمز عبور را دریافت کرده و این فایل را لحظه به لحظه بخوانید:
⦁ $ echo “kibanaadmin:`openssl passwd -apr1`” | sudo tee -a /etc/nginx/htpasswd.users

با مشاهده اعلان، رمز عبور را وارد و تأیید کنید. این اطلاعات را به خاطر بسپارید یا یادداشت کنید ، زیرا برای دسترسی به رابط وب Kibana به آن نیاز خواهید داشت.
در مرحله بعد ، یک فایل بلوک سرور مجازی Nginx ایجاد خواهیم کرد. به عنوان نمونه ، ما این فایل را example.com می نامیم ، گرچه ممکن است بهتر باشد یک نام توصیف کننده تر انتخاب کنید. به عنوان مثال ، اگر یک فایل FQDN و DNS برای این سرور مجازی تنظیم کرده اید ، می توانید این فایل را پس از FQDN خود نامگذاری کنید.
⦁ $ sudo nano /etc/nginx/sites-available/example.com

بلوک کد زیر را در فایل اضافه کنید ، مطمئن شوید که example.com خود را به روز می کنید تا با FQDN یا آدرس IP عمومی سرور مجازی شما مطابقت داشته باشد. این کد Nginx را پیکربندی می کند تا ترافیک HTTP سرور مجازی شما را به برنامه Kibana منتقل کند ، که در حال گوش دادن به localhost: 5601 است. علاوه بر این ، Nginx را برای خواندن فایل htpasswd.users پیکربندی می کند و احتیاج به احراز هویت اساسی دارد.
توجه داشته باشید که اگر از قبل آموزش Nginx را امتحان کرده اید ، ممکن است قبلاً این فایل را ایجاد کرده باشید و آن را با محتوای قبلی پر کرده اید. در این حالت ، قبل از اضافه کردن موارد زیر تمام محتوای موجود در فایل را حذف کنید:
/etc/nginx/sites-available/example.com
server {
listen 80;

server_name example.com;

auth_basic “Restricted Access”;
auth_basic_user_file /etc/nginx/htpasswd.users;

location / {
*******_pass http://localhost:5601;
*******_http_version 1.1;
*******_set_header Upgrade $http_upgrade;
*******_set_header Connection ‘upgrade’;
*******_set_header Host $host;
*******_cache_bypass $http_upgrade;
}
}

پس از اتمام ، فایل را ذخیره کنید و ببندید.
در مرحله بعد ، پیکربندی جدید را با ایجاد پیوند سمبولیکی به دیرکتوری sites-enabled فعال کنید. اگر در پیش شرط Nginx یک فایل بلوک سرور مجازی با همین نام ایجاد کرده اید ، نیازی به اجرای این دستور ندارید:
⦁ $ sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com

سپس پیکربندی خطاهای نحوی را بررسی کنید:
⦁ $ sudo nginx -t

اگر خطایی در خروجی شما گزارش شده بود ، به عقب برگردید و بررسی کنید که محتوایی که در فایل پیکربندی خود قرار داده اید به درستی اضافه شده است. وقتی syntax is ok را در خروجی مشاهده کردید ، پیش بروید و سرویس Nginx را ریستارت کنید:
⦁ $ sudo systemctl restart nginx

اگر راهنمای ستاپ اولیه سرور مجازی را دنبال کرده باشید ، باید فایروال UFW را فعال کنید. برای اجازه اتصال به Nginx ، می توانیم قوانین را با تایپ دستور زیر تنظیم کنیم:
⦁ $ sudo ufw allow ‘Nginx Full’

توجه: اگر از آموزش مقدماتی Nginx پیروی کرده اید ، ممکن است یک قانون UFW ایجاد کرده باشید که مشخصات Nginx HTTP را از طریق فایروال امکان پذیر کند. از آنجا که پروفایل Nginx Full امکان عبور و مرور HTTP و HTTPS را از طریق فایروال فراهم می کند ، می توانید با خیال راحت قانونی را که در آموزش پیش نیاز ایجاد کرده اید حذف کنید. این کار را با دستور زیر انجام دهید:
⦁ $ sudo ufw delete allow ‘Nginx HTTP’

اکنون Kibana از طریق FQDN یا آدرس IP عمومی سرور مجازی Elastic Stack شما قابل دسترسی است. می توانید با رفتن به آدرس زیر و وارد کردن اطلاعات ورود به سیستم هنگام درخواست ، صفحه وضعیت سرور مجازی Kibana را بررسی کنید:
http://your_server_ip/status
این صفحه وضعیت اطلاعات مربوط به استفاده از منابع سرور مجازی را نشان می دهد و افزونه های نصب شده را لیست می کند.

توجه: همانطور که در بخش Preferences ذکر شد ، توصیه می شود SSL / TLS را روی سرور مجازی خود فعال کنید. برای به دست آوردن یک گواهینامه رایگان SSL برای Nginx در اوبونتو 18.04 می توانید از راهنمای Let’s Encrypt استفاده کنید. پس از اخذ گواهینامه های SSL / TLS ، می توانید دوباره به این مرحله برگردید و این آموزش را تکمیل کنید.
اکنون که داشبورد Kibana پیکربندی شده است ، بگذارید مؤلفه بعدی را نصب کنیم : Logstash .
مرحله 3 – نصب و پیکربندی Logstash
اگرچه ممکن است Beats داده را مستقیماً به پایگاه داده Elasticsearch ارسال کند ، استفاده از Logstash برای پردازش داده ها معمول است. این کار به شما امکان می دهد انعطاف پذیری بیشتری برای جمع آوری داده ها از منابع مختلف ، تبدیل آن به یک قالب مشترک و انتقال آن به پایگاه داده دیگری داشته باشید.
Logstash را با این دستور نصب کنید:
⦁ $ sudo apt install logstash

پس از نصب Logstash می توانید به پیکربندی آن بروید. فایل های پیکربندی Logstash در دیرکتوری /etc/logstash/conf.d مستقر هستند. برای اطلاعات بیشتر در مورد دستورات پیکربندی ، می توانید مرجع پیکربندی که Elastic ارائه می دهد را بررسی کنید. وقتی فایل را پیکربندی می کنید ، مفید است که به Logstash به عنوان خط اتصال فکر کنید که داده ها را در یک انتها می گیرد ، آن را به روشی پردازش می کند و سپس به مقصد می فرستد (در این حالت مقصد Elasticsearch است). رابط اتصال Logstash دارای دو عنصر مورد نیاز ، ورودی و خروجی ، و یک عنصر اختیاری ، یعنی فیلتر است. پلاگین های ورودی داده ها را از یک منبع استفاده می کنند ، پلاگین های فیلتر داده ها را پردازش می کنند و پلاگین های خروجی داده ها را در مقصد می نویسند.

یک فایل پیکربندی به نام 02-beats-input.conایجاد کنید که ورودی Filebeat خود را تنظیم کنید:
$ sudo nano /etc/logstash/conf.d/02-beats-input.conf

پیکربندی ورودی زیر را وارد کنید. این یک ورودی beats را مشخص می کند که پورت TCP 5044 را گوش خواهد کرد.
/etc/logstash/conf.d/02-beats-input.conf
input {
beats {
port => 5044
}
}

فایل را ذخیره کنید و ببندید. در مرحله بعد ، یک فایل پیکربندی به نام 10-syslog-filter.conf ایجاد کنید، که یک فیلتر برای ورودهای سیستم اضافه میکنیم و به syslogs نیز شناخته میشود:
⦁ $ sudo nano /etc/logstash/conf.d/10-syslog-filter.conf

پیکربندی syslog filter زیر را وارد کنید. این پیکربندی ورودی های سیستم مثال از مستندات الاستیک رسمی گرفته شده است. این فیلتر برای دنبال کردن ورودهای سیستم ورودی برای ساختاردار و مورد استفاده کردن آن ها توسط داشبوردهای از پیش تعریف شده Kibana استفاده میشود.
/etc/logstash/conf.d/10-syslog-filter.conf
filter {
if [fileset][module] == “system” {
if [fileset][name] == “auth” {
grok {
match => { “message” => [“%{SYSLOGTIMESTAMP:[system][auth][timestamp]} %{SYSLOGHOST:[system][auth][hostname]} sshd(?:[%{POSINT:[system][auth][pid]}])?: %{DATA:[system][auth][ssh][event]} %{DATA:[system][auth][ssh][method]} for (invalid user )?%{DATA:[system][auth][user]} from %{IPORHOST:[system][auth][ssh][ip]} port %{NUMBER:[system][auth][ssh][port]} ssh2(: %{GREEDYDATA:[system][auth][ssh][signature]})?”,
“%{SYSLOGTIMESTAMP:[system][auth][timestamp]} %{SYSLOGHOST:[system][auth][hostname]} sshd(?:[%{POSINT:[system][auth][pid]}])?: %{DATA:[system][auth][ssh][event]} user %{DATA:[system][auth][user]} from %{IPORHOST:[system][auth][ssh][ip]}”,
“%{SYSLOGTIMESTAMP:[system][auth][timestamp]} %{SYSLOGHOST:[system][auth][hostname]} sshd(?:[%{POSINT:[system][auth][pid]}])?: Did not receive identification string from %{IPORHOST:[system][auth][ssh][dropped_ip]}”,
“%{SYSLOGTIMESTAMP:[system][auth][timestamp]} %{SYSLOGHOST:[system][auth][hostname]} sudo(?:[%{POSINT:[system][auth][pid]}])?: s*%{DATA:[system][auth][user]}

نحوه نصب پشته Linux ، Apache ، MySQL ، PHP LAMP در دبیان 8

۱۲۳ بازديد

پشته “LAMP” نرم افزار شامل سیستم عامل لینوکس، سرور مجازی وب Apache ، پایگاه داده MySQL و زبان اسکریپت PHP میباشد، که پایه ای عالی برای توسعه وب و اپلیکیشن است. این پشته نرم افزاری با نصب این موارد، سرور مجازی شما را قادر میسازد که وب سایت های دینامیک و اپلیکیشن های وب را میزبانی کند.
در این راهنما ، یک پشته LAMP را روی یک سرور مجازی Debian 8 نصب خواهیم کرد.
پیش نیازها
⦁ برای تکمیل این آموزش ، نیاز به داشتن یک سرور مجازی دبیان 8 با یک حساب کاربری غیر ریشه فعال با sudo و یک فایروال پایه دارید که می توان با استفاده از راهنمای تنظیم اولیه سرور مجازی ما برای دبیان 8 این کار را انجام داد.
⦁ همچنین باید یک فایروال پایه ایجاد کنید که میتوانید با دنبال کردن راهنمای ستاپ UFW اوبونتو و دبیان این را انجام دهید.
مرحله 1 – به روزرسانی سیستم
قبل از نصب هر نرم افزاری ، لازم است سیستم خود را به روز کنید. برای به روزرسانی لیست بسته های خود ، تایپ کنید:
⦁ $ sudo apt-get update

این به سیستم عامل شما می گوید که بسته های نرم افزاری را که در حال حاضر روی سرور مجازی شما نصب شده است با هر نسخه جدیدی که ممکن است اخیراً در مخازن آنلاین Debian به روز شده باشد ، و در آن بسته های نرم افزاری پایه قرار دارند ، مقایسه کنید.

توجه: اگر یک سرور مجازی پر کاربرد یا مهم را برای اجرای ماموریت در حال اجرا دارید ، در مورد نصب به روزرسانی ها احتیاط کنید و با بررسی دقیق هر بسته مشخص کنید که آیا واقعاً برای سیستم شما لازم است یا خیر. در مثال ما در اینجا ، تمام بسته ها فقط برای اهداف این آموزش نصب شده اند.
پس از تشخیص اینکه این مؤلفه های نرم افزار به روز شده با نیازهای شما مرتبط هستند ، پیش بروید و سرور مجازی خود را به روز کنید. می توانید این کار را با تایپ دستور زیر انجام دهید:
⦁ $ sudo apt-get dist-upgrade

بسته به نسخه فعلی سیستم عامل نصب شده شما ، بسته های نرم افزاری و شرایط شبکه ممکن است کمی طول بکشد. روی یک سرور مجازی جدید ، چند ثانیه طول می کشد.

اکنون سرور مجازی شما کاملاً ثبت ، به روز و آماده نصب LAMP است. از آنجا که سرور مجازی شما سیستم عامل لینوکس Debian را اجرا می کند ، می توانید برای مدیریت اتصالات شبکه خود به سرواغ نصب سرور مجازی وب Apache بروید.
مرحله 2 – نصب Apache و به روزرسانی فایروال
قدم بعدی در نصب LAMP ، نصب وب سرور مجازی Apache است. این یک وب سرور مجازی کاملاً مستند و پرکاربرد است که به سرور مجازی شما امکان نمایش محتوای وب را می دهد. برای نصب Apache ، دستور زیر را تایپ کنید:
⦁ $ sudo apt-get install apache2 apache2-doc

این بسته اصلی وب سرور مجازی Apache و همچنین مستنداتی را که همراه آن هستند ، نصب می کند. این فرآیند ممکن است چند ثانیه طول بکشد تا Apache و بسته های مورد نیاز آن نصب شوند. پس از اتمام ، apt-get خارج خواهد شد و نصب کامل میشود.
در مرحله بعد ، با فرض اینکه آموزش نصب UFW را با نصب و فعال کردن فایروال دنبال کرده اید ، اطمینان حاصل کنید که فایروال شما ترافیک HTTP و HTTPS را امکان پذیر می کند.
UFW هنگام نصب روی Debian 8 ، دارای پروفایل های برنامه ای است که می توانید برای تنظیمات فایروال خود از آن استفاده کنید. لیست کامل پروفایل های برنامه را با اجرای دستور زیر مشاهده کنید:
⦁ $ sudo ufw app list

پروفایل های WWW برای مدیریت پورت های مورد استفاده توسط سرور مجازی های وب استفاده می شود:
Output
Available applications:
. . .
WWW
WWW Cache
WWW Full
WWW Secure
. . .
اگر نمایه WWW Full را بازرسی کنید ، نشان می دهد که ترافیک به پورت 80 و 443 امکان پذیر است:
⦁ $ sudo ufw app info “WWW Full”

Output
Profile: WWW Full
Title: Web Server (HTTP,HTTPS)
Description: Web Server (HTTP,HTTPS)

Ports:
80,443/tcp
ترافیک ورودی HTTP و HTTPS را برای این نمایه مجاز کنید:
⦁ $ sudo ufw allow in “WWW Full”

اکنون که به ترافیک وب اجازه عبور از فایروال خود را دادیم ، بیایید تست کنیم تا مطمئن شویم که سرور مجازی وب به نمونه هایی از صفحه وب پاسخ می دهد. در مرحله اول ، به آدرس IP سرور مجازی خود نیاز خواهید داشت. با اجرای دستور زیر می توانید آدرس IP خود را در بخش SSH فعلی خود مشاهده کنید:
⦁ $ sudo ifconfig eth0

در صفحه نمایش خود چند خط خروجی از جمله آدرس IP سرور مجازی خود مشاهده خواهید کرد. شما به عدد چهار بخشی نشان داده شده پس از inet addr نیاز دارید:
Output
inet addr:111.111.111.111
آدرس IP ذکر شده را یادداشت کنید و مانند مرورگر وب مورد علاقه خود تایپ کنید:
http://111.111.111.111
پس از اتمام ، صفحه پیش فرض Apache 2 را مشاهده خواهید کرد ، مشابه این:

اکنون که Apache را با موفقیت روی سرور مجازی خود نصب کردید ، می توانید محتوای وب سایت خود را در دیرکتوری / var / www / html بارگذاری کنید. اگر می خواهید چندین وب سایت راه اندازی کنید ، لطفاً این مقاله راجع به راه اندازی میزبان های مجازی آپاچی را مشاهده کنید.
برای راهنمایی های بیشتر و اطلاعات امنیتی مربوط به Apache ، لطفاً به اطلاعات Apache دبیان نگاهی بیندازید.

با فعال شدن و راه اندازی سرور مجازی وب خود ، می توانید محلی برای ذخیره داده ها در وب سایت خود ایجاد کنید ، که می توانید با MySQL انجام دهید
مرحله 3 – نصب و ایمن سازی MySQL
مؤلفه بعدی سرور مجازی LAMP ، MySQL است. این نرم افزار پایگاه داده رابطه ای یک مؤلفه backend اساسی برای سایر بسته های نرم افزاری مانند WordPress, Joomla, Drupal و بسیاری دیگر است.
برای نصب پشتیبانی MySQL و PHP برای آن ، دستور زیر را تایپ کنید:
⦁ $ sudo apt-get install mysql-server php5-mysql

این کار MySQL و سایر بسته های مورد نیاز را نصب می کند. توجه داشته باشید که روال نصب از شما می خواهد رمزعبور جدیدی را برای کاربر root MySQL وارد کنید:

این یک حساب جداگانه است که به طور خاص برای عملکردهای ادمین در MySQL استفاده می شود. نام کاربری root است و رمزعبور هر چیزی که در اینجا تنظیم می کنید. حتما رمز ترکیبی خوبی با ترکیب های مختلف حروف و اعداد تنظیم کنید.
پس از این کار ، نصب MySQL به پایان میرسد.
برای ایمن نگه داشتن سرور مجازی پایگاه داده جدید ، اسکریپت دیگری وجود دارد که باید آن را اجرا کنید. برای شروع دستور زیر را تایپ کنید:
⦁ $ sudo mysql_secure_installation

در این مرحله ، اسکریپت چند سؤال از شما خواهد پرسید. هنگامی که از شما خواسته شد ، گذرواژه حساب MySQL را وارد کنید. سپس سیستم از شما سؤال می کند:
Interactive
Change the root password? [Y/n] n

از آنجا که قبلاً رمز نصب MySQL را در نصب خود تنظیم کرده ایم ، می توانید در این مرحله نه بگویید. سپس اسکریپت می پرسد:
Interactive
Remove anonymous users? [Y/n] y
برای حذف گزینه کاربران ناشناس برای امنیت ، با بله پاسخ دهید.
در مرحله بعد ، اسکریپت از شما می خواهد که ورود به سیستم از راه دور را برای حساب root مجاز یا غیر مجاز کنید. برای امنیت ، ورود به سیستم از راه دور را برای ریشه مجاز نکنید مگر اینکه محیط شما به این امر نیاز داشته باشد.
سرانجام ، اسکریپت از شما می خواهد که پایگاه داده آزمون را حذف کرده و جداول امتیاز را مجدد لود کنید. به هر دوی اینها پاسخ مثبت دهید. این کار پایگاه داده آزمایش را حذف می کند و تغییرات امنیتی را پردازش می کند.

اگر همه چیز صحیح باشد ، پس از اتمام ، اسکریپت با این خروجی برمی گردد:
Output
All done! If you have completed all of the above steps, your MySQL installation should now be secure.

بیایید بررسی کنیم که سرور مجازی MySQL جدید ما در حال اجرا است. این دستور را تایپ کنید:
⦁ $ mysql -u root -p

پس از نصب بسته نرم افزاری ، رمز اصلی را که برای MySQL تنظیم کرده اید وارد کنید. به یاد داشته باشید ، این حساب اصلی نیست که برای مدیریت سرور مجازی شما استفاده می شود. پس از ورود ، موارد زیر را تایپ کنید تا وضعیت سرور مجازی ، اطلاعات نسخه و موارد دیگر را دریافت کنید:
⦁ Mysql> status

این یک روش خوب برای اطمینان از نصب MySQL و آماده تنظیمات بیشتر است. وقتی بررسی خروجی تمام شد ، با وارد کردن این دستور از برنامه خارج شوید:
⦁ Mysql> exit

بعد از تأیید فعال بودن MySQL ، مرحله بعدی نصب PHP است تا بتوانید اسکریپت ها و کد پردازش را روی سرور مجازی خود اجرا کنید.
مرحله 4 – نصب PHP
برای آخرین مؤلفه خود ، PHP را تنظیم و نصب خواهیم کرد که مخفف PHP: Hypertext Preprocessor است. این زبان برنامه نویسی محبوب سمت سرور مجازی برای محتوای وب پویا به طور بسیار گسترده استفاده می شود و این امر را برای بسیاری از توسعه دهندگان وب و برنامه ها ضروری می کند.
برای نصب PHP ، دستور زیر را تایپ کنید:
⦁ sudo apt-get install php5-common libapache2-mod-php5 php5-cli

پس از موافقت با نصب ، PHP روی سرور مجازی شما نصب می شود. بسیاری از بسته های نصب شده فراتر از PHP را مشاهده خواهید کرد. نگران نباشید سیستم شما در حال ادغام نرم افزار PHP با نصب موجود Apache2 و سایر برنامه های شما است.
Apache را بر روی سرور مجازی خود ریستارت کنید تا اطمینان حاصل کنید که تمام تغییرات مربوط به نصب PHP مؤثر هستند. برای انجام این کار ، دستور زیر را تایپ کنید:
⦁ $ sudo service apache2 restart

حال ، نرم افزار PHP که نصب کرده اید آزمایش کنید. به دیرکتوری وب عمومی بروید:
⦁ $ cd /var/www/html

پس از آنجا ، از ویرایشگر متن کنسول مورد علاقه خود استفاده کنید تا فایلی به نام info.php ایجاد کنید. در اینجا یک روش برای انجام این کار وجود دارد:
⦁ $ sudo nano info.php

این دستور از ویرایشگر خط فرمان nano برای باز کردن یک فایل خالی جدید با این نام استفاده می کند. در داخل این فایل ، موارد زیر را برای جمع کردن یک صفحه وب با اطلاعات خروجی برای پیکربندی PHP خود تایپ کنید:
/var/www/html/info.php

برای خروج از فایل ، CTRL-X بزنید ، سپس Y را تغییر دهید که تغییراتی را که ایجاد کرده اید ذخیره کنید ، سپس ENTER را تأیید کنید تا نام فایل را تأیید کنید. برای دسترسی به اطلاعات پیکربندی ، مرورگر وب خود را باز کرده و آدرس زیر را تایپ کنید ، بخش هایلایت شده را با آدرس IP سرور مجازی خود جایگزین کنید:
⦁ http://111.111.111.111/info.php
اگر همه کارها را به درستی انجام داده باشید ، صفحه پیش فرض اطلاعات PHP مانند صفحه زیر را می بینید:

هنگامی که تست این صفحه PHP را مشاهده کردید ، آن را برای امنیت حذف کنید. برای انجام این کار ، این دستور را اجرا کنید:
⦁ $ sudo rm -i /var/www/html/info.php

سپس سیستم از شما سؤال می کند که آیا می خواهید فایل آزمایشی را که ایجاد کرده اید حذف کنید. برای حذف فایل جواب بله بدهید. پس از اتمام این کار ، نصب اولیه PHP را انجام داده اید.
نتیجه
اکنون پایه اصلی LAMP را بر روی سرور مجازی خود نصب کرده اید و به شما بستری برای ایجاد طیف گسترده ای از وب سایت ها و برنامه های وب ارائه می دهید. از اینجا ، روش های بسیاری وجود دارد که می توانید قابلیت های سرور مجازی خود را شخصی سازی و گسترش دهید. برای کسب اطلاعات بیشتر در مورد امنیت سرور مجازی لینوکس خود ، مقدمه ای برای تأمین امنیت لینوکس VPS خود ببینید. اگر می خواهید سرور مجازی خود را برای میزبانی چندین وب سایت تنظیم کنید ، آموزش هاست های مجازی Apache را دنبال کنید.

 

برچسب‌ها:ApacheLinuxMySQLPHP LAMP

نحوه نصب Webmin در Debian 9

۱۳۰ بازديد

Webmin یک پنل کنترل وب مدرن است که به شما امکان می دهد سرور مجازی لینوکس خود را از طریق یک رابط مبتنی بر مرورگر مدیریت کنید. با Webmin ، می توانید حساب های کاربری را مدیریت کنید ، تنظیمات DNS را پیکربندی کنید و تنظیمات بسته های معمول را تغییر دهید.
در این آموزش ، Webmin را بر روی سرور مجازی خود نصب و پیکربندی می کنید و دسترسی به رابط را با داشتن یک گواهی معتبر از Let’s Encrypt ایمن می کنید. سپس از Webmin برای اضافه کردن حسابهای کاربری جدید استفاده خواهید کرد و کلیه بسته های موجود در داشبورد را روی سرور مجازی خود به روز می کنید.
پیش نیازها
برای تکمیل این آموزش ، به موارد زیر نیاز دارید:
⦁ یک سرور مجازی Debian 9. این سرور مجازی باید دارای یک کاربر غیر ریشه با امتیازات sudo و فایروال UFW پیکربندی شده باشد. این کار را با دنبال کردن راهنمای تنظیم اولیه سرور مجازی Debian 9 ما انجام دهید.
⦁ Apache که با دنبال کردن آموزش ما در مورد نحوه نصب وب سرور مجازی Apache در Debian 9 نصب شده باشد. اگر این راهنمای پیش نیاز را دنبال می کنید ، حتماً یک هاست مجازی را پیکربندی کنید.
⦁ نام دامنه کاملاً واجد شرایط (FQDN) ، با یک رکورد A DNS که به آدرس IP سرور مجازی شما اشاره دارد. برای پیکربندی این ، دستورالعمل ها را در هاست DNS در vpsgol دنبال کنید.
مرحله 1 – نصب Webmin
ابتدا باید مخزن Webmin را اضافه کنیم تا بتوانیم Webmin را با استفاده از مدیر بسته خود نصب و به روز کنیم. این کار را با اضافه کردن مخزن به فایل /etc/apt/source.list انجام می دهیم.
فایل را در ویرایشگر مورد نظر خود باز کنید.
⦁ $ sudo nano /etc/apt/sources.list

سپس این خط را در پایین فایل اضافه کنید تا مخزن جدید اضافه شود:
/etc/apt/sources.list
. . .
deb http://download.webmin.com/download/repository sarge contrib

فایل را ذخیره کرده و از ویرایشگر خارج شوید.
در مرحله بعد ، کلید Webmin PGP را اضافه خواهید کرد تا سیستم شما به مخزن جدید اعتماد کند.

⦁ $ wget http://www.webmin.com/jcameron-key.asc

⦁ $ sudo apt-key add jcameron-key.asc
فهرست بسته سرور مجازی خود را به روز کنید تا منابع Webmin را شامل شود:
⦁ $ sudo apt update


سپس Webmin را نصب کنید:
⦁ $ sudo apt install webmin

پس از اتمام نصب ، خروجی زیر ارائه می شود:
Output
Webmin install complete. You can now login to
https://your_server_ip:10000 as root with your
root password, or as any user who can use `sudo`.

لطفاً این اطلاعات را کپی کنید ، زیرا در مرحله بعدی به آن نیاز دارید.
توجه: اگر ufw را در مرحله پیش شرط نصب کردید ، باید دستور sudo ufw allow 10000را اجرا کنید تا Webmin از طریق فایروال امکان پذیر باشد. برای امنیت بیشتر ، ممکن است بخواهید فایروال خود را پیکربندی کنید تا فقط از محدوده های خاص IP اجازه دسترسی به این پورت را داشته باشید.
بیایید با افزودن یک گواهی معتبر ، Webmin را ایمن کنیم.
مرحله 2 – اضافه کردن یک گواهی معتبر با Let’s Encrypt
در حال حاضر Webmin برای استفاده از HTTPS پیکربندی شده است ، اما از یک گواهی نامه امضاء نشده و غیرقابل اعتماد استفاده می کند. بیایید آن را با یک گواهی معتبر از Let’s Encrypt جایگزین کنیم.
به https: // your_domain: 9000 در مرورگر وب خود بروید و your_domain را با نام دامنه خود به آدرس IP سرور مجازی خود جایگزین کنید.
توجه: هنگام ورود به سیستم برای اولین بار ، یک اخطار “Invalid SSL” مشاهده خواهید کرد. این اخطار ممکن است بسته به مرورگر شما متفاوت باشد اما دلیل آن این است که سرور مجازی یک گواهی self-signed ایجاد کرده است. امکان استثناء را بدهید و به دامنه خود بروید تا بتوانید گواهی خود امضا شده را با یک گواهی Let’s Encrypt جایگزین کنید.

به شما یک صفحه ورود به سیستم ارائه می شود. ضمن انجام پیش نیازهای این آموزش ، با کاربر غیر ریشه ای که ایجاد کرده اید وارد سیستم شوید.
پس از ورود به سیستم ، اولین صفحه ای که مشاهده خواهید کرد داشبورد Webmin است. قبل از استفاده از یک گواهی معتبر ، باید نام میزبان سرور مجازی را تنظیم کنید. همانطور که در شکل زیر نشان داده شده است ، به قسمت System hostnameرفته و روی پیوند سمت راست کلیک کنید:

شما را به صفحه Hostname and DNS Client میبرد. فیلد Hostname  را پیدا کنید و نام دامنه کاملاً واجد شرایط خود را وارد این قسمت کنید. سپس بر روی دکمه ذخیره در پایین صفحه کلیک کنید تا تنظیمات اعمال شود.
پس از تنظیم نام میزبان خود ، بر روی منوی کشویی Webmin در نوار پیمایش سمت چپ کلیک کنید و سپس بر روی Webmin Configuration کلیک کنید.
از صفحه پیکربندی Webmin ، SSL Encryption را از لیست آیکون ها انتخاب کنید ، و سپس روی سربرگ Let’s Encrypt کلیک کنید. صفحه نمایشی مانند شکل زیر را مشاهده خواهید کرد:

در این صفحه ، به Webmin می گویید که چگونه گواهینامه شما را دریافت و تمدید کند. گواهینامه های رمزگذاری شده پس از 3 ماه منقضی میشوند ، اما می توانید به Webmin دستور دهید که بطور خودکار سعی کند هر ماه مجوز Let’s Encrypt را تمدید نماید. Let’s Encrypt به دنبال یک فایل تأیید بر روی سرور مجازی میباشد ، بنابراین ما Webmin را پیکربندی می کنیم تا فایل تأیید را درون پوشه / var / www / your_domain قرار دهد ، این پوشه ای است که وب سرور مجازی Apache که در پیش نیازها پیکربندی کرده اید از آن استفاده می کند. برای تنظیم گواهینامه خود این مراحل را دنبال کنید:
1- Hostnames for certificate را با FQDN خود پر کنید.
2- برای Website root directory for validation file ، دکمه Other Directory را انتخاب کرده و /var/www/htmlرا وارد کنید.
3- برای بخش Months between automatic renewal ، گزینه Only renew manually را با وارد کردن 1 در جعبه ورودی کنسل کنید، و دکمه رادیو را در سمت چپ جعبه ورودی انتخاب کنید.
4- روی دکمه  Request Certificate کلیک کنید. بعد از چند ثانیه ، صفحه تأیید را مشاهده خواهید کرد.
برای استفاده از گواهینامه جدید ، روی دکمه بازگشت به پیکربندی Webmin در صفحه تأیید کلیک کنید. از آن صفحه ، به پایین بروید و بر روی دکمه Restart Webmin کلیک کنید. حدود 30 ثانیه صبر کنید و سپس صفحه را مجدد لود کنید و دوباره وارد سیستم شوید. اکنون مرورگر شما باید نشان دهد که گواهی معتبر است.
مرحله 3 – استفاده از Webmin
اکنون یک نمونه کار ایمن از Webmin تنظیم کرده اید. بیایید نحوه استفاده از آن را بررسی کنیم.
Webmin ماژول های مختلف زیادی دارد که می تواند همه چیز را از سرور مجازی BIND DNS گرفته تا چیزی به سادگی اضافه کردن کاربران به سیستم را کنترل کند. بیایید به نحوه ایجاد یک کاربر جدید بپردازیم و سپس نحوه به روزرسانی بسته های سیستم خود را با استفاده از Webmin بررسی کنیم.
مدیریت کاربران و گروه ها
ابتدا بر روی منوی System در نوار کناری سمت چپ کلیک کرده و سپس روی لینک Users and Groups کلیک کنید. از اینجا می توانید کاربران و گروه ها را اضافه و مدیریت کنید.
بیایید کاربر جدیدی به نام deploy ایجاد کنیم که می توانید از آن برای میزبانی برنامه های وب استفاده کنید. هنگام ایجاد کاربر ، می توانید گزینه هایی را برای انقضاء رمز عبور ، پوسته کاربر و اینکه آیا مجاز به ورود به دیرکتوری هوم هستند ، تعیین کنید.
برای افزودن کاربر ، روی Create a new user ، که در بالای جدول کاربران قرار دارد ، کلیک کنید. این گزینه صفحه ایجاد کاربر را نمایش می دهد ، در آنجا می توانید نام کاربری ، رمز عبور ، گروه ها و گزینه های دیگر را ایجاد کنید. برای ایجاد کاربر این دستورالعمل ها را دنبال کنید:
1- نام کاربری را با deploy پر کنید.
2- برای شناسه کاربر automatic را انتخاب کنید.
3- real name را با نام توصیفی مانند deployment user پر کنید.
4- برای Home Directory ، Automatic را انتخاب کنید.
5- برای Shell ، از لیست کشویی گزینه / bin / bash را انتخاب کنید.
6- برای گذرواژه ، Normal Password را انتخاب کرده و پسورد مورد نظر خود را تایپ کنید.
7- برای primary group ، New group with same name as userرا انتخاب کنید.
8- برای گروه ثانویه ، از لیست همه گروه ها sudo را انتخاب کنید. باید به طور خودکار به لیست In groups اضافه شود ، اما اگر این گزینه نیست ، دکمه -> را فشار دهید تا آن را اضافه کنید.
9- برای ایجاد کاربر جدید روی create کلیک کنید
پس از ایجاد کاربر جدید ، میتوانید گزینه هایی برای انقضای پسورد، پوسته کاربر و اینکه آیا اجازه ورود به دیرکتوری هوم را دارند یا خیر تنظیم کنید،
در مرحله بعدی ، بیایید ببینیم که چگونه به روزرسانی های سیستم خود را نصب کنیم.
به روزرسانی بسته ها
Webmin به شما امکان می دهد همه بسته های خود را از طریق رابط کاربری آن به روز کنید. برای به روزرسانی همه بسته های خود ، ابتدا بر روی دکمه Dashboard در بالای نوار کناری سمت چپ کلیک کرده و سپس قسمت Update Package را پیدا کنید. اگر به روزرسانی وجود داشته باشد ، پیوندی را مشاهده می کنید که تعداد به روزرسانی های موجود را بیان می کند.

برای شروع به روزرسانی ، روی این لینک کلیک کنید ، و سپس Update selected packages را بزنید تا به روز رسانی شروع شود. ممکن است از شما خواسته شود که سرور مجازی را ریبوت کنید ، که می توانید از طریق رابط Webmin نیز این کار را انجام دهید.
نتیجه
اکنون یک نمونه کار ایمن Webmin دارید و از رابط کاربری برای ایجاد یک کاربر و به روزرسانی بسته ها استفاده کردید. Webmin به شما امکان دسترسی به موارد زیادی را می دهد که به طور معمول باید از طریق کنسول به آنها دسترسی پیدا کنید ، و آنها را به روشی بصری سازماندهی می کند. به عنوان مثال ، در صورت نصب Apache ، می توانید زبانه پیکربندی آن را در زیر سرور مجازی ها ، و سپس Apache پیدا کنید.
رابط را جستجو کنید یا برای یادگیری بیشتر درباره مدیریت سیستم خود با Webmin ، مطالب Official Webmin wiki را مطالعه کنید.

 

برچسب‌ها:Webmin

نحوه اضافه کردن ، حذف و اعطای امتیازات Sudo به کاربران در VPS Debian

۱۳۶ بازديد

مقدمه
هنگامی که یک سرور مجازی جدید راه اندازی میکنید، یک حساب پیش فرض به نام root ایجاد می شود. این کاربر دسترسی کامل به سیستم دارد و باید فقط برای کارهای اداری مورد استفاده قرار گیرد. اساساً هیچ محدودیتی در مورد کارهایی که می توانید به عنوان کاربر اصلی برای سیستم خود انجام دهید وجود ندارد ، که ابزار کارآمدی است اما بسیار خطرناک است. لینوکس دکمه ” undo” ندارد.
برای کاهش این خطر ، می توانیم کاربر جدیدی ایجاد کنیم ، که امتیازات کمتری داشته باشد ، اما برای کارهای روزمره مناسب تر است. هنگامی که به قدرت کاربر اجرایی احتیاج دارید ، می توانید از طریق دستوری به نام sudo به آن قابلیت دسترسی پیدا کنید که به طور موقت امتیازات یک فرمان واحد را بالا می برد.
این راهنما نحوه ایجاد یک کاربر جدید بر روی سیستم دبیان را بررسی خواهد کرد. ما همچنین نحوه دسترسی کاربران به فرمان sudo را در صورت نیاز به امتیازات اجرایی و نحوه حذف کاربرانی که دیگر به آنها نیازی ندارید را پوشش خواهیم داد.
ورود به سرور خود
برای انجام مراحل در این راهنما، شما باید به عنوان کاربر اصلی وارد سرور Debian خود شوید.
اگر بدون انتخاب کلید SSH جهت تأیید اعتبار، یک نمونه سرور مجاری ایجاد کرده اید، به طور معمول ایمیلی را با رمز کاربری root دریافت می کنید. با تایپ کردن ssh root@your_server_ip_address می توانید از این اطلاعات برای ورود به سرور مجازی خود به عنوان کاربر اصلی در ترمینال استفاده کنید.
پسوردی را که به شما ارسال شده است وارد کنید (با وارد کردن پسورد هیچ چیزی روی صفحه نمایش داده نمی شود. این یک ویژگی امنیتی است به طوری که افراد اطراف شما نمی توانند رمز عبور شما را بر اساس طول آن حدس بزنند).
اگر پیکربندی خود را برای استفاده از کلیدهای SSH برای احراز هویت تنظیم کرده اید، می توانید از همان روش SSH بالا استفاده کنید ، اما به طور خودکار وارد سیستم می شوید بدون اینکه از شما پسورد خواسته شود. توجه داشته باشید که هیچ رمز عبوری برای شما ارسال نخواهد شد.
افزودن کاربر جدید
اولین قدم اضافه کردن یک کاربر جدید است. کاربران جدید ، به طور پیش فرض ، غیر متمایز هستند. این بدان معنی است که آنها فقط قادر به تغییر پرو Debiaنده ها در فهرست هوم خود هستند ، این همان چیزی است که ما می خواهیم.

اگر این اولین کاربر جدید شماست و شما هم اکنون به عنوان کاربر root وارد سیستم شده اید ، می توانید از ترکیب زیر استفاده کنید تا کاربر جدید ایجاد کنید:
adduser newuser
اگر به یک حساب کاربری وارد شده اید که اخیرا اضافه کرده اید و امتیازات sudo را دریافت کرده اید ، می توانید با استفاده از sudo با همان دستور کاربر جدیدی ایجاد کنید:
sudo adduser newuser
در هر صورت ، Debian  شما را برای کسب اطلاعات بیشتر در مورد کاربری که می خواهید ایجاد کنید آگاه میکند. اولین اطلاعاتی که باید انتخاب کنید رمز عبور کاربر جدید است.
از شما می خواهد یک رمز عبور انتخاب کنید و سپس با تکرار آن را تأیید کنید (این دفعه هم کاراکترهایی که تایپ می کنید برای اهداف امنیتی در پنجره ظاهر نمی شوند).
پس از آن ، اطلاعات شخصی در مورد کاربر را از شما میخواهد. شما می توانید آن را پر کنید یا خالی نگه دارید. کاربر بدون در نظر گرفتن تصمیم شما کاملاً به همان روش کار خواهد کرد. برای رد کردن این تبلیغات ، ENTER را تایپ کنید و مقادیر وارد شده را بپذیرید.
دسترسی به کاربر جدید
وقتی این مراحل را تمام کردید ، کاربر جدید شما اکنون در دسترس است. می توانید با وارد کردن exit به عنوان کاربر جدید وارد شوید:
با این کار بخش فعلی شما به عنوان root خاتمه می یابد و به شما امکان می دهد با وارد کردن کاربر جدید از طریق SSH وارد شوید:
ssh newuser @ your_server_ip_address
این بار گذرواژه جدیدی را که تازه برای این کاربر تنظیم کرده اید ، وارد کنید.
روش دیگر برای جابجایی سریع کاربر دیگر بدون ورود به سیستم ، استفاده از دستور su است. این دستور مخفف substitute  است و به شما امکان می دهد تا کاربر مورد نظر خود را تغییر دهید. می توانید از این طریق استفاده کنید:
su – newuser
با این کار رمز ورود کاربر جدید از شما خواسته میشود. وقتی آن را به درستی وارد کرده باشید ، به کاربر جدید تغییر خواهید کرد. وقتی می خواهید به بخش اصلی خود برگردید ، دوباره دستور خروج را وارد کنید:
اعطای امتیازات اجرایی به کاربران
اکنون که کاربر جدیدی در سیستم خود دارید ، باید تصمیم بگیرید که آیا این کاربر باید با sudo وظایف اداری را انجام دهد یا خیر.
اگر کاربری که ایجاد کردید کاربر اصلی شما در سیستم میباشد ، معمولاً مایل هستید امتیازات sudo را فعال کنید تا بتوانید پیکربندی و نگهداری معمول را انجام دهید.
برای افزودن این امتیازات به کاربر جدید خود ، باید کاربر جدید را به گروه sudo اضافه کنیم. به طور پیش فرض کاربرانی که به گروه sudo تعلق دارند مجاز به استفاده از دستور sudo هستند.

به عنوان root ، این دستور را اجرا کنید تا کاربر جدید خود را به گروه sudo اضافه کنید (کلمه هایلایت شده را با کاربر جدید خود جایگزین کنید):
usermod -aG sudo sammy
اکنون ، هنگامی که به عنوان کاربر عادی خود وارد سیستم شده اید ، می توانید با تایپ کردن sudo command_name
یک دستور خاص با امتیازات اصلی را اجرا کنید.
از شما خواسته می شود رمزعبور کاربر خود را وارد کنید (نه رمزعبور کاربر اصلی). سپس دستور با دسترسی بهتر اجرا می شود.
حذف یک کاربر
اگر بیش از یک نفر از سرور مجازی شما استفاده می کند، باید کاربری خود را به آن ها اختصاص دهید تا وارد سیستم شوند. اگر کاربری ایجاد کرده اید که دیگر نیازی به آن ندارید ، حذف آن بسیار آسان است.
به عنوان یک کاربر معمولی با امتیازات sudo ، می توانید کاربر را با استفاده از این دستور حذف کنید:
sudo deluser –remove-home username
گزینه –remove-home دیرکتوری هوم کاربر را نیز حذف می کند.
اگر به عنوان کاربر root وارد شده اید ، نیازی به اضافه کردن sudo قبل از دستور ندارید:
deluser –remove-home username
نتیجه
اضافه کردن کاربران ، حذف کاربران ، و اختصاص امتیازات sudo همه کارهای اولیه ای است که به احتمال زیاد به پیکربندی برای هر سرور مجازی احتیاج دارید. با آشنایی با این فرایندها ، می توانید محیط اولیه خود را سریعتر و با اطمینان تر تنظیم

 

از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید :

چگونه می توان با کتابخانه (library) درخواست ها در پایتون شروع به کار کرد

نحوه اجرای صفحه گذاری در MySQL با PHP روی اوبونتو 18.04

نحوه تنظیم پلتفرم Eclipse Theia Cloud IDE در CentOS 7

بسته بندی برنامه Laravel 6 برای توسعه با Docker Compose در اوبونتو 18.04

نحوه بهینه سازی درخواست های MySQL با ذخیره سازی *******SQL در اوبونتو 16.04

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

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

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

نحوه پیکربندی یک خوشه Galera با MySQL در سرورهای اوبونتو 18.04

نحوه تهیه نسخه پشتیبان و بازیابی یک خوشه Kubernetes در vpsgol با استفاده از Velero

نحوه نصب و استفاده از PostgreSQL در CentOS 7

چگونه می توان پلتفرم Eclipse Theia Cloud IDE را روی اوبونتو 18.4 تنظیم کرد

نحوه استقرار و مدیریت DNS با استفاده از DNSControl در Debian 10

چگونه می توان پلتفرم Cloud IDE کد سرور را روی CentOS 7 تنظیم کرد

نحوه نصب Apache Kafka در Debian 10

نحوه نصب وردپرس با OpenLiteSpeed ​​در اوبونتو 18.04

چگونه پیکربندی SSH Daemon خود را بر روی یک VPS لینوکس تنظیم کنید

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکا – خرید سرور مجازی

 

برچسب‌ها:DebianSSHsudovpsVPS Debianحذف و اعطای امتیازات Sudoنحوه اضافه کردن

نحوه استفاده از Netcat برای ایجاد و تست اتصالات TCP و UDP در یک VPS

۱۳۹ بازديد

مقدمه
لینوکس به دلیل داشتن تعداد زیادی از کاربردهای دستوری مفید در اکثر بخش ها، مشهور است. کاربران ماهر سیستم می توانند بخش اعظم کار خود را با استفاده از ابزارهای داخلی بدون نیاز به نصب نرم افزار اضافی انجام دهند.
در این راهنما ، ما در مورد چگونگی استفاده از ابزار netcat بحث خواهیم کرد. این دستور چند منظوره که اغلب به عنوان یک چاقوی نظامی سوئیسی در بین ابزارهای شبکه نامیده می شود ، می تواند در نظارت ، آزمایش و ارسال اطلاعات از طریق اتصالات شبکه به شما کمک کند.
ما در حال بررسی این موضوع در Ubuntu 12.04 VPS هستیم ، اما netcat تقریباً باید در هر توزیع مدرن لینوکس موجود باشد. Ubuntu با متغیر BSD در netcat ارسال می شود و این همان چیزی است که ما در این راهنما استفاده خواهیم کرد. سایر نسخه ها ممکن است متفاوت عمل کنند یا امکانات دیگری را ارائه دهند.
ترکیب عمومی
به طور پیش فرض ، netcat با ایجاد اتصال TCP به هاستئ از راه دور کار می کند.
ابتدایی ترین روش:
netcat [options] host port
با این کار می توانید TCP را در هاست تعریف شده روی شماره پورت مشخص آغاز کنید. این در واقع عملکردهایی مشابه دستور قدیمی telnet لینوکس دارد. به خاطر داشته باشید که اتصال شما کاملاً غیرقابل رمزگذاری است.
اگر می خواهید به جای شروع اتصال TCP ، یک بسته UDP ارسال کنید ، می توانید از گزینه -u استفاده کنید:
netcat -u host port
شما می توانید با قرار دادن خط فاصله بین اول و آخر، طیف وسیعی از پورت ها را مشخص کنید:
netcat host startport-endport
این به طور کلی با برخی پرچم های اضافی استفاده می شود.
در اکثر سیستم ها ، ما می توانیم از netcat یا nc به صورت یکسان استفاده کنیم. آنها نامهای مستعار برای همین دستور هستند.
نحوه استفاده از Netcat برای اسکن پورت
یکی از رایج ترین کاربردهای netcat به عنوان اسکنر پورت میباشد.
اگرچه احتمالاً netcat پیشرفته ترین ابزار برای این کار نیست (nmap در بیشتر موارد انتخاب بهتری است) ، اما می تواند اسکن های ساده ای را برای شناسایی پورت های باز انجام دهد.
ما این کار را با مشخص کردن طیف وسیعی از پورت ها برای اسکن انجام می دهیم ، همانطور که در بالا انجام دادیم ، یعنی به همراه گزینه -z برای انجام یک اسکن به جای تلاش برای شروع اتصال.
به عنوان مثال ، ما می توانیم با صدور این دستور ، تمام پورت ها را تا 1000 اسکن کنیم:
netcat -z -v domain.com 1-1000
در کنار گزینه -z ، گزینه -v را نیز برای فراخوانی netcat جهت ارائه اطلاعات شفاف تر مشخص کرده ایم.
خروجی به شرح زیر خواهد بود:
خروجی
Nc: اتصال به domain.com پورت 1 (TCP) انجام نشد: اتصال قطع
Nc: اتصال به domain.com پورت 2 (TCP) انجام نشد: اتصال قطع
Nc: اتصال به domain.com پورت 3 (TCP) انجام نشد: اتصال قطع
Nc: اتصال به domain.com پورت 4 (TCP) انجام نشد: اتصال قطع
Nc: اتصال به domain.com پورت 5 (TCP) انجام نشد: اتصال قطع
Nc: اتصال به domain.com پورت 6 (TCP) انجام نشد: اتصال قطع
Nc: اتصال به domain.com پورت 7 (TCP) انجام نشد: اتصال قطع

اتصال به domain.com پورت 22 [tcp / ssh] موفق شد!
همانطور که مشاهده می کنید ، این کار اطلاعات زیادی را در اختیار شما قرار می دهد و برای هر پورت به شما می گوید که آیا یک اسکن موفقیت آمیز بوده یا خیر.
اگر در واقع از یک نام دامنه استفاده می کنید ، این شکلی است که باید استفاده کنید.
با این وجود ، اگر آدرس IP موردنیاز خود را بدانید ، اسکن شما بسیار سریعتر انجام خواهد شد. سپس می توانید از پرچم -n استفاده کنید تا مشخص کنید که نیازی به resolve  آدرس IP با استفاده از DNS نمی باشد:
netcat -z -n -v 198.51.100.0 1-1000
پیام های برگشت یافته در واقع به خطای استاندارد ارسال می شوند (برای اطلاعات بیشتر به مقاله تغییر مسیر I / O مراجعه کنید). ما می توانیم پیام های خطای استاندارد را ارسال کنیم که به ما امکان می دهد نتایج را راحت تر فیلتر کنیم.
ما خطای استاندارد را با استفاده از syntax 2> & 1 bash به خروجی استاندارد هدایت می کنیم. سپس نتایج را با grep فیلتر خواهیم کرد:

netcat -z -n -v 198.51.100.0 1-1000 2>&1 | grep succeeded

خروجی
Connection to 198.51.100.0 22 port [tcp/*] succeeded!

در اینجا ، ما می توانیم ببینیم که تنها پورت باز شده در محدوده 1 تا 1000 روی رایانه از راه دور ، پورت 22 ، یعنی پورت قدیمی SSH است.
چگونه از طریق Netcat ارتباط برقرار کنیم
Netcat محدود به ارسال بسته های TCP و UDP نمی شود. همچنین می تواند به دنبال اتصالات و بسته ها در یک پورت باشد. این امر به ما فرصت می دهد تا دو نمونه از netcat را در یک ارتباط مشتری-سرور مجازی متصل کنیم.
اینکه کدام کامپیوتر سرور مجازی و کدام مشتری است، فقط یک وجه متمایز در تنظیمات اولیه میباشد. پس از برقراری اتصال ، ارتباط دقیقاً در هر دو جهت یکسان است.
در یک دستگاه ، می توانید به netcat بگویید که به یک پورت خاص برای اتصالات گوش دهد. ما می توانیم با تهیه پارامتر -l و انتخاب پورت این کار را انجام دهیم:
netcat -l 4444
با این کار به netcat میگویید که به اتصالات TCP در پورت 4444 گوش دهد. به عنوان یک کاربر معمولی (غیر root) ، شما نمی توانید به خاطر مسئله امنیتی ، هیچ پورت زیر 1000 را باز کنید.
در سرور مجازی دوم ، می توانیم به اولین دستگاه روی شماره پورتی که انتخاب می کنیم متصل شویم. ما این کار را به همان روشی که قبلاً اتصال را برقرار کرده ایم انجام می دهیم:
netcat domain.com 4444
انگار هیچ اتفاقی نیفتاده است. با این حال ، اکنون می توانید پیام های خود را از هر طرف اتصال ارسال کنید و در هر دو طرف دیده می شوند.
پیامی را تایپ کنید و ENTER را فشار دهید. در هر دو صفحه محلی و راه دور ظاهر می شود. این نیز در جهت مخالف کار می کند.
پس از اتمام ارسال پیام ، می توانید CTRL-D را فشار دهید تا اتصال TCP بسته شود.
نحوه ارسال فایل ها از طریق Netcat
با استفاده از مثال قبلی ، می توانیم کارهای مفیدتری را انجام دهیم.
از آنجا که ما در حال برقراری یک اتصال معمولی TCP هستیم ، می توانیم تقریباً هر نوع اطلاعات را از طریق آن ارتباط منتقل کنیم. این فقط به پیام های ******** که توسط کاربر تایپ می شوند محدود نمی شود. ما می توانیم از این علم برای تبدیل netcat به یک برنامه انتقال فایل استفاده کنیم.

این بار هم برای گوش دادن به اتصالات ، باید یک انتهای اتصال را انتخاب کنیم. اما، به جای چاپ اطلاعات بر روی صفحه نمایش ، همانطور که در مثال آخر انجام دادیم ، تمام اطلاعات را مستقیماً در یک فایل قرار خواهیم داد:
netcat -l 4444 > received_file
در رایانه دوم ، با تایپ کردن echo “Hello, this is a file” > original_file یک فایل متنی ساده ایجاد کنید
اکنون می توانیم از این فایل به عنوان ورودی برای اتصال netcat در رایانه مورد شنود استفاده کنیم. فایل دقیقاً مثل اینکه ما آن را به صورت تعاملی تایپ کرده ایم ، منتقل می شود:
netcat domain.com 4444 < original_file
در رایانه ای که منتظر اتصال است ، می توانیم ببینیم که اکنون یک فایل جدید داریم با نام “received_file” با محتویات فایلی که در رایانه دیگر تایپ کرده ایم:
cat received_file

خروجی
Hello, this is a file

همانطور که مشاهده می کنید ، با اتصال، می توانیم به راحتی از این اتصال برای انتقال انواع فایل ها استفاده کنیم.
به عنوان مثال ، می توانیم با ایجاد یک تاربال بدون نام کل محتوای دایرکتوری را منتقل کنیم ، آن را به سیستم از راه دور انتقال داده و در دایرکتوری راه دور باز کنیم.
در پایان دریافت ، می توانیم فایلی را انتظار داشته باشیم که باید با تایپ متن زیر آنزیپ و اکسترکت شود:
netcat -l 4444 | tar xzvf –

خط پایان (-) به این معنی است که تار در ورودی استاندارد کار می کند ، که هنگام ایجاد اتصال از netcat در سراسر شبکه منتقل می شود.
در سمتی که میخواهیم محتوی دایرکتوری را انتقال دهیم ، می توانیم آنها را درون یک تاربال جمع کرده و سپس آنها را از طریق netcat به رایانه راه دور ارسال کنیم:
tar -czf – * | netcat domain.com 4444
این بار ، dash در دستور tar به معنی زیپ کردن محتویات فهرست فعلی (همانطور که توسط * wildcard مشخص شده است) می باشد ، و نتیجه را به خروجی استاندارد می نویسد.
سپس این مستقیماً به اتصال TCP نوشته می شود ، که در انتهای دیگر دریافت می شود و در فهرست فعلی رایانه از راه دور فشرده می شود.
این فقط یک نمونه از انتقال داده های پیچیده تر از یک کامپیوتر به کامپیوتر دیگر است. ایده مشترک دیگر استفاده از دستور dd برای تصویربرداری از دیسک از یک طرف و انتقال آن به کامپیوتر از راه دور است. ما این مطلب را در اینجا پوشش نمی دهیم.
نحوه استفاده از Netcat به عنوان یک وب سرور ساده
ما به منظور برقراری ارتباط و انتقال فایل ها ، netcat را برای گوش دادن به اتصالات پیکربندی کرده ایم. ما می توانیم از همین مفهوم برای عملکرد netcat به عنوان یک سرور وب بسیار ساده استفاده کنیم. این می تواند برای تست صفحاتی که ایجاد می کنید مفید باشد.
ابتدا ، بیایید یک فایل HTML ساده را در یک سرور مجازی بسازیم:
nano index.html
در اینجا HTML ساده ای وجود دارد که می توانید در فایل خود استفاده کنید:
index.html


Test Page


Level 1 header


Subheading


Normal text here



ذخیره کنید و فایل را ببندید.
بدون امتیازات کاربر اصلی ، شما نمی توانید این فایل را در پورت پیش فرض وب ، پورت 80 ارائه دهید. ما می توانیم پورت 8888 را به عنوان یک کاربر معمولی انتخاب کنیم.
اگر فقط می خواهید یک بار به این صفحه سرویس دهید تا نحوه ارائه آن را بررسی کنید ، می توانید دستور زیر را اجرا کنید:
printf ‘HTTP/1.1 200 OKnn%s’ “$(cat index.html)” | netcat -l 8888
اکنون در مرورگر خود با مراجعه به آدرس زیر می توانید به محتوا دسترسی پیدا کنید:
http: // server_IP: 8888
این آدرس صفحه را باز می کند ، و سپس اتصال netcat بسته می شود. اگر سعی کنید صفحه را ریفرش کنید ، از دست میرود.
می توانیم با رپ کردن آخرین دستور در یک حلقه بی نهایت مانند زیر، کاری کنیم ne0tcat صفحه را به طور نامحدود ارائه دهد:

while true; do printf ‘HTTP/1.1 200 OKnn%s’ “$(cat index.html)” | netcat -l 8888; done
این کار باعث میشود بعد از بسته شدن اولین اتصال ، همچنان به دریافت اتصالات ادامه دهید.
با تایپ کردن CTRL-C روی سرور می توانیم حلقه را متوقف کنیم.
این کار به شما امکان می دهد ببینید که چگونه یک صفحه در مرورگر ارائه می شود ، اما عملکرد بیشتری را ارائه نمی دهد. شما هرگز نباید از این امکان برای سرویس دادن به وب سایتهای واقعی استفاده کنید. هیچ امنیتی وجود ندارد و موارد ساده مانند پیوندها حتی به درستی کار نمی کنند.
نتیجه
اکنون باید فهمیده باشید که Netcat برای چه مواردی قابل استفاده است. درواقع یک ابزار همه کاره است که می تواند برای تشخیص مشکلات مفید باشد و تأیید کند که عملکرد سطح پایه به طور صحیح با اتصالات TCP / UDP کار می کند یا خیر.
با استفاده از netcat ، شما می توانید برای تعامل سریع بین کامپیوترهای مختلف ارتباط برقرار کنید. Netcat با در نظر گرفتن پیچیدگی در ایجاد اتصالات ، سعی در ایجاد تعامل شبکه بین رایانه ها دارد.

 

از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید :

چگونه می توان با کتابخانه (library) درخواست ها در پایتون شروع به کار کرد

نحوه اجرای صفحه گذاری در MySQL با PHP روی اوبونتو 18.04

نحوه تنظیم پلتفرم Eclipse Theia Cloud IDE در CentOS 7

بسته بندی برنامه Laravel 6 برای توسعه با Docker Compose در اوبونتو 18.04

نحوه بهینه سازی درخواست های MySQL با ذخیره سازی *******SQL در اوبونتو 16.04

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

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

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

نحوه پیکربندی یک خوشه Galera با MySQL در سرورهای اوبونتو 18.04

نحوه تهیه نسخه پشتیبان و بازیابی یک خوشه Kubernetes در vpsgol با استفاده از Velero

نحوه نصب و استفاده از PostgreSQL در CentOS 7

چگونه می توان پلتفرم Eclipse Theia Cloud IDE را روی اوبونتو 18.4 تنظیم کرد

نحوه استقرار و مدیریت DNS با استفاده از DNSControl در Debian 10

چگونه می توان پلتفرم Cloud IDE کد سرور را روی CentOS 7 تنظیم کرد

نحوه نصب Apache Kafka در Debian 10

نحوه نصب وردپرس با OpenLiteSpeed ​​در اوبونتو 18.04

چگونه پیکربندی SSH Daemon خود را بر روی یک VPS لینوکس تنظیم کنید

 

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکا – خرید سرور مجازی

 

برچسب‌ها:Ubuntu 12.04vpsایجاد و تست اتصالات TCP و UDPنحوه استفاده از Netcat

نحوه نصب OctoberCMS بر روی VPS در حال اجرای Ubuntu 14.04

۱۴۰ بازديد

درباره OctoberCMS
OctoberCMS یک منبع آزاد نسبتاً جدید CMS است که بر اساس چارچوب PHP Laravel میباشد. دارای چندین ویژگی جذاب – به ویژه برای توسعه دهندگان – است که می توانید با مراجعه به این صفحه بررسی کنید.
در این آموزش قصد داریم OctoberCMS را روی یک VPS که اوبونتو 14.04 را اجرا می کند ، نصب کنیم. دو راه برای نصب OctoberCMS وجود دارد: از طریق wizard  و از طریق لاین دستوری. ما می خواهیم با استفاده از روش دوم آن را نصب کنیم.
الزامات
برای نصب OctoberCMS ، باید چند مورد را در سیستم رعایت کنید. شما بایدLAMP (لینوکس ، Apache ، MySQP ، PHP) را نصب داشته باشید ، اما Nginx و Lighttpd نیز سرورهای قابل قبول وب هستند. نسخه PHP باید 5.4+ با محدودیت safe_mode غیرفعال باشد. اوبونتو 14.04 با نسخه ای از PHP 5.5 ارائه می شود ، بنابراین نباید مشکلی در این زمینه داشته باشید.
اگر قبلاً آن را تنظیم نکردید ، می توانید این آموزش عالی را در مورد نحوه نصب LAMP در اوبونتو 14.04 بخوانید.
از آنجایی که ما از Apache به عنوان وب سرور استفاده می کنیم و October می تواند از بازنویسی URL استفاده کند ، ما همچنین باید مطمئن شویم که Apache واقعاً اجازه خواهد داد که این کار انجام شود. اگر قبلاً مراحل زیر را انجام نداده اید ، اکنون باید آنها را انجام دهید.
فایل هاست مجازی را که مسئولیت پوشه ای است که October در آن نصب خواهد شد را دارد ویرایش کنید (برای ما ریشه پیش فرض Apache، /var/www/html است):
sudo nano /etc/apache2/sites-available/000-default.conf
در بلوک موجود در شروع:

بلوک زیر را اضافه کنید:

AllowOverride All

مورد بعدی که باید انجام دهیم فعال کردن mod_rewrite است (اگر آن را فعال نکرده اید). برای بررسی اینکه آیا قبلاً فعال شده است ، از دستور زیر استفاده کنید:

apache2ctl -M
اگر “rewrite_module” را در لیست می بینید ، فعال است. اگر اینطور نیست ، برای فعال کردن ماژول از دستور زیر استفاده کنید:
a2enmod rewrite

OctoberCMS همچنین به نصب افزونه cURL نیاز دارد ، بنابراین دستور زیر را برای انجام این کار اجرا کنید:
sudo apt-get install curl php5-curl

سپس باید سرور Apache را مجدداً راه اندازی کنید تا تغییرات به مرحله اجرا درآیند:
sudo service apache2 restart

نصب و راه اندازی
برای نصب از طریق خط فرمان ، به Composer احتیاج خواهیم داشت. اگر نمی دانید چگونه با آن کار کنید ، یا هنوز راه اندازی نکرده اید ، از این لینک آموزش استفاده کنید. علاوه بر این ، به Git نصب شده روی سیستم نیاز خواهید داشت. اگر قبلاً این کار را نکرده اید ، پیش بروید و این دستور را اجرا کنید:
sudo apt-get install git-core

اکنون می توانیم نصب را ادامه دهیم. در بالا گفتیم که ما October را در وب روت Apache ((var / www / html) نصب خواهیم کرد. بنابراین ابتدا تمام فایل های موجود در آن پوشه را حذف کنید. این البته تنها در صورتی ممکن است که OctoberCMS تنها برنامه مورد نظر در پوشه وب روت سرور مجازی باشد. بعد از اطمینان از داشتن فایل Composer.phar در پوشه / var / www و حرکت به سمت آن ، دستور زیر را اجرا کنید:
php composer.phar create-project october/october html dev-master

کاری که انجام می دهد شبیه سازی October از مخزن و ایجاد یک پروژه جدید در پوشه html/ میباشد
ستاپ
مورد بعدی که باید انجام دهیم اصلاح چند فایل است. فایل app / config / app.php را باز کنید و جایی که این خط را پیدا می کنید:
‘url’ => ‘http://yourwebsite.com’

مسیر را به سایت خود تغییر دهید. بیایید آن را http://example.com بنامیم (برای ارجاع بعدی در این راهنما).
علاوه بر این ، شما همچنین باید این خط را تغییر دهید:

‘key’ => ‘UNIQUE_ENCRYPTION_KEY’

به منظور انتخاب کلید رمزگذاری ، October استفاده خواهد شد.
به صورت اختیاری ، ویرایش فایل app / config / cms.php به شما امکان می دهد تم سایت را تغییر دهید ، کدام ماژول ها بارگذاری شوند، و حتی URI را سفارشی کنید.
دیتابایس
در مرحله بعدی ، بیایید برای October یک دیتابیس ایجاد کنیم. برای راه اندازی پایگاه داده MySQL شما را طی مراحل مختلفی راهنمایی خواهیم کرد ، اما برای اطلاعات بیشتر یک آموزش فوق العاده نیز در این لینک وجود دارد.
اولین کاری که شما باید انجام دهید این است که از ترمینال خود وارد mysql شوید (می توانید از PHPMyAdmin نیز استفاده کنید ، اما من به شما نشان می دهم که چگونه این کار را از خط دستور انجام دهید)
mysql -u username -ppassword

از آنجا ، دستور زیر را برای ایجاد دیتابیس با نام October اجرا کنید:
create database october;

مطمئناً اگر می خواهید نام آن را به چیز دیگری تغییر دهید ممکن است. در مرحله بعد ، فایل app / config / database.php را ویرایش کنید و در زیر بلوک اتصال MySQL ، اعتبارنامه پایگاه داده خود را در صورت لزوم مشخص کنید. درنهایت ، زمان اجرای دستور کنسولی است که دیتابیس October را راه اندازی می کند:
php artisan october:up

اطمینان حاصل کنید که این دستور را از داخل پوشه root Octoberاجرا کرده و در صورت دریافت پیام زیر:
Mcrypt PHP extension required
دستور زیر را برای نصب آن اجرا کنید:
sudo apt-get install php5-mcrypt

سپس باید این افزونه را به صورت دستی فعال کنید. فایل php.ini را ویرایش کنید:
vi /etc/php5/apache2/php.ini
و در داخل خط زیر:
extension=mcrypt.so

سپس به / etc / php5 / apache2 بروید و اگر پوشه conf.d را در آنجا ندارید ، یکی ایجاد کنید:
sudo mkdir conf.d

و در داخل آن پوشه فایلی به نام mcrypt.ini با محتوای زیر در آن ایجاد کنید:
extension=mcrypt.so
سپس با اجرای این دستور ، پیوندی بین آن فایل و ماژول های PHP موجود ایجاد کنید:
sudo ln -s /etc/php5/apache2/conf.d/mcrypt.ini /etc/php5/mods-available

و ماژول را فعال کنید:
sudo php5enmod mcrypt

با راه اندازی مجدد Apache:
sudo service apache2 restart

ایجاد پوشه conf.d فقط درصورتی ضروری است که با فایل mcrypt.ini موجود نباشد (باید به پوشه ماژول های موجود لینک دهید). اگر در حال حاضر وجود دارد ، از این مرحله عبور کنید و مستقیماً لینک را اجرا کنید.
و اکنون می توانید دستور php artisan october:up را اجرا کنید تا پایگاه داده را راه اندازی کنید که باید موفق باشد.
مجوزها
برای اجرای OctoberCMS ، برخی از پوشه ها باید توسط وب سرور قابل نوشتن باشند. بنابراین ، مالکیت آنها را به گروه www-data که شامل کاربر www-data (Apache) است، تغییر میدهیم و کاری می کنیم تا این گروه بتواند در این پوشه ها بنویسد.
sudo chown -R root:www-data app/storage
sudo chown -R root:www-data themes
sudo chown -R root:www-data uploads

sudo chmod -R 775 app/storage/
sudo chmod -R 775 themes
sudo chmod -R 775 uploads

حتما این دستورات را از درون پوشه اصلی OctoberCMS  اجرا کنید و به خاطر داشته باشید که با این دستور ما صاحب فایل ها را کاربر root قرار میدهیم. اگر از کاربر دیگری استفاده می کنید ، فقط نام کاربری او را جایگزین کنید.
اکنون می توانید به http://example.com بروید و در آنجا باید نصب جدید برند OctoberCMS را ببینید. برای ورود به سیستم پشتیبانی شده در http://example.com/backend (به صورت پیش فرض) می توانید از نام کاربری admin و رمز عبور admin استفاده کنید.

 

از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید :

چگونه می توان با کتابخانه (library) درخواست ها در پایتون شروع به کار کرد

نحوه اجرای صفحه گذاری در MySQL با PHP روی اوبونتو 18.04

نحوه تنظیم پلتفرم Eclipse Theia Cloud IDE در CentOS 7

بسته بندی برنامه Laravel 6 برای توسعه با Docker Compose در اوبونتو 18.04

نحوه بهینه سازی درخواست های MySQL با ذخیره سازی *******SQL در اوبونتو 16.04

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

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

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

نحوه پیکربندی یک خوشه Galera با MySQL در سرورهای اوبونتو 18.04

نحوه تهیه نسخه پشتیبان و بازیابی یک خوشه Kubernetes در vpsgol با استفاده از Velero

نحوه نصب و استفاده از PostgreSQL در CentOS 7

چگونه می توان پلتفرم Eclipse Theia Cloud IDE را روی اوبونتو 18.4 تنظیم کرد

نحوه استقرار و مدیریت DNS با استفاده از DNSControl در Debian 10

چگونه می توان پلتفرم Cloud IDE کد سرور را روی CentOS 7 تنظیم کرد

نحوه نصب Apache Kafka در Debian 10

نحوه نصب وردپرس با OpenLiteSpeed ​​در اوبونتو 18.04

چگونه پیکربندی SSH Daemon خود را بر روی یک VPS لینوکس تنظیم کنید

 

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکا – خرید سرور مجازی

 

برچسب‌ها:OctoberCMSنصب OctoberCMS