server



 یک لایه داده است که جایگزین ابزارهای object-relational mapping (ORM) قبلی در برنامه شما است. Prisma با ارائه پشتیبانی هم برای 

سرور مجازی ساخت GraphQL و هم API های REST ، دسترسی به پایگاه داده را با تمرکز بر ایمنی نوع (type safety)، ساده می کند و جا به جایی های اعلامی دیتابیس را امکان پذیر می نماید. ایمنی نوع به کاهش خطاها و ناسازگاری های احتمالی کد کمک می کند ، در حالی که جا به جایی اعلامی پایگاه داده به شما امکان می دهد تا مدل داده های خود را در کنترل نسخه ذخیره کنید. این ویژگی ها به توسعه دهندگان کمک می کند تا زمان متمرکز خود را برای تنظیم دسترسی به پایگاه داده ، جا به جایی و گردش کار مدیریت داده ها کاهش دهند.
می توانید 

سرور مجازی Prisma را به چند روش مستقر کنید تا بعنوان پروکسی برای پایگاه داده شما عمل کند ، و آن را از راه دور یا محلی میزبانی کنید. با استفاده از سرویس Prisma می توانید به داده های خود دسترسی پیدا کرده و با API GraphQL به بانک اطلاعاتی خود متصل شوید ، این کار امکان عملیات زمان واقعی و امکان ایجاد، به روزرسانی و حذف داده ها را فراهم میکند. GraphQL یک زبان پرس و جو برای API ها است که به کاربران امکان می دهد برای دسترسی به اطلاعات دقیق مورد نیاز از 

سرور مجازی خود ، پرس و جوهایی ارسال کنند. 

سرور مجازی Prisma یک جزء مستقل است که در بانک اطلاعاتی شما قرار دارد.
در این آموزش شما به صورت دستی یک 

سرور مجازی Prisma را در Ubuntu 18.04 نصب کرده و یک پرس و جوی تستی GraphQL را در playground GraphQL اجرا می کنید. در حالی که Prisma را روی 

سرور مجازی راه دور خود اجرا می کنید ، هاست کد ستاپ و توسعه محلی Prisma هستید – جایی که در واقع برنامه خود را ایجاد خواهید کرد . با اجرای دستی نصب ، درک عمیق تری از زیرساخت های اساسی ستاپ خود خواهید داشت.
در حالی که این آموزش مراحل دستی استقرار Prisma در 

سرور مجازی اوبونتو 18.04 را در بر می گیرد ، می توانید با دنبال کردن این لینک در سایت Prisma این کار را به صورت خودکار تر با دستگاه Docker انجام دهید.
توجه: تنظیمات شرح داده شده در این بخش شامل ویژگی هایی نیست که شما معمولاً از 

سرور مجازی های آماده تولید مانند پشتیبان گیری خودکار و failover فعال انتظار دارید.
پیش نیازها
برای تکمیل این آموزش ، به موارد زیر نیاز دارید:
⦁ 

سرور مجازی Ubuntu 18.04 که با دنبال کردن راهنمای اولیه تنظیم 

سرور مجازی راه اندازی شده باشد، شامل کاربر غیر ریشه و امتیازات sudo باشد.
⦁ Docker نصب شده روی 

سرور مجازی شما. می توانید با دنبال کردن مرحله 1 آموزش نصب Docker در اوبونتو 18.04 ، به این هدف برسید.
⦁ Docker Compose نصب شده باشد. در مرحله 1 نصب Docker Compose می توانید دستورالعمل های لازم را برای این کار بیابید.
⦁ Node.js روی 

سرور مجازی شما نصب شده باشد. می توانید با دنبال کردن بخش PPA آموزش نصب Node.js این کار را انجام دهید.
مرحله 1 – راه اندازی 

سرور مجازی Prisma
Prisma CLI ابزار اولیه ای است که برای استقرار و مدیریت خدمات Prisma شما استفاده می شود. برای شروع خدمات باید زیرساخت های لازم را تنظیم کنید که شامل 

سرور مجازی Prisma و یک بانک اطلاعاتی برای اتصال به آن می باشد.
Docker Compose به شما امکان می دهد برنامه های چند کانتینری را مدیریت و اجرا کنید. شما می توانید از آن برای تنظیم زیرساخت های مورد نیاز سرویس Prisma استفاده کنید.
با ایجاد فایل docker-compose.yml شروع به کار می کنید تا پیکربندی سرویس Prisma را در 

سرور مجازی خود ذخیره کنید. از این فایل برای چرخش خودکار Prisma ، یک پایگاه داده مرتبط و پیکربندی جزئیات لازم ، همه در یک مرحله استفاده خواهید کرد. پس از چرخش فایل با Docker Compose ، رمزهای عبور داده های شما را پیکربندی می کند ، بنابراین حتماً کلمات عبور را برای مدیریتAPIsecret و MYSQL_ROOT_PASSWORD با مقادیر ایمن جایگزین کنید. دستور زیر را برای ایجاد و ویرایش فایل docker-compose.yml اجرا کنید:
⦁ $ sudo nano docker-compose.yml

برای تعریف خدمات و حجم های مربوط به تنظیم Prisma ، محتوای زیر را به فایل اضافه کنید:
docker-compose.yml
version: 3”
services:
prisma:
image: prismagraphql/prisma:1.20
restart: always
ports:
– 4466:4466”
environment:
PRISMA_CONFIG: |
port: 4466
managementApiSecret: my-secret
databases:
default:
connector: mysql
host: mysql
port: 3306
user: root
password: prisma
migrations: true
mysql:
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: prisma
volumes:
– mysql:/var/lib/mysql
volumes:
mysql:

این پیکربندی موارد زیر را انجام می دهد:
• دو سرویس راه اندازی می کند: prisma-db و db.
• آخرین نسخه از Prisma را واکشی می کند. در این مقاله ، همان Prisma 1.20 است.
• پورت هایی را تنظیم می کند که Prisma در دسترس خواهد بود و تمام اعتبارات را برای اتصال به پایگاه داده MySQL در بخش دیتابیس ها مشخص می کند.
فایل docker-compose.yml ، managementApiSecret را تنظیم می کند ، که از دسترسی دیگران به اطلاعات شما به واسطه دانستن نقطه پایانی جلوگیری می کند. اگر از این آموزش برای هر چیزی به جز استقرار تستی استفاده می کنید ، باید managementApiSecret را به چیزی ایمن تر تغییر دهید. وقتی این کار را کردید ، حتماً آن را به خاطر بسپارید که بعداً بتوانید در طی مراحل prisma init وارد آن شوید.
این فایل همچنین تصویر MySQL Docker را به در داخل خود قرار میدهد و اعتبارات آن را نیز تعیین می کند. برای اهداف این آموزش ، این فایل Docker Compose یک تصویر MySQL را می چرخاند ، اما می توانید از PostgreSQL با Prisma نیز استفاده کنید. هر دو تصویر Docker در Docker hub موجود است:
⦁ MySQL
⦁ PostgreSQL.
فایل را ذخیره کنید و از آن خارج شوید.
اکنون که تمام جزئیات را ذخیره کرده اید ، می توانید کانتینرهای Docker را شروع کنید. دستور -d به کانتینرها می گوید که در حالت جداگانه اجرا شوند ، به این معنی که در پس زمینه اجرا می شوند:
⦁ $ sudo docker-compose up -d

با این کار تصاویر Docker هم برای Prisma و هم برای mysql دریافت می شوند. با دستور زیر می توانید تأیید کنید که کانتینرهای Docker اجرا می شوند:
⦁ $ sudo docker ps

خروجی را مشاهده خواهید کرد که شبیه به این است:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
24f4dd6222b1 prismagraphql/prisma:1.12 /bin/sh -c /app/sta…” 15 seconds ago Up 1 second 0.0.0.0:4466->4466/tcp root_prisma_1
d8cc3a393a9f mysql:5.7 docker-entrypoint.s…” 15 seconds ago Up 13 seconds 3306/tcp root_mysql_1

با تنظیم 

سرور مجازی Prisma و پایگاه داده خود ، اکنون آماده کار به صورت محلی برای استقرار سرویس Prisma هستید.
مرحله 2 – نصب Prisma بصورت محلی

سرور مجازی Prisma محیط های زمان اجرا را برای خدمات Prisma شما فراهم می کند. اکنون که 

سرور مجازی Prisma خود را راه اندازی کرده اید ، می توانید سرویس Prisma را مستقر کنید. این مراحل را به صورت محلی و نه بر روی 

سرور مجازی خود اجرا خواهید کرد.
برای شروع ، یک پوشه جداگانه ایجاد کنید تا همه فایل های Prisma را شامل شود:
⦁ $ mkdir prisma

سپس به آن پوشه بروید:
⦁ $ cd prisma

اگر از MacOS استفاده می کنید ، می توانید Prisma را با Homebrew نصب کنید. برای این کار ، دستور زیر را برای اضافه کردن مخزن Prisma اجرا کنید:
⦁ $ brew tap prisma/prisma

سپس می توانید Prisma را با دستور زیر نصب کنید:
⦁ $ brew install prisma

یا با npm نصب کنید:
⦁ $ npm install -g prisma

با نصب Prisma به صورت محلی ، آماده هستید تا سرویس جدید Prisma را راه اندازی کنید.
مرحله 3 – ایجاد پیکربندی برای یک سرویس جدید Prisma
پس از نصب ، می توانید از prisma init برای ایجاد ساختار فایل برای یک API پایگاه داده جدید Prisma استفاده کنید ، که فایلهای لازم برای ساختن برنامه شما را با Prisma تولید می کند. نقطه پایانی شما به طور خودکار در فایل prisma.yml خواهد بود و datamodel.prisma از قبل یک مدل داده نمونه را در اختیار شما خواهد داشت که می توانید در مرحله بعد پرس و جو کنید. datamodel به عنوان پایه API Prisma شما عمل می کند و الگوی برنامه را مشخص می کند. در این مرحله ، شما فقط فایل ها و مدل داده نمونه را ایجاد می کنید. تا زمانی که بعداً در این مرحله prisma deploy را اجرا کنید، تغییراتی انجام نخواهید داد.
اکنون می توانید دستور زیر را بصورت محلی اجرا کنید تا ساختار فایل جدید ایجاد شود:
⦁ $ prisma init hello-world

پس از اجرای این دستور ، اعلان تعاملی را مشاهده خواهید کرد. وقتی از شما پرسیده شد ، Use other server را انتخاب کرده و ENTER را فشار دهید:
Output
Set up a new Prisma server or deploy to an existing server?

You can set up Prisma for local development (based on docker-compose)
Use existing database Connect to existing database
Create new database Set up a local database using Docker

Or deploy to an existing Prisma server:
Demo server Hosted demo environment incl. database (requires login)
❯ Use other server Manually provide endpoint of a running Prisma server

سپس نقطه پایانی 

سرور مجازی خود را که به عنوان 

سرور مجازی Prisma عمل می کند ارائه می دهید. چیزی مانند: http: // SERVER_IP_ADDRESS: 4466. به نظر می رسد. مهم است که نقطه پایانی با http (یا https) شروع شود و شماره پورت را نشان دهد.
Output
Enter the endpoint of your Prisma server http://SERVER_IP_ADDRESS:4466

برای سری نگه داشتن مدیریت API ، عبارت یا رمز عبوری را که قبلاً در فایل پیکربندی اعلام کرده اید وارد کنید:
Output
Enter the management API secret my-secret

برای گزینه های بعدی می توانید با فشار دادن ENTER برای نام سرویس و مرحله خدمات ، متغیرهای پیش فرض را انتخاب کنید:
Output
Choose a name for your service hello-world
Choose a name for your stage dev

همچنین برای کلاینت Prisma یک انتخاب روی یک زبان برنامه نویسی به شما داده می شود. در این حالت می توانید زبان دلخواه خود را انتخاب کنید. می توانید اطلاعات بیشتری در مورد کلاینت را در این لینک بخوانید.
Output
Select the programming language for the generated Prisma client (Use arrow keys)
❯ Prisma TypeScript Client
Prisma Flow Client
Prisma JavaScript Client
Prisma Go Client
Don’t generate

پس از تکمیل اعلان ، خروجی زیر را مشاهده می کنید که انتخاب های شما را تأیید می کند:
Output
Created 3 new files:

prisma.yml Prisma service definition
datamodel.prisma GraphQL SDL-based datamodel (foundation for database)
.env Env file including PRISMA_API_MANAGEMENT_SECRET

Next steps:

1. Open folder: cd hello-world
2. Deploy your Prisma service: prisma deploy
3. Read more about deploying services:
http://bit.ly/prisma-deploy-services

به دیرکتوری HELLO-WORLD بروید:
⦁ $ cd hello-world

این تغییرات در 

سرور مجازی خود را با prisma deploy همگام سازی کنید. این کار اطلاعات را از دستگاه محلی شما به 

سرور مجازی Prisma می فرستد و سرویس Prisma را روی 

سرور مجازی Prisma ایجاد می کند:
⦁ $ prisma deploy

توجه: اجرای مجدد prisma دوباره خدمات Prisma را به روز می کند.
خروجی شما چیزی شبیه به این خواهد بود:
Output
Creating stage dev for service hello-world ✔
Deploying service `hello-world` to stage ‘dev’ to server ‘default’ 468ms

Changes:

User (Type)
+ Created type `User`
+ Created field `id` of type `GraphQLID!`
+ Created field `name` of type `String!`
+ Created field `updatedAt` of type `DateTime!`
+ Created field `createdAt` of type `DateTime!`

Applying changes 716ms

Your Prisma GraphQL database endpoint is live:

HTTP: http://SERVER_IP_ADDRESS:4466/hello-world/dev
WS: ws://SERVER_IP_ADDRESS:4466/hello-world/dev

خروجی نشان می دهد که Prisma پایگاه داده شما را مطابق با datamodel (که در مرحله prisma init ایجاد شده ) با یک کاربر TYPE به روز کرده است. Type ها قسمت اصلی یک پایگاه داده هستند. آنها یک آیتم از برنامه شما را نشان می دهند ، و هر نوع شامل چندین فیلد است. برای Datamodel فیلدهای مرتبط که کاربر را توصیف می کنند عبارتند از: شناسه کاربر ، نام ، زمان ایجاد و زمان بروزرسانی آنها.
اگر در این مرحله به مشکلاتی برخورد کردید و خروجی دیگری را دریافت کردید ، دوبار بررسی کنید که در اعلان تعاملی به درستی همه فیلدها را وارد نموده اید. می توانید با مرور مطالب فایل prisma.yml این کار را انجام دهید.
با اجرای سرویس Prisma ، می توانید به دو نقطه پایانی مختلف وصل شوید:
⦁ رابط مدیریت ، موجود در http://SERVER_IP_ADDRESS:4466/management ، که در آن می توانید خدمات Prisma را مدیریت و استقرار دهید.
⦁ APP GraphQL برای سرویس Prisma شما ، که در آدرس http://SERVER_IP_ADDRESS:4466/hello-world/dev موجود است.
شما با موفقیت 

سرور مجازی Prisma خود را راه‌اندازی و مستقر کردید. اکنون می توانید پرس و جوها و جهش ها را در GraphQL جستجو کنید.
مرحله 4 – اجرای یک پرس و جوی مثال
برای جستجوی یکی دیگر از موارد استفاده Prisma ، می توانید با ابزار playground GraphQL که یک محیط توسعه یکپارچه GraphQL منبع باز (IDE) روی 

سرور مجازی شما است ، این کار را آزمایش کنید. برای دستیابی به آن ، از نقطه پایانی مرورگر خود در از مرحله قبلی بازدید کنید:
http://SERVER_IP_ADDRESS:4466/hello-world/dev
جهش (mutation ) یک اصطلاح GraphQL است که روشی برای اصلاح – ایجاد ، به روزرسانی یا حذف (CRUD) – داده های موجود در پس زمینه از طریق GraphQL را توصیف می کند. برای ایجاد یک کاربر جدید و کشف قابلیت ها می توانید جهشی ارسال کنید. برای این کار ، جهش زیر را در سمت چپ صفحه اجرا کنید:
mutation {
createUser(data: { name: Alice” }) {
id
name
}
}

پس از فشردن دکمه play ، نتایج را در سمت راست صفحه مشاهده خواهید کرد.

پس از آن ، اگر می خواهید با استفاده از ستون ID در دیتابیس به جستجوی کاربر بپردازید ، می توانید پرس و جو زیر را اجرا کنید:
query {
user(where: { id: cjkar2d62000k0847xuh4g70o” }) {
id
name
}
}

اکنون یک 

سرور مجازی Prisma و سرویسی فعال و در حال اجرا در 

سرور مجازی خود دارید و پرس و جوهای تستی را در IDE GraphQL اجرا کرده اید.
نتیجه
شما یک ستاپ Prisma در 

سرور مجازی خود دارید. می توانید موارد استفاده بیشتر از Prisma و مراحل بعدی را در راهنمای شروع به کار مشاهده کنید یا ویژگی های Prisma را که در Doc Prisma قرار داده شده است ، جستجو کنید. پس از اتمام مراحل کلی در این آموزش ، گزینه های مختلفی برای تأیید اتصال خود به دیتابیس دارید ، یکی از احتمالات استفاده از کلاینت Prisma میباشد.

 

 

 

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

پارامترهای پیش فرض در جاوا اسکریپت  –  

اجرای چندین نسخه PHP بر روی یک سرور Debian 10

نحوه راه اندازی یک پروژه React با برنامه React – 

نصب و ایمن سازی phpMyAdmin در اوبونتو 18

پیکربندی یک تایید اعتبار مجاز(CA) در CentOS 8  –  

تنظیم برنامه Node.js برای تولید در CentOS 7

نصب MariaDB در اوبونتو 18.04  – 

 ایمن کردن Apache با Let’s Encrypt در Debian 10

نحوه نصب Node.js در CentOS 8  –  

بازنویسی URL را با mod_rewrite برای Apache در Debian 10

راه اندازی فایروال با استفاده از firewalld در CentOS 8  –  

نصب وب سرور Apache در Debian 10

اضافه کردن و حذف کاربران در CentOS 8 –  

نصب Apache Tomcat 9 در Debian 10

نصب و استفاده از PostgreSQL در CentOS 8  –  

راه اندازی سرور اولیه با Debian 10

نصب MariaDB در CentOS 8  –  

چگونه با JSX عناصر واقعی ایجاد کنیم

نصب و پیکربندی VNC در Debian 10  –  

استفاده از سرور از راه دور Docker

نصب و ایمن سازی Grafana در اوبونتو 18  –  

نحوه نصب Git در CentOS 8

نصب Git در Debian 10 –  

نصب و پیکربندی Zabbix برای ردیابی ایمن سرورهای

نحوه نصب Node.js در Debian 10  –  

نصب وب سرور Apache در CentOS 7

نحوه نصب Webmin در Debian 10  –  

نصب و پیکربندی Zabbix برای ردیابی ایمن سرور

نصب وردپرس با بانک اطلاعاتی در اوبونتو  – 

ساخت و استقرار سرور GraphQL با Node.js و MongoDB

نصب پایتون 3 و تنظیم نویسی محلی macOS  – 

نصب و ایمن سازی phpMyAdmin با Nginx در سرور

نصب Nagios 4 و نظارت بر سرور اوبونتو 18  –  

نصب Python 3 و تنظیم یک محیط برنامه نویسی

نحوه نصب R بر روی Debian 10  –  

راه اندازی سرور Prisma روی اوبونتو 18.04

نصب و پیکربندی Laravel با LEMP در اوبونتو 18  –  

نصب و پیکربندی pgAdmin 4 در Server Mode

نصب Python 3 و تنظیم برنامه نویسی CentOS 8 – 

نصب Jitsi Meet در Ubuntu 18.04

 

 

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

خرید vps – 

خرید سرور مجازی – 

خرید سرور – 

سرور هلند – 

فروش vps – 

سرور مجازی آمریکا – 

خریدvps – 

سرور مجازی هلند – 

فروش سرور مجازی – 

سرور آمریکا – 

vps – 

سرور مجازی انگلیس – 

سرور مجازی آلمان – 

سرور مجازی کانادا – 

خرید vps آمریکا – 

خرید وی پی اس – 

سرور – 

خرید سرور مجازی هلند – 

vps خرید – 

سرور مجازی فرانسه – 

سرور مجازی هلند – 

خرید vps آمریکا – 

خرید سرور مجازی ارزان هلند – 

vps – 

خرید vps هلند – 

خرید سرور مجازی آمریکا – 

خرید vps فرانسه – 

تست vps – 

سرور مجازی تست – 

سرور مجازی ویندوز – 

ارزانترین vps – 

خرید وی پی اس – 

vps ارزان – 

 

برچسب‌ها:


یک پلتفرم توسعه و اجرای منبع باز برای PostgreSQL و سیستم های مدیریت پایگاه داده مرتبط با آن است. از آنجا که در Python و jQuery نوشته شده، تمام ویژگی های موجود در PostgreSQL را پشتیبانی می کند. می توانید از pgAdmin برای انجام همه کارها از نوشتن پرس و جوهای SQL پایه گرفته تا نظارت بر پایگاه های داده خود و پیکربندی معماری های پیشرفته پایگاه داده استفاده کنید.
در این آموزش ، مراحل نصب و پیکربندی آخرین نسخه pgAdmin را روی یک 

سرور مجازی Ubuntu 18.04 ، دسترسی به pgAdmin از طریق یک مرورگر وب ، و اتصال آن به یک پایگاه داده PostgreSQL در 

سرور مجازی شما را بررسی خواهیم کرد.
پیش نیازها
برای تکمیل این آموزش ، به موارد زیر نیاز دارید:
• 

سرور مجازی ی که اوبونتو 18.04 را اجرا می کند. این 

سرور مجازی باید دارای یک کاربر غیر ریشه با امتیازات sudo و همچنین فایروال تنظیم شده با ufw داشته باشد. برای راهنمایی در مورد این تنظیمات ، راهنمای اولیه راه اندازی 

سرور مجازی ما برای اوبونتو 18.04 را دنبال کنید.
• 

سرور مجازی وب Apache که بر روی 

سرور مجازی شما نصب شده باشد. برای پیکربندی این روی ماشین خود، راهنمای ما در مورد نحوه نصب وب 

سرور مجازی Apache در Ubuntu 18.04 را دنبال کنید.
• PostgreSQL که بر روی 

سرور مجازی شما نصب شده باشد. با دنبال کردن راهنمای ما در مورد نحوه نصب و استفاده از PostgreSQL در اوبونتو 18.04 می توانید این تنظیمات را انجام دهید. همانطور که این راهنما را دنبال می کنید ، حتماً یک نقش جدید و بانک اطلاعاتی ایجاد کنید ، زیرا برای اتصال pgAdmin به نمونه PostgreSQL خود به هر دو نیاز خواهید داشت.
• Python 3 و venv که بر روی 

سرور مجازی شما نصب شده باشد. برای نصب این ابزارها و تنظیم یک محیط مجازی ، نحوه نصب Python 3 و تنظیم یک محیط برنامه نویسی روی یک 

سرور مجازی Ubuntu 18.04 را دنبال کنید.
مرحله 1 – نصب pgAdmin و متعلقات آن
د زمان نوشتن این مقاله ، جدیدترین نسخه pgAdmin ،pgAdmin 4 است ، در حالی که جدیدترین نسخه موجود در مخازن رسمی اوبونتو pgAdmin3 است. ما مراحل نصب آخرین نسخه pgAdmin 4 را در یک محیط مجازی (همانطور که توسط تیم توسعه پروژه توصیه می شود) انجام خواهیم داد و متعلقات آن را با استفاده از apt نصب می کنیم.
برای شروع ، اگر اخیراً این کار را نکرده اید ، فهرست بسته 

سرور مجازی خود را به روز کنید:
⦁ $ sudo apt update

در مرحله بعد ، متعلقات زیر را نصب کنید. اینها شامل libgmp3-dev ، یک کتابخانه محاسباتی دقیق، libpq-dev شامل فایل های هدر و یک کتابخانه ثابت هستند که به ارتباط با پس زمینه PostgreSQL کمک می کند. و libapache2-mod-wsgi-py3 ، یک ماژول Apache که به شما امکان می دهد میزبان برنامه های وب مستقر در پایتون در Apache باشید:
پس از این ، چند دایرکتوری ایجاد کنید که pgAdmin داده های بخش های خود ، داده های ذخیره و ورود ها را ذخیره کند:
⦁ $ sudo mkdir -p /var/lib/pgadmin4/sessions

⦁ $ sudo mkdir /var/lib/pgadmin4/storage

⦁ $ sudo mkdir /var/log/pgadmin4

سپس ، مالکیت این دایرکتوری ها را به کاربر و گروه غیر ریشه خود تغییر دهید. این امر از این منظر ضروری است که آنها در حال حاضر متعلق به کاربر ریشه شما هستند ، اما ما pgAdmin را از یک محیط مجازی متعلق به کاربر غیر ریشه شما نصب خواهیم کرد و مراحل نصب شامل ایجاد برخی فایل ها در این دیرکتوری ها است. با این وجود ، پس از نصب ، ما مالکیت را به کاربر و گروه www-data تغییر می دهیم تا بتواند به وب ارائه شود:
⦁ $ sudo chown -R sammy:sammy /var/lib/pgadmin4

⦁ $ sudo chown -R sammy:sammy /var/log/pgadmin4

سپس ، محیط مجازی خود را باز کنید. به دیرکتوری بروید که محیط برنامه نویسی شما در آن قرار دارد و آن را فعال کنید. پس از کنوانسیون های نامگذاری آموزش پیش نیاز پایتون 3 ، به دیرکتوری environments رفته و محیط my_env را فعال می کنیم:
⦁ $ cd environments/

⦁ $ source my_env/bin/activate

پس از این ، کد منبع pgAdmin 4 را روی دستگاه خود دانلود کنید. برای یافتن آخرین نسخه از کد منبع ، به صفحه دانلود pgAdmin 4 (Python Wheel) بروید و روی آخرین نسخه (v3.4 ، مطابق با این نوشتار) کلیک کنید. این کار شما را به یک صفحه دانلود در وب سایت PostgreSQL می برد. پس از آن ، پیوند فایلی را که به .whl ختم می شود ، کپی کنید – قالب استاندارد بسته ساخته شده است که برای توزیع های پایتون میشود. سپس به ترمینال خود برگردید و دستور wget زیر را اجرا کنید ، تا مطمئن شوید که پیوند را با پیوندی که از سایت PostgreSQL کپی کردید ، جایگزین کرده اید تا فایل. WHL را روی 

سرور مجازی شما دانلود کند:
⦁ (my_env) Sammy@server:~$ wget https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v3.4/pip/pgadmin4-3.4-py2.py3-none-any.whl

سپس بسته wheel ، اجرای مرجع استاندارد بسته بندی wheel را نصب کنید. این پکیج ، یک کتابخانه Python را به عنوان افزونه ای برای wheel های ساخته شده ارائه میدهد و شامل یک ابزار خط فرمان برای کار با فایل های .whl است:
⦁ (my_env) Sammy@server:~$ python -m pip install wheel

سپس بسته pgAdmin 4 را با دستور زیر نصب کنید:
⦁ (my_env) Sammy@server:~$ python -m pip install pgadmin4-3.4-py2.py3-none-any.whl

این از نصب pgAdmin و متعلقات آن مراقبت میکند. با این وجود قبل از اتصال آن به پایگاه داده خود ، چند تغییر وجود دارد که باید در پیکربندی برنامه انجام دهید.
مرحله 2 – پیکربندی pgAdmin 4
اگرچه pgAdmin روی 

سرور مجازی شما نصب شده است ، اما هنوز چند مرحله برای اطمینان از داشتن مجوزها و تنظیمات لازم جهت استفاده صحیح از رابط وب ، وجود دارد.
فایل پیکربندی اصلی pgAdmin ، config.py ، قبل از هر فایل پیکربندی دیگر خوانده می شود. از محتویات آن می توان به عنوان یک مرجع برای تنظیمات پیکربندی بیشتر استفاده کرد که می تواند در سایر فایل های پیکربندی pgAdmin مشخص شود ، اما برای جلوگیری از خطاهای پیش بینی نشده ، نباید خود فایل config.py را ویرایش کنید. ما چند تغییر به فایل جدید به نام config_local.py اضافه خواهیم کرد که پس از فایل اصلی خوانده می شود.
اکنون این فایل را با استفاده از ویرایشگر متن مورد نظر خود ایجاد کنید. در اینجا ، ما از nano استفاده خواهیم کرد:
⦁ (my_env) Sammy@server:~$ nano my_env/lib/python3.6/site-packages/pgadmin4/config_local.py

در ویرایشگر خود ، محتوای زیر را اضافه کنید:
environments/my_env/lib/python3.6/site-packages/pgadmin4/config_local.py
LOG_FILE = ‘/var/log/pgadmin4/pgadmin4.log’
SQLITE_PATH = ‘/var/lib/pgadmin4/pgadmin4.db’
SESSION_DB_PATH = ‘/var/lib/pgadmin4/sessions’
STORAGE_DIR = ‘/var/lib/pgadmin4/storage’
SERVER_MODE = True

در اینجا کاری که این پنج دستورالعمل انجام میدهند آمده است:
⦁ LOG_FILE: فایلی را که در آن ورودهای pgAdmin ذخیره می شود ، تعریف می کند.
⦁ SQLITE_PATH: pgAdmin داده های مربوط به کاربر را در یک پایگاه داده SQLite ذخیره می کند ، و این دستورالعمل نرم افزار pgAdmin را به این پایگاه داده ارجاع میدهد. از آنجا که این فایل در دیرکتوری / var / lib / pgadmin4 / قرار دارد ، پس از به روزرسانی اطلاعات کاربر شما از بین نمی رود.
⦁ SESSION_DB_PATH: مشخص می کند که کدام دایرکتوری برای ذخیره داده های بخش استفاده خواهد شد.
⦁ STORAGE_DIR: مشخص می کند که pgAdmin داده های دیگر مانند پشتیبان گیری و مجوزهای امنیتی را ذخیره می کند.
⦁ SERVER_MODE: تنظیم این دستورالعمل روی True به pgAdmin می گوید که در حالت 

سرور مجازی اجرا شود ، بر خلاف حالت دسکتاپ.
توجه کنید که هر یک از این مسیرهای فایل به دایرکتوری هایی که در مرحله 1 ایجاد کرده اید ، اشاره می کنند.
پس از افزودن این خطوط ، فایل را ذخیره کرده و ببندید (CTRL + X را فشار داده و سپس Y و ENTER را فشار دهید). با استفاده از این تنظیمات ، اسکریپت تنظیم pgAdmin را اجرا کنید تا اعتبار ورود به سیستم را تنظیم کنید:
⦁ (my_env) Sammy@server:~$ python my_env/lib/python3.6/site-packages/pgadmin4/setup.py

پس از اجرای این دستور ، اعلانی را مشاهده می کنید که آدرس ایمیل و رمز عبور شما را درخواست می کند. وقتی بعدا به pgAdmin دسترسی پیدا کنید ، این مقادیر به عنوان اعتبارات ورود به سیستم شما استفاده می شوند ، بنابراین حتماً آنچه را که در اینجا وارد می کنید به خاطر داشته باشید یا یادداشت کنید:
Output
. . .
Enter the email address and password to use for the initial pgAdmin user account:

Email address: sammy@example.com
Password:
Retype password:

سپس ، محیط مجازی خود را غیرفعال کنید:
⦁ (my_env) Sammy@server:~$ deactivate

مسیرهای فایلی را که در فایل config_local.py مشخص کرده اید به یاد بیاورید. این فایل ها درون دایرکتوری هایی که در مرحله 1 ایجاد کردید نگهداری می شوند ، که در حال حاضر متعلق به کاربر غیر ریشه شما هستند. با این حال ، باید توسط کاربر و گروهی که 

سرور مجازی وب شما را اجرا می کند ، در دسترس باشند. به طور پیش فرض در اوبونتو 18.04 ، این ها کاربر و گروه www-data هستند ، بنابراین مجوزهای موجود در دیرکتوری های زیر را به روز کنید تا مالکیت www-data را به هر دوی آنها بدهید:
⦁ $ sudo chown -R www-data:www-data /var/lib/pgadmin4/

⦁ $ sudo chown -R www-data:www-data /var/log/pgadmin4/

با این کار ، pgAdmin کاملاً پیکربندی شده است. با این حال ، این برنامه هنوز از 

سرور مجازی شما ارائه نمی شود ، بنابراین قابل دسترسی نیست. برای حل این مشکل ، ما Apache را برای ارائه pgAdmin پیکربندی می کنیم تا بتوانید از طریق یک مرورگر وب به رابط کاربری آن دسترسی پیدا کنید.
مرحله 3 – پیکربندی Apache

سرور مجازی وب Apache از هاست های مجازی برای کپسوله کردن جزئیات پیکربندی و میزبانی بیش از یک دامنه از یک 

سرور مجازی واحد استفاده می کند. اگر آموزش پیش نیاز Apache را دنبال کردید ، ممکن است یک فایل هاست مجازی نمونه را با نام your_domain.conf تنظیم کرده باشید ، اما در این مرحله ما یک مورد جدید ایجاد خواهیم کرد که از طریق آن می توانیم رابط وب pgAdmin را ارائه دهیم.
برای شروع ، مطمئن شوید که در دیرکتوری ریشه خود قرار دارید:
⦁ $ cd /

سپس یک فایل جدید در دیرکتوری /sites-available/ با نام pgadmin4.conf ایجاد کنید. این فایل هاست مجازی 

سرور مجازی شما خواهد بود:
⦁ $ sudo nano /etc/apache2/sites-available/pgadmin4.conf

محتوای زیر را به این فایل اضافه کنید ، حتما بخش های هایلایت شده را به روز کنید تا با پیکربندی خودتان هماهنگ شوید:
/etc/apache2/sites-available/pgadmin4.conf
<VirtualHost *>
ServerName your_server_ip

WSGIDaemonProcess pgadmin processes=1 threads=25 python-home=/home/sammy/environments/my_env
WSGIScriptAlias / /home/sammy/environments/my_env/lib/python3.6/site-packages/pgadmin4/pgAdmin4.wsgi

<Directory /home/sammy/environments/my_env/lib/python3.6/site-packages/pgadmin4/”>
WSGIProcessGroup pgadmin
WSGIApplicationGroup %{GLOBAL}
Require all granted
</Directory>
</VirtualHost>

فایل هاست مجازی را ذخیره کنید و ببندید. سپس ، از اسکریپت a2dissite استفاده کنید تا فایل هاست مجازی پیش فرض ، 000-default.conf را غیرفعال کنید:
⦁ $ sudo a2dissite 000-default.conf

توجه: اگر از آموزش پیش نیاز Apache استفاده کرده اید ، ممکن است قبلاً 000-default.conf را غیرفعال کرده و یک فایل پیکربندی هاست مجازی نمونه (به نام your_domain.conf را در پیش نیاز) تنظیم کرده باشید. در این صورت ، باید فایل میزبان مجازی your_domain.conf را با دستور زیر غیرفعال کنید:
⦁ $ sudo a2dissite your_domain.conf

سپس از اسکریپت a2ensite استفاده کنید تا فایل هاست مجازی pgadmin4.conf خود را فعال کنید. با این کار یک لینک نمادین از فایل هاست مجازی در دیرکتوری /sites-available/ به دیرکتوری /sites-enabled/ ایجاد می شود:
⦁ $ sudo a2ensite pgadmin4.conf

پس از این ، بررسی کنید که دستور فایل پیکربندی شما صحیح باشد:
⦁ $ apachectl configtest

اگر فایل پیکربندی شما به صورت کامل درست باشد ، Syntax OK را خواهید دید. اگر خطایی در خروجی مشاهده کردید ، فایل pgadmin4.conf را مجدداً باز کنید و دوبار بررسی کنید که آدرس IP و مسیر فایل شما صحیح باشند ، سپس به configtest بازگردید.
وقتی Syntax OK را در خروجی خود مشاهده کردید ، سرویس Apache را مجدداً راه اندازی کنید تا فایل هاست مجازی جدید شما را بخواند:
⦁ $ sudo systemctl restart apache2

pgAdmin اکنون کاملاً نصب و پیکربندی شده است. در مرحله بعد ، نحوه دسترسی به pgAdmin را از یک مرورگر پیش از اتصال به پایگاه داده PostgreSQL خود مرور خواهیم کرد.
مرحله 4 – دسترسی به pgAdmin
در دستگاه محلی خود ، مرورگر وب مورد نظر خود را باز کرده و به آدرس IP 

سرور مجازی خود بروید:
http://your_server_ip

پس از آن، صفحه ورود به سیستم شبیه زیر به شما نشان داده خواهد شد:

اطلاعات ورود به سیستم را که در مرحله 2 تعریف کردید وارد کنید و به صفحه خوش آمد گویی pgAdmin منتقل می شوید:

اکنون که تأیید کردید که می توانید به رابط pgAdmin دسترسی پیدا کنید ، تنها کاری که باید انجام دهید اتصال pgAdmin به پایگاه داده PostgreSQL است. قبل از انجام این کار ، باید یک تغییر جزئی در پیکربندی فوق کاربر PostgreSQL ایجاد کنید.
مرحله 5 – پیکربندی کاربر PostgreSQL
اگر آموزش پیش نیاز PostgreSQL را دنبال کرده باشید ، باید PostgreSQL را با نقش جدید ابرکاربر و پایگاه داده تنظیم شده بر روی 

سرور مجازی خود نصب داشته باشید.
به طور پیش فرض در PostgreSQL ، شما به عنوان کاربران پایگاه داده با استفاده از روش تأیید هویت پروتکل شناسایی” یا شناسایی” تأیید اعتبار می شوید. این روند به این گونه است که PostgreSQL نام کاربری اوبونتو کلاینت را میگیرد و از آن به عنوان نام کاربری مجاز پایگاه داده استفاده می کند. این کار می تواند در بیشتر موارد امنیت بیشتری را ایجاد کند ، اما همچنین می تواند در مواردی که مایل به اتصال یک برنامه خارجی مانند pgAdmin به یکی از بانکهای اطلاعاتی خود هستید، باعث ایجاد مشکل شود. برای حل این مشکل ، ما یک رمز عبور برای این نقش PostgreSQL تعیین می کنیم که به pgAdmin امکان اتصال به پایگاه داده شما را می دهد.
از ترمینال خود ، اعلان PostgreSQL را تحت نقش ابرکاربر خود باز کنید:
⦁ $ sudo -u sammy psql

از اعلان PostgreSQL ، نمایه کاربر را به روز کنید تا یک رمز عبور قوی به انتخاب شما داشته باشد:
⦁ Sammy=# ALTER USER sammy PASSWORD ‘password’
سپس از اعلان PostgreSQL خارج شوید:
⦁ Sammy=# \q

در مرحله بعد ، به رابط pgAdmin 4 در مرورگر خود برگردید و منوی مرورگر را در سمت چپ پیدا کنید. برای باز کردن یک منوی زمینه ، روی 

سرور مجازیها کلیک راست کنید ، موس خود را روی ایجاد حرکت داده و روی 

سرور مجازی … کلیک کنید.

این کار باعث می شود پنجره ای در مرورگر شما ظاهر شود که در آن می توانید اطلاعات مربوط به 

سرور مجازی ، نقش و پایگاه داده خود را وارد کنید.
در تب General نام این 

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

سرور مجازی Sammy-server-1 نامگذاری شده است.

سپس ، بر روی تب Connection کلیک کنید. در فیلد Host name/address ، localhost را وارد کنید. پورت باید به طور پیش فرض روی 5432 تنظیم شود ، که برای این ستاپ کار خواهد کرد ، زیرا پورت پیش فرض استفاده شده توسط PostgreSQL میباشد.
در قسمت Maintenance Database ، نام بانک اطلاعاتی را که می خواهید به آن متصل شوید ، وارد کنید. توجه داشته باشید که این بانک اطلاعاتی از قبل باید روی 

سرور مجازی شما ایجاد شود. سپس به ترتیب نام کاربری و رمز عبوری را که قبلاً پیکربندی کرده اید در قسمت های Username و Password وارد کنید.

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

سرور مجازی ها در فهرست مرورگر ظاهر می شود.
شما با موفقیت pgAdmin4 را به پایگاه داده PostgreSQL خود وصل کردید. می توانید تقریباً هر کاری را که از اعلان PostgreSQL مدیریت میکردید، از داشبورد pgAdmin انجام دهید. برای نشان دادن این امر، یک جدول مثال ایجاد می کنیم و آن را با برخی از داده های نمونه از طریق رابط وب پر می کنیم.
مرحله 6 – ایجاد جدول در داشبورد pgAdmin
از داشبورد pgAdmin ، منوی مرورگر را در سمت چپ پنجره پیدا کنید. بر روی علامت مثبت (+) در کنار 

سرور مجازی (1) کلیک کنید تا منوی درختی درون آن باز شود. سپس ، روی علامت مثبت در سمت چپ 

سرور مجازی ی که در مرحله قبل اضافه کرده اید کلیک کنید (در مثال ما Sammy-server-1بود) ، سپس Databases ، نام دیتابیسی که اضافه کرده اید (sammy ، در مثال ما) ، و سپس طرحواره (1) را باز کنید. باید یک منوی درختی مانند زیر را ببینید:

بر روی گزینه لیست جداول کلیک راست کنید، و سپس مکان نما روی create حرکت دهید و روی Table … کلیک کنید.

با این کار یک پنجره ایجاد جدول باز می شود. در زیر تب General این پنجره ، یک نام برای جدول وارد کنید. این نام می تواند هر چیزی باشد ، اما برای ساده سازی ، ما آن را جدول شماره 01 می نامیم.

سپس به تب columns بروید و روی علامت + در گوشه سمت راست بالای پنجره کلیک کنید تا چند ستون اضافه شود. هنگام افزودن ستون ، لازم است که نام و نوع داده را به آن بدهید ، و در صورت نیاز به نوع داده ای که انتخاب کرده اید ، لازم است یک طول را انتخاب کنید.
علاوه بر این ، مطالب رسمی PostgreSQL بیان می کند که اضافه کردن کلید اصلی به جدول معمولاً بهترین روش است. کلید اصلی محدودیتی است که یک ستون یا مجموعه ستون خاص را نشان می دهد که می تواند به عنوان شناگر ویژه ردیف های جدول استفاده شود. این مسئله اامی نیست ، اما اگر می خواهید یک یا چند ستون خود را به عنوان کلید اصلی تنظیم کنید ، سوئیچ را در سمت راست از no به yes تغییر دهید.
برای ایجاد جدول بر روی دکمه ذخیره کلیک کنید.

تا این مرحله ، شما یک جدول ایجاد کرده و ستون هایی را به آن اضافه کرده اید. با این حال ، ستون ها هنوز داده ای را دراختیار ندارند. برای افزودن داده به جدول جدید خود ، بر روی نام جدول در منوی مرورگر راست کلیک کنید ، مکان نمای خود را روی اسکریپت ها بگیرید و بر روی INSERT Script کلیک کنید.

با این کار پانل جدیدی روی داشبورد باز می شود. در بالا عبارت INSERT نصفه تکمیل شده ، با نام های مناسب جدول و ستون را مشاهده خواهید کرد. پیش بروید و علامت سؤال (؟) را با برخی از داده های ساختگی جایگزین کنید ، مطمئن شوید که داده اضافه شده با انواع داده ای که برای هر ستون انتخاب کرده اید هماهنگ باشد. توجه داشته باشید که می توانید با افزودن هر ردیف در یک مجموعه جدید از پرانتزها ، چندین ردیف داده اضافه کنید ، که هر مجموعه پرانتز همانطور که در مثال زیر نشان داده شده است با یک کاما جدا میشوند.
در صورت تمایل ، اسکریپت INSERT را که به طور جزیی تکمیل شده است با این عبارت مثال INSERT جایگزین کنید:
INSERT INTO public.”table-01″(
col1, col2, col3)
VALUES (‘Juneau’, 14, 337), (‘Bismark’, 90, 2334), (‘Lansing’, 51, 556);

برای اجرای عبارت INSERT روی نماد رعد و برق (⚡) کلیک کنید. برای مشاهده جدول و تمام داده های موجود در آن ، یک بار دیگر بر روی نام جدول خود در فهرست مرورگر کلیک راست کنید ، مکان نما خود را روی View / edit data حرکت دهید و All Rows را انتخاب کنید.

پانل جدید دیگری را باز خواهد کرد که در زیر آن ، در سربرگ Data Output پانل پایین ، می توانید تمام داده های آن جدول را مشاهده کنید.

با این کار ، شما با موفقیت جدول ایجاد کرده اید و آن را با برخی از داده ها از طریق رابط وب pgAdmin پر کرده اید. البته این تنها روشی است که می توانید از آن برای ایجاد یک جدول از طریق pgAdmin استفاده کنید. به عنوان مثال ، می توانید به جای روش مبتنی بر GUI که در این مرحله شرح داده شده است ، جدول را با استفاده از SQL ایجاد و پر کنید.
نتیجه
در این راهنما یاد گرفتید که چگونه pgAdmin 4 را از یک محیط مجازی Python نصب کنید ، آن را پیکربندی کنید ، با Apache آن را به وب ارائه کنید و چگونه به یک پایگاه داده PostgreSQL در وب سرویس متصل نمایید . علاوه بر این ، این راهنما فراتر از روشی است که می تواند برای ایجاد و جمع آوری جدول استفاده شود ، بلکه pgAdmin می تواند بسیار فراتر از ایجاد و ویرایش جداول استفاده شود.
برای کسب اطلاعات بیشتر در مورد چگونگی استفاده بیشتر از همه ویژگی های pgAdmin ، شما را به مطالعه مطالب پروژه تشویق می کنیم. همچنین می توانید اطلاعات بیشتری در مورد PostgreSQL از طریق آموزش های انجمن ما در مورد این موضوع کسب کنید.

 

 

 

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

پارامترهای پیش فرض در جاوا اسکریپت  –  

اجرای چندین نسخه PHP بر روی یک سرور Debian 10

نحوه راه اندازی یک پروژه React با برنامه React – 

نصب و ایمن سازی phpMyAdmin در اوبونتو 18

پیکربندی یک تایید اعتبار مجاز(CA) در CentOS 8  –  

تنظیم برنامه Node.js برای تولید در CentOS 7

نصب MariaDB در اوبونتو 18.04  – 

 ایمن کردن Apache با Let’s Encrypt در Debian 10

نحوه نصب Node.js در CentOS 8  –  

بازنویسی URL را با mod_rewrite برای Apache در Debian 10

راه اندازی فایروال با استفاده از firewalld در CentOS 8  –  

نصب وب سرور Apache در Debian 10

اضافه کردن و حذف کاربران در CentOS 8 –  

نصب Apache Tomcat 9 در Debian 10

نصب و استفاده از PostgreSQL در CentOS 8  –  

راه اندازی سرور اولیه با Debian 10

نصب MariaDB در CentOS 8  –  

چگونه با JSX عناصر واقعی ایجاد کنیم

نصب و پیکربندی VNC در Debian 10  –  

استفاده از سرور از راه دور Docker

نصب و ایمن سازی Grafana در اوبونتو 18  –  

نحوه نصب Git در CentOS 8

نصب Git در Debian 10 –  

نصب و پیکربندی Zabbix برای ردیابی ایمن سرورهای

نحوه نصب Node.js در Debian 10  –  

نصب وب سرور Apache در CentOS 7

نحوه نصب Webmin در Debian 10  –  

نصب و پیکربندی Zabbix برای ردیابی ایمن سرور

نصب وردپرس با بانک اطلاعاتی در اوبونتو  – 

ساخت و استقرار سرور GraphQL با Node.js و MongoDB

نصب پایتون 3 و تنظیم نویسی محلی macOS  – 

نصب و ایمن سازی phpMyAdmin با Nginx در سرور

نصب Nagios 4 و نظارت بر سرور اوبونتو 18  –  

نصب Python 3 و تنظیم یک محیط برنامه نویسی

نحوه نصب R بر روی Debian 10  –  

راه اندازی سرور Prisma روی اوبونتو 18.04

نصب و پیکربندی Laravel با LEMP در اوبونتو 18  –  

نصب و پیکربندی pgAdmin 4 در Server Mode

نصب Python 3 و تنظیم برنامه نویسی CentOS 8 – 

نصب Jitsi Meet در Ubuntu 18.04

 

 

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

خرید vps – 

خرید سرور مجازی – 

خرید سرور – 

سرور هلند – 

فروش vps – 

سرور مجازی آمریکا – 

خریدvps – 

سرور مجازی هلند – 

فروش سرور مجازی – 

سرور آمریکا – 

vps – 

سرور مجازی انگلیس – 

سرور مجازی آلمان – 

سرور مجازی کانادا – 

خرید vps آمریکا – 

خرید وی پی اس – 

سرور – 

خرید سرور مجازی هلند – 

vps خرید – 

سرور مجازی فرانسه – 

سرور مجازی هلند – 

خرید vps آمریکا – 

خرید سرور مجازی ارزان هلند – 

vps – 

خرید vps هلند – 

خرید سرور مجازی آمریکا – 

خرید vps فرانسه – 

تست vps – 

سرور مجازی تست – 

سرور مجازی ویندوز – 

ارزانترین vps – 

خرید وی پی اس – 

vps ارزان – 

 

برچسب‌ها:


یک برنامه کنفرانس ویدئویی منبع باز مبتنی بر WebRTC است. 

سرور مجازی Jitsi Meet اتاقهای کنفرانس ویدئویی چند نفره را در اختیار شما قرار می دهد که می توانید با استفاده از تنها یک مرورگر به آنها دسترسی داشته باشید و عملکرد قابل مقایسه ای را با یک گفتگوی کنفرانسی مثل zoom یا skype ارائه دهید. مزیت کنفرانس Jitsi این است که تمام داده های شما فقط از طریق 

سرور مجازی شما عبور می کند ، و رمزگذاری TLS به صورت end-to-end تضمین می کند که هیچ کس نمی تواند تماس را شنود کند. با وجود Jitsi می توانید مطمئن باشید که اطلاعات خصوصی شما به همان صورت باقی می مانند.
در این آموزش ، 

سرور مجازی Jitsi Meet را روی Ubuntu 18.04 نصب و پیکربندی خواهید کرد. پیکربندی پیش فرض به هر کسی امکان ایجاد یک اتاق کنفرانس جدید را می دهد. اما برای 

سرور مجازی ی که در اینترنت در دسترس عموم باشد ایده آل نیست بنابراین شما Jitsi Meet را نیز به گونه ای پیکربندی میکنید تا فقط کاربران ثبت نام شده بتوانند اتاق های کنفرانس جدید ایجاد کنند. بعد از ایجاد اتاق کنفرانس ، هر کاربر می تواند عضویت داشته باشد ، مادامی که آدرس منحصر به فرد و رمز اختیاری را داشته باشد.
پیش نیازها
قبل از شروع این راهنما به موارد زیر نیاز خواهید داشت:
• یک 

سرور مجازی Ubuntu 18.04 که با دنبال کردن راهنمای ستاپ اولیه 

سرور مجازی با اوبونتو 18.04 راه اندازی شده باشد، و شامل کاربر غیر ریشه فعال با sudo باشد. اندازه 

سرور مجازی مورد نیاز شما بیشتر به پهنای باند موجود و تعداد شرکت کننده ای که انتظار دارید از 

سرور مجازی استفاده کنند بستگی دارد. جدول زیر ایده های لازم را به شما ارائه می دهد.
• نام دامنه پیکربندی شده برای اشاره به 

سرور مجازی شما. می توانید با دنبال کردن آموزش نحوه چگونگی تنظیم نام هاست با آموزش 

vpsgol ، چگونگی اشاره دامنه به دراپلت های 

vpsgol را بیاموزید. در سراسر این راهنما ، از نام دامنه jitsi.your-domain استفاده می شود.
هنگامی که شما یک 

سرور مجازی را برای اجرای نمونه Jitsi Meet انتخاب می کنید ، باید منابع مورد نیاز سیستم برای میزبانی اتاق های کنفرانس را در نظر بگیرید. اطلاعات معیار زیر از یک ماشین مجازی تک هسته ای با استفاده از تنظیمات ویدیویی با کیفیت بالا جمع آوری شده است:

CPU پهنای باند 

سرور مجازی
2 شرکت کننده 3% 30Kbps Up, 100Kbps Down
3 شرکت کننده 15% 7Mbps Up, 6.5Mbps Down

پرش در استفاده از منابع بین دو تا سه شرکت کننده به این دلیل است که Jitsi داده های تماس را مستقیماً بین کلاینت ها در صورت وجود دو نفر، هدایت می کند. هنگامی که بیش از دو کلاینت وجود دارند ، داده های تماس از طریق 

سرور مجازی Jitsi Meet هدایت می شوند.
مرحله 1 – تنظیم نام هاست سیستم
در این مرحله ، نام هاست سیستم را تغییر میدهید تا با نام دامنه ای که قصد دارید برای مثال Jitsi Meet خود استفاده کنید مطابقت داشته باشد و آن نام هاست را به IP localhost ، 127.0.0.1 تغییر می دهید. Jitsi Meet هنگام نصب و تولید فایل های پیکربندی خود از هر دو تنظیمات استفاده می کند.
ابتدا نام هاست سیستم را روی نام دامنه ای که برای نمونه Jitsi خود استفاده خواهید کرد تنظیم کنید. دستور زیر نام هاست فعلی را تنظیم کرده و /etc/hostname را تغییر میدهد که نام هاست سیستم را در بین ریبوت ها نگه میدارد:
⦁ $ sudo hostnamectl set-hostname jitsi.your-domain

فرمانی که اجرا کردید به شرح زیر است:
• hostnamectl ابزاری است از مجموعه ابزارهای systemd برای مدیریت نام هاست سیستم استفاده میکند.
• set-hostname نام هاست سیستم را تنظیم می کند.
با اجرای موارد زیر بررسی کنید که این کار موفقیت آمیز بوده است:
⦁ $ hostname

با این کار نام هاست شما با دستور hostnamectl برمی گردد:
Output
jitsi.your-domain

در مرحله بعد ، نگاشت محلی از نام هاست 

سرور مجازی را بر روی حلقه بازگشت آدرس IP ، 127.0.0.1 تنظیم خواهید کرد. این کار را با باز کردن فایل / etc / hosts با ویرایشگر متن انجام دهید:
⦁ $ sudo nano /etc/hosts

سپس خط زیر را اضافه کنید:
/etc/hosts
127.0.0.1 jitsi.your-domain

نگاشت نام دامنه 

سرور مجازی Jitsi Meet روی 127.0.0.1 به 

سرور مجازی Jitsi Meet شما اجازه می دهد تا از چندین فرآیند شبکه ای استفاده کند که اتصالات محلی را از یکدیگر در آدرس IP 127.0.0.1 قبول می کنند. این اتصالات با گواهی TLS که در نام دامنه شما ثبت شده است ، تأیید و رمزگذاری می شوند. نگاشت محلی نام دامنه روی 127.0.0.1 امکان استفاده از گواهینامه TLS برای این اتصالات شبکه محلی را فراهم می آورد.
فایل خود را ذخیره کنید و از آن خارج شوید.
اکنون 

سرور مجازی شما دارای نام هاست است که Jitsi برای نصب به آن نیاز دارد. در مرحله بعد ، پورت های فایروال مورد نیاز Jitsi و نصب کننده گواهینامه TLS را باز خواهید کرد.
مرحله 2 – پیکربندی فایروال
هنگامی که راهنمای راه اندازی اولیه 

سرور مجازی با اوبونتو 18.04 را دنبال کردید ، فایروال UFW را فعال کرده و پورت SSH را باز نموده اید. 

سرور مجازی Jitsi به برخی از پورت های باز شده نیاز دارد تا بتواند با کلاینت ها تماس برقرار کند. همچنین ، فرایند نصب TLS نیاز به پورت باز دارد تا بتواند درخواست گواهی را تأیید کند.
پورت هایی که باز خواهید کرد به شرح زیر است:
⦁ 80 / tcp که در درخواست گواهینامه TLS مورد استفاده قرار میگیرد.
⦁ 443 / TCP برای صفحه وب ایجاد اتاق کنفرانس استفاده میشود.
⦁ 4443 / tcp ، 10000 / udp که برای انتقال و دریافت ترافیک تماس رمزگذاری شده استفاده می شود.
دستورات ufw زیر را برای باز کردن این پورت ها اجرا کنید:
⦁ $ sudo ufw allow 80/tcp

⦁ $ sudo ufw allow 443/tcp

⦁ $ sudo ufw allow 4443/tcp

⦁ $ sudo ufw allow 10000/udp

بررسی کنید که همه آنها با دستور ufw status اضافه شده اند:
⦁ $ sudo ufw status

در صورت باز بودن این پورت ها ، خروجی زیر را مشاهده خواهید کرد:
Output
Status: active

To Action From
— —— —-
OpenSSH ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
4443/tcp ALLOW Anywhere
10000/udp ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)
4443/tcp (v6) ALLOW Anywhere (v6)
10000/udp (v6) ALLOW Anywhere (v6)

اکنون 

سرور مجازی آماده نصب Jitsi است که در مرحله بعدی آن را کامل خواهید کرد.
مرحله 3 – نصب Jitsi Meet
در این مرحله مخزن پایدار Jitsi را به 

سرور مجازی خود اضافه می کنید و سپس بسته Jitsi Meet را ز آن مخزن نصب می کنید. با این کار اطمینان حاصل می شود که همیشه آخرین بسته پایدار Jitsi Meet را اجرا می کنید.
ابتدا کلید Jitsi GPG را با ابزار wget دانلود کنید:
⦁ $ wget https://download.jitsi.org/jitsi-key.gpg.key

مدیر بسته apt از این کلید GPG برای اعتبارسنجی بسته هایی که از مخزن Jitsi دانلود می کنید ، استفاده خواهد کرد.
در مرحله بعد ، کلید GPG را که با استفاده از ابزارهای key-apt دانلود کرده اید اضافه نمایید کلید:
⦁ $ sudo apt-key add jitsi-key.gpg.key

اکنون می توانید فایل کلید GPG را حذف کنید زیرا دیگر نیازی به آن نیست:
⦁ $ rm jitsi-key.gpg.key

اکنون با ایجاد یک فایل منبع جدید که حاوی مخزن Jitsi است ، مخزن Jitsi را به 

سرور مجازی خود اضافه می کنید. با ویرایشگر خود فایل جدید را باز و ایجاد کنید:
⦁ $ sudo nano /etc/apt/sources.list.d/jitsi-stable.list

این خط را به فایل مخزن Jitsi اضافه کنید:
/etc/apt/sources.list.d/jitsi-stable.list
deb https://download.jitsi.org stable/
ویرایشگر خود را ذخیره کرده و از آن خارج شوید.
سرانجام برای جمع آوری لیست بسته ها از مخزن Jitsi یک به روزرسانی سیستم انجام دهید و سپس بسته jitsi-meet را نصب کنید:
⦁ $ sudo apt update

⦁ $ sudo apt install jitsi-meet

در حین نصب jitsi-meet از شما خواسته می شود نام دامنه (مثلاً jitsi.your-domain) را که می خواهید برای نمونه Jitsi Meet خود استفاده کنید وارد کنید.

توجه: شما مکان نما را از قسمت نام هاست حرکت می دهید تا دکمه <OK> را با کلید TAB هایلایت کنید. هنگامی که <OK> هایلایت شد برای ارسال نام هاست ، ENTER را فشار دهید.

سپس کادر جعبه گفتگوی جدیدی به شما نشان داده می شود که آیا می خواهید Jitsi یک گواهی TLS امضا شده را استفاده کند یا از یک گواهی موجود که خودتان در اختیار دارید استفاده نماید:

اگر گواهی TLS برای دامنه Jitsi ندارید ، اولین مورد یعنی Generate a new self-signed certificate را انتخاب کنید.
نمونه Jitsi Meet شما اکنون با استفاده از گواهی TLS خود امضا شده نصب شده است. این باعث اخطار مرورگر می شود ، بنابراین در مرحله بعدی یک گواهی TLS امضا شده دریافت خواهید کرد.
مرحله 4 – اخذ گواهینامه TLS امضا شده
Jitsi Meet از گواهینامه های TLS برای رمزگذاری ترافیک تماس استفاده می کند تا هیچ کس نتواند هنگام استفاده از اینترنت به تماس شما گوش کند. گواهینامه های TLS همان گواهینامه هایی هستند که توسط وب سایت ها برای فعال کردن آدرس های HTTPS استفاده می شوند.
Jitsi Meet برنامه ای را برای دانلود خودکار گواهی TLS برای نام دامنه شما تهیه می نماند که از ابزار Certbot استفاده می کند. قبل از اجرای اسکریپت نصب گواهی ، باید این برنامه را نصب کنید.
ابتدا مخزن Certbot را به سیستم خود اضافه کنید تا از آخرین نسخه Certbot برخوردار شوید. دستور زیر را برای اضافه کردن مخزن جدید و به روزرسانی سیستم خود اجرا کنید:
⦁ $ sudo add-apt-repository ppa:certbot/certbot

سپس ، بسته ی certbot را نصب کنید:
⦁ $ sudo apt install certbot

اکنون 

سرور مجازی شما آماده اجرای برنامه نصب گواهینامه TLS تهیه شده توسط Jitsi Meet است:
⦁ $ sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

هنگامی که اسکریپت را اجرا می کنید ، اعلان زیر برای آدرس ایمیل نشان داده می شود:
Output
————————————————————————-
This script will:
– Need a working DNS record pointing to this machine(for domain jitsi.example.com)
– Download certbot-auto from https://dl.eff.org to /usr/local/sbin
– Install additional dependencies in order to request Let’s Encrypt certificate
– If running with jetty serving web content, will stop Jitsi Videobridge
– Configure and reload nginx or apache2, whichever is used
– Configure the coturn server to use Let’s Encrypt certificate and add required deploy hooks
– Add command in weekly cron job to renew certificates regularly

You need to agree to the ACME server’s Subscriber Agreement (https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf)
by providing an email address for important account notifications
Enter your email and press [ENTER]:

این آدرس ایمیل به صادرکننده گواهینامه https://letsencrypt.org ارسال می شود و برای اطلاع دادن به شما درباره امنیت و سایر موارد مرتبط با گواهینامه TLS استفاده می شود. برای ادامه کار باید یک آدرس ایمیل را وارد کنید. پس از آن نصب بدون هیچ گونه درخواست دیگری انجام می شود.
پس از اتمام ، نمونه Jitsi Meet شما پیکربندی می شود تا از یک گواهی TLS امضا شده برای نام دامنه خود استفاده کنید. تمدید گواهینامه به طور خودکار اتفاق می افتد زیرا نصب کننده، یک اسکریپت تجدید را در /etc/cron.weekly/letsencrypt-renew قرار داده است که هر هفته اجرا می شود.
نصب کننده TLS از پورت 80 برای تأیید کنترل نام دامنه خود استفاده کرده است. اکنون که گواهی نامه را به دست آورده اید ، دیگر نیازی به باز کردن پورت 80 ندارید زیرا از پورت 80 برای ترافیک منظم و غیر رمزگذاری شده HTTP استفاده می شود. Jitsi Meet فقط از طریق HTTPS در پورت 443 وب سایت خود را ارائه می دهد.
با دستور ufw زیر این پورت را در فایروال خود ببندید:
⦁ $ sudo ufw delete allow 80/tcp

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

سرور مجازی Jitsi Meet شما را مشاهده می کند می تواند یک اتاق کنفرانس جدید ایجاد کند. با این کار از منابع سیستم 

سرور مجازی شما برای اجرای اتاق کنفرانس استفاده می شود و به خاطر استفاده کاربران غیرمجاز مطلوب نیست. در مرحله بعد ، شما نمونه Jitsi Meet را به گونه ای پیکربندی می کنید که فقط کاربران عضو شده قادر به ایجاد اتاق کنفرانس باشند.
مرحله 5 – ایجاد قفل کنفرانس
در این مرحله ، شما 

سرور مجازی Jitsi Meet را پیکربندی می کنید تا فقط کاربران ثبت نام شده بتوانند اتاق کنفرانس ایجاد کنند. فایل هایی که ویرایش می کنید توسط نصب کننده ایجاد شده اند و با نام دامنه شما پیکربندی میشوند.
متغیر your_domain به جای نام دامنه در مثالهای زیر استفاده خواهد شد.
ابتدا ، sudo nano /etc/prosody/conf.avail/your_domain.cfg.lua را با یک ویرایشگر متن باز کنید:
⦁ $ sudo nano /etc/prosody/conf.avail/your_domain.cfg.lua

این خط را ویرایش کنید:
/etc/prosody/conf.avail/your_domain.cfg.lua

authentication = anonymous”

به صورت زیر:
/etc/prosody/conf.avail/your_domain.cfg.lua

authentication = internal_plain”

این پیکربندی به Jitsi Meet می گوید تا قبل از اجازه ایجاد اتاق کنفرانس توسط یک بازدید کننده جدید ، مجبور به تأیید اعتبار نام کاربری و رمز عبور شود.
سپس در همان فایل قسمت زیر را به انتهای فایل اضافه کنید:
/etc/prosody/conf.avail/your_domain.cfg.lua

VirtualHost guest.your_domain”
authentication = anonymous”
c2s_require_encryption = false

این پیکربندی به کاربران ناشناس اجازه می دهد تا به اتاق های کنفرانس که توسط یک کاربر معتبر ایجاد شده اند بپیوندند. با این حال ، میهمان باید یک آدرس منحصر به فرد و رمز عبور اختیاری برای ورود به اتاق داشته باشد.
در اینجا ، شما guest. را به جلوی نام دامنه خود اضافه کردید به عنوان مثال ، برای jitsi.your-domain، guest.jitsi.your-domain را قرار دهید. نام هاست guest. فقط به صورت داخل توسط Jitsi Meet استفاده می شود. شما هرگز آن را وارد مرورگر نخواهید کرد و یا نیازی به ایجاد رکورد DNS برای آن ندارید.
فایل پیکربندی دیگری را در /etc/jitsi/meet/your_domain-config.js با یک ویرایشگر متن باز کنید:
⦁ $ sudo nano /etc/jitsi/meet/your_domain-config.js

این خط را ویرایش کنید:
/etc/jitsi/meet/your_domain-config.js

// anonymousdomain: ‘guest.example.com’,

تا به این صورت درآید:
/etc/jitsi/meet/your_domain-config.js

anonymousdomain: ‘guest.your_domain’,

مجدداً ، با استفاده از نام هاست guest.your_domain که قبلاً از این پیکربندی استفاده کرده اید ، به Jitsi می گوید چه نام هاست داخلی را برای مهمانان تأیید نشده استفاده کند.
سپس ، /etc/jitsi/jicofo/sip-communicator.properties را باز کنید:
⦁ $ sudo nano /etc/jitsi/jicofo/sip-communicator.properties

و خط زیر را برای تکمیل تغییرات پیکربندی اضافه کنید:
/etc/jitsi/jicofo/sip-communicator.properties
org.jitsi.jicofo.auth.URL=XMPP:your_domain

این پیکربندی یکی از فرایندهای Jitsi Meet را به 

سرور مجازی محلی نشان می دهد که تأیید اعتبار کاربر را که اکنون لازم است انجام می دهد.
نمونه Jitsi Meet شما اکنون پیکربندی شده است و فقط کاربران ثبت نام شده می توانند اتاق کنفرانس ایجاد کنند. بعد از ایجاد یک اتاق کنفرانس ، هر کسی می تواند بدون نیاز به کاربر ثبت نام شده به آن بپیوندد. تنها آنچه نیاز دارند آدرس اتاق کنفرانس منحصر به فرد و رمزعبور اختیاری است که توسط فردی که اتاق را اجیجاد کرده تنظیم شده است.
اکنون که Jitsi Meet پیکربندی شده است و برای ایجاد اتاق نیاز به کاربران معتبر دارد ، باید این کاربران و رمزهای عبور خود را ثبت کنید. برای این کار از ابزار prosodyctl استفاده خواهید کرد.
دستور زیر را برای افزودن کاربر به 

سرور مجازی خود اجرا کنید:
⦁ $ sudo prosodyctl register user your_domain password

کاربری که شما در اینجا اضافه می کنید کاربر سیستم نیست. آنها فقط قادر به ایجاد یک اتاق کنفرانس هستند و از طریق SSH قادر به ورود به 

سرور مجازی شما نیستند.
در آخر ، مراحل Jitsi Meet را ریستارت کنید تا پیکربندی جدید لود شود:
⦁ $ sudo systemctl restart prosody.service

⦁ $ sudo systemctl restart jicofo.service

⦁ $ sudo systemctl restart jitsi-videobridge2.service

به طور مثال Jitsi Meet هنگام ایجاد یک اتاق کنفرانس ، نام کاربری و رمزعبور را با جعبه گفتگو درخواست می کند.

سرور مجازی Jitsi Meet شما اکنون تنظیم و ایمن شده است.
نتیجه
در این مقاله ، شما 

سرور مجازی Jitsi Meet را مستقر کرده اید که می توانید از آنها برای میزبانی اتاق های کنفرانس ویدیویی ایمن و خصوصی استفاده کنید. می توانید نمونه Jitsi Meet خود را با دستورالعمل Jitsi Meet Wiki گسترش دهید.

 

 

 

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

پارامترهای پیش فرض در جاوا اسکریپت  –  

اجرای چندین نسخه PHP بر روی یک سرور Debian 10

نحوه راه اندازی یک پروژه React با برنامه React – 

نصب و ایمن سازی phpMyAdmin در اوبونتو 18

پیکربندی یک تایید اعتبار مجاز(CA) در CentOS 8  –  

تنظیم برنامه Node.js برای تولید در CentOS 7

نصب MariaDB در اوبونتو 18.04  – 

 ایمن کردن Apache با Let’s Encrypt در Debian 10

نحوه نصب Node.js در CentOS 8  –  

بازنویسی URL را با mod_rewrite برای Apache در Debian 10

راه اندازی فایروال با استفاده از firewalld در CentOS 8  –  

نصب وب سرور Apache در Debian 10

اضافه کردن و حذف کاربران در CentOS 8 –  

نصب Apache Tomcat 9 در Debian 10

نصب و استفاده از PostgreSQL در CentOS 8  –  

راه اندازی سرور اولیه با Debian 10

نصب MariaDB در CentOS 8  –  

چگونه با JSX عناصر واقعی ایجاد کنیم

نصب و پیکربندی VNC در Debian 10  –  

استفاده از سرور از راه دور Docker

نصب و ایمن سازی Grafana در اوبونتو 18  –  

نحوه نصب Git در CentOS 8

نصب Git در Debian 10 –  

نصب و پیکربندی Zabbix برای ردیابی ایمن سرورهای

نحوه نصب Node.js در Debian 10  –  

نصب وب سرور Apache در CentOS 7

نحوه نصب Webmin در Debian 10  –  

نصب و پیکربندی Zabbix برای ردیابی ایمن سرور

نصب وردپرس با بانک اطلاعاتی در اوبونتو  – 

ساخت و استقرار سرور GraphQL با Node.js و MongoDB

نصب پایتون 3 و تنظیم نویسی محلی macOS  – 

نصب و ایمن سازی phpMyAdmin با Nginx در سرور

نصب Nagios 4 و نظارت بر سرور اوبونتو 18  –  

نصب Python 3 و تنظیم یک محیط برنامه نویسی

نحوه نصب R بر روی Debian 10  –  

راه اندازی سرور Prisma روی اوبونتو 18.04

نصب و پیکربندی Laravel با LEMP در اوبونتو 18  –  

نصب و پیکربندی pgAdmin 4 در Server Mode

نصب Python 3 و تنظیم برنامه نویسی CentOS 8 – 

نصب Jitsi Meet در Ubuntu 18.04

 

 

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

خرید vps – 

خرید سرور مجازی – 

خرید سرور – 

سرور هلند – 

فروش vps – 

سرور مجازی آمریکا – 

خریدvps – 

سرور مجازی هلند – 

فروش سرور مجازی – 

سرور آمریکا – 

vps – 

سرور مجازی انگلیس – 

سرور مجازی آلمان – 

سرور مجازی کانادا – 

خرید vps آمریکا – 

خرید وی پی اس – 

سرور – 

خرید سرور مجازی هلند – 

vps خرید – 

سرور مجازی فرانسه – 

سرور مجازی هلند – 

خرید vps آمریکا – 

خرید سرور مجازی ارزان هلند – 

vps – 

خرید vps هلند – 

خرید سرور مجازی آمریکا – 

خرید vps فرانسه – 

تست vps – 

سرور مجازی تست – 

سرور مجازی ویندوز – 

ارزانترین vps – 

خرید وی پی اس – 

vps ارزان – 

 

برچسب‌ها:


مدیریت پیکربندی به منظور ساده سازی فرایند کنترل تعداد زیادی 

سرور مجازی ، برای مدیران و تیم های عملیاتی طراحی شده اند. آنها به شما اجازه می دهند بسیاری از سیستم های مختلف را به صورت خودکار از یک مکان مرکزی کنترل کنید.
در حالی که بسیاری از ابزارهای مدیریت پیکربندی محبوب برای سیستمهای لینوکس مانند Chef و Puppet در دسترس هستند ، اینها معمولاً پیچیده تر از چیزی هستند که افراد می خواهند یا نیاز دارند. Ansible یک گزینه عالی برای این منظور است زیرا معماری ساده ای را ارائه می دهد که نیازی به نصب نرم افزار ویژه روی nodes ندارد ، از SSH برای انجام کارهای اتوماسیون و فایل های YAML برای تعریف جزئیات تهیه استفاده می کند.
در این راهنما ، به چگونگی نصب Ansible در 

سرور مجازی Ubuntu 18.04 میپردازیم و در مورد اصول استفاده از این نرم افزار به صورت جزیی میپردازیم.
Ansible چگونه کار می کند؟
Ansible با پیکربندی ماشینهای کلاینت کار میکند ، که به nodes managed شناخته میشوند ، از رایانه ای که اجزای Ansible را نصب و پیکربندی کرده است، که به آن گره ی کنترل Ansible گفته می شود.
برای بازیابی اطلاعات از سیستمهای از راه دور ، صدور دستورات و کپی کردن فایلها ، از طریق کانالهای عادی SSH ارتباط برقرار می کند. به همین دلیل ، یک سیستم Ansible نیازی به نصب هیچ نرم افزار اضافی بر روی رایانه های کلاینت ندارد.
این روشی است که Ansible مدیریت 

سرور مجازی ها را ساده تر می کند. هر 

سرور مجازی ی که درگاه SSH را در معرض دید دارد ، می تواند صرف نظر از اینکه در چه مرحله ای از چرخه زندگی خود قرار دارد ، تحت حوزه پیکربندی Ansible قرار گیرد. این بدان معناست که هر رایانه ای که بتوانید از طریق SSH مدیریت کنید ، می توانید از طریق Ansible نیز مدیریت کنید.
Ansible یک رویکرد مدولار را در پیش می گیرد و شما را قادر می سازد تا ویژگی های سیستم اصلی را برای مقابله با سناریوهای خاص گسترش دهید. ماژول ها را می توان به هر زبانی نوشت و با JSON استاندارد ارتباط برقرار کرد.
فایل های پیکربندی به دلیل ماهیت تاثیرگذار و شباهت آن با زبانهای نشانه گذاری محبوب ، عمدتاً در قالب سریال سازی داده های YAML نوشته شده اند. Ansible میتواند از طریق ابزارهای خط فرمان یا اسکریپت های پیکربندی آن ، که به Playbooks شناخته می شوند ، با هاست تعامل برقرار کند.
پیش نیازها
برای دنبال کردن این آموزش ، به موارد زیر نیاز دارید:
یک node کنترل Ansible: node کنترل Ansible ماشینی است که ما برای اتصال و کنترل هاست های Ansible روی SSH از آن استفاده خواهیم کرد. node کنترل Ansible شما یا می تواند دستگاه محلی شما باشد یا یک 

سرور مجازی اختصاص داده شده برای اجرای Ansible ، اگرچه این راهنما فرض می کند که node کنترل شما یک سیستم اوبونتو 18.04 است. اطمینان حاصل کنید که node کنترل دارای موارد زیر است:
o یک کاربر غیر ریشه با امتیازات sudo. برای تنظیم این گزینه ، می توانید مراحل 2 و 3 راهنمای اولیه راه اندازی 

سرور مجازی ما برای اوبونتو 18.04 را دنبال کنید. با این وجود ، لطفاً توجه داشته باشید که اگر از 

سرور مجازی راه دور به عنوان node کنترل Ansible خود استفاده می کنید ، باید هر مرحله از این راهنما را دنبال کنید. با این کار فایروال روی 

سرور مجازی با ufw پیکربندی شده و دسترسی خارجی به پروفایل کاربر غیر ریشه شما امکان پذیر خواهد شد ، که هر دو به حفظ امنیت 

سرور مجازی از راه دور کمک می کنند.
o صفحه کلید SSH مرتبط با این کاربر. برای انجام این کار ، می توانید مرحله 1 راهنمای ما درباره نحوه تنظیم کلیدهای SSH در اوبونتو 18.04 را دنبال کنید.
یک یا چند هاست Ansible: هاست Ansible هر دستگاهی است که node کنترل Ansible شما برای خودکار سازی آن تنظیم شده باشد. این راهنما فرض می کند که هاست های Ansible شما 

سرور مجازی های Ubuntu 18.04 از راه دور هستند. اطمینان حاصل کنید که هر هاست Ansible دارای موارد زیر است:
o کلید عمومی SSH node کنترل Ansible به authorized_keys کاربر سیستم اضافه شده باشد. این کاربر می تواند یا root یا یک کاربر معمولی با امتیازات sudo باشد. برای تنظیم این گزینه ، می توانید مرحله 2 نحوه تنظیم کلیدهای SSH را در اوبونتو 18.04 دنبال کنید.
مرحله 1 – نصب Ansible
برای شروع استفاده از Ansible به عنوان ابزاری برای مدیریت زیرساخت های 

سرور مجازی خود ، باید نرم افزار Ansible را روی دستگاه نصب کنید که به عنوان node کنترل Ansible عمل خواهد کرد.
از node کنترل خود ، دستور زیر را اجرا کنید تا PPA (بایگانی بسته شخصی) پروژه رسمی را در لیست منابع سیستم خود وارد کنید:
$ sudo apt-add-repository ppa:ansible/ansible

هنگامی که از شما خواسته شد افزودن PPA را بپذیرید ، ENTER را فشار دهید.
سپس ، فهرست بسته بندی سیستم خود را ریفرش کنید تا از بسته های موجود در PPA که اخیراً در آن قرار گرفته آگاهی پیدا کنید:
$ sudo apt update

پس از این بروزرسانی ، می توانید نرم افزار Ansible را با دستور زیر نصب کنید:
$ sudo apt install ansible

node کنترلی Ansible شما اکنون تمامی نرم افزارهای مورد نیاز برای مدیریت هاست شما را دارد. در مرحله بعد ، به نحوه اضافه کردن هاست ها به فایل موجودی node کنترل خواهیم پرداخت تا بتواند آنها را کنترل کند.
مرحله 2 – تنظیم فایل موجودی
فایل موجودی (Inventory) شامل اطلاعات مربوط به هاست هایی است که با Ansible آنها را مدیریت خواهید کرد. شما می توانید از یک تا چند صد 

سرور مجازی در فایل موجودی خود داشته باشید و هاست ها را می توانید در گروه ها و زیر گروه ها سازماندهی کنید. فایل موجودی نیز اغلب برای تنظیم متغیرهایی مورد استفاده قرار می گیرد که فقط برای هاست یا گروه های خاص معتبر باشند ، تا در playbookها و قالب ها مورد استفاده قرار گیرند. برخی از متغیرها همچنین می توانند بر نحوه اجرای یک playbook اثر بگذارند ، مانند متغیر ansible_python_interpreter که به زودی مشاهده خواهیم کرد.
برای ویرایش محتوای موجودی پیش فرض Ansible ، فایل / etc / ansible / hosts را با استفاده از ویرایشگر متن مورد نظر خود، در node کنترل Ansible باز کنید:
$ sudo nano /etc/ansible/hosts

توجه: برخی از نصب های Ansible فایل موجودی پیش فرض را ایجاد نمی کنند. اگر این فایل در سیستم شما وجود ندارد ، می توانید یک فایل جدید را در / etc / ansible / hosts ایجاد کنید یا یک مسیر موجودی سفارشی را با استفاده از پارامتر -i هنگام اجرای دستورات و playbooks تهیه کنید.

فایل موجودی پیش فرض موجود توسط نصب Ansible شامل تعدادی مثال است که می توانید از آنها به عنوان مرجع برای تنظیم موجودی خود استفاده کنید. مثال زیر گروهی را به نام [servers] با سه 

سرور مجازی مختلف در آن تعریف می کند که هر یک توسط یک نام مستعار مشخص شده اند: server1 ،server2 و server3. حتما IP های هایلایت شده را با آدرس های IP هاست های Ansible جایگزین کنید.
/etc/ansible/hosts
[servers]
server1 ansible_host=203.0.113.111
server2 ansible_host=203.0.113.112
server3 ansible_host=203.0.113.113

[all:vars]
ansible_python_interpreter=/usr/bin/python3

زیر گروهall: vars پارامتر هاست ansible_python_interpreter را تعیین می کند که برای همه هاست های موجود در این موجودی معتبر خواهد بود. این پارامتر اطمینان حاصل می کند که 

سرور مجازی راه دور به جای / usr / bin / python (Python 2.7) از / usr / bin / python3 (Python 3) قابل اجرا استفاده می کند که در نسخه های اخیر اوبونتو وجود ندارد.
پس از اتمام ، فایل را با فشار دادن CTRL + X سپس Y و ENTER ذخیره کرده و آن را ببندید تا تغییرات خود را تأیید کنید.
هر زمان که می خواهید موجودی خود را بررسی کنید ، می توانید این دستور را اجرا کنید:
$ ansible-inventory –list -y

خروجی شبیه به این را خواهید دید ، اما زیرساخت 

سرور مجازی خود را مطابق با فایل موجودی خود تعریف می کنید:
Output
all:
children:
servers:
hosts:
server1:
ansible_host: 203.0.113.111
ansible_python_interpreter: /usr/bin/python3
server2:
ansible_host: 203.0.113.112
ansible_python_interpreter: /usr/bin/python3
server3:
ansible_host: 203.0.113.113
ansible_python_interpreter: /usr/bin/python3
ungrouped: {}

اکنون که فایل موجودی خود را پیکربندی کرده اید ، همه چیز لازم برای آزمایش اتصال به هاست های Ansible خود را دارید.
مرحله 3 – آزمایش اتصال
پس از تنظیم فایل موجودی برای شامل شدن 

سرور مجازیهای خود، زمان آن است که بررسی کنیم آیا Ansible قادر به اتصال به این 

سرور مجازیها و اجرای دستورات از طریق SSH است یا خیر.
برای این راهنما ، ما از حساب ریشه Ubuntu استفاده خواهیم کرد زیرا این تنها حساب موجود به طور پیش فرض در 

سرور مجازی های تازه ایجاد شده است. اگر هاست های Ansible شما قبلاً یک کاربر sudo معمولی ایجاد کرده اند ، به شما توصیه می شود که به جای ریشه از آن حساب استفاده کنید.
برای مشخص کردن کاربر سیستم از راه دور می توانید از آرگومان -u استفاده کنید. در صورت عدم ارائه ، Ansible سعی خواهد کرد که به عنوان کاربر فعلی سیستم شما در node کنترل متصل شود.
از دستگاه محلی یا node کنترل Ansible خود این دستور را اجرا کنید:
$ ansible all -m ping -u root

این دستورالعمل از ماژول داخلی پینگ Ansible برای انجام یک تست اتصال در همه nodes از موجودی پیش فرض شما ، به عنوان root استفاده می کند. ماژول ping موارد زیر را تست خواهد کرد:
آیا هاست ها در دسترس هستند.
آیا اعتبار SSH معتبری دارید؛
آیا هاست ها قادرند ماژول های Ansible را با استفاده از پایتون اجرا کنند.
شما باید خروجی مشابه این دریافت کنید:
Output
server1 | SUCCESS => {
changed”: false,
ping”: pong”
}
server2 | SUCCESS => {
changed”: false,
ping”: pong”
}
server3 | SUCCESS => {
changed”: false,
ping”: pong”
}

اگر این اولین بار است که از طریق SSH به این 

سرور مجازیها وصل می شوید ، از شما خواسته می شود که صحت هاست هایی را که از طریق Ansible به آنها وصل می شوید ، تأیید کنید. وقتی از شما خواسته شد ، yes را تایپ کنید و سپس برای تأیید ENTER را بزنید.
هنگامی که پاسخ pong” را از هاست دریافت کردید ، به این معنی است که شما آماده اجرای دستورات و playbookهای Ansible در آن 

سرور مجازی هستید.
توجه: اگر نمی توانید پاسخ موفقی از 

سرور مجازیهای خود دریافت کنید ، برای اطلاعات بیشتر در مورد نحوه اجرای دستورات Ansible با گزینه های مختلف اتصال ، راهنمای برگه تقلب Ansible ما را بررسی کنید.

مرحله 4 – اجرای دستورات Ad-Hoc (اختیاری)
پس از تأیید اینکه node کنترل Ansible شما قادر به برقراری ارتباط با هاست شماست ، می توانید دستورات ad-hoc و playbooks را روی 

سرور مجازی های خود اجرا کنید.
هر دستوری که معمولاً بر روی SSH از 

سرور مجازی راه دور اجرا می کنید می تواند با Ansible در 

سرور مجازی های مشخص شده در فایل موجودی شما اجرا شود. به عنوان نمونه ، می توانید میزان استفاده از دیسک را در همه سرورها با دستور زیر بررسی کنید:
$ ansible all -a df -h” -u root

Output

server1 | CHANGED | rc=0 >>
Filesystem Size Used Avail Use% Mounted on
udev 3.9G 0 3.9G 0% /dev
tmpfs 798M 624K 798M 1% /run
/dev/vda1 155G 2.3G 153G 2% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/vda15 105M 3.6M 101M 4% /boot/efi
tmpfs 798M 0 798M 0% /run/user/0

server2 | CHANGED | rc=0 >>
Filesystem Size Used Avail Use% Mounted on
udev 2.0G 0 2.0G 0% /dev
tmpfs 395M 608K 394M 1% /run
/dev/vda1 78G 2.2G 76G 3% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/vda15 105M 3.6M 101M 4% /boot/efi
tmpfs 395M 0 395M 0% /run/user/0

فرمان هایلایت شده df -h را می توان با هر دستوری که دوست دارید جایگزین کنید.
همچنین می توانید ماژول های Ansible را از طریق دستورات ad-hoc ، مشابه آنچه قبلاً با ماژول ping برای آزمایش اتصال انجام داده ایم ، اجرا کنید. به عنوان مثال ، در اینجا چگونگی استفاده از ماژول apt برای نصب جدیدترین نسخه vim بر روی همه 

سرور مجازیهای موجود در موجودی شما آورده شده است:
$ ansible all -m apt -a name=vim state=latest” -u root

همچنین هنگام اجرای دستورات Ansible می توانید هاست های فردی و همچنین گروه ها و زیر گروه ها را هدف قرار دهید. به عنوان مثال ، به این ترتیب شما می توانید uptime هر هاست در گروه 

سرور مجازیها را بررسی کنید:
$ ansible servers -a uptime” -u root

ما می توانیم هاست های مختلفی را با جدا کردن آنها با دو نقطه مشخص کنیم:
$ ansible server1:server2 -m ping -u root

برای کسب اطلاعات بیشتر در مورد نحوه استفاده از Ansible ، از جمله نحوه اجرای playbooks برای اتوماسیون تنظیم 

سرور مجازی ، می توانید راهنمای مرجع Ansible ما را بررسی کنید.
نتیجه
در این راهنما ، شما Ansible را نصب کردید و یک فایل موجودی را برای اجرای دستورات ad-hoc از یک node کنترل Ansible اجرا کردید.
هنگامی که تأیید کردید که قادر هستید زیرساختهای خود را از یک دستگاه کنترلر مرکزی Ansible متصل کرده و کنترل کنید ، می توانید هر دستور یا palybook مورد نظر را در مورد آن هاست اجرا کنید. برای 

سرور مجازیهای جدید ، playbook ستاپ اولیه 

سرور مجازی نقطه شروع خوبی است. همچنین می توانید نحوه نوشتن playbookهای خود را با راهنمای ما در مورد مدیریت پیکربندی 101: نوشتن کتابهای Ansible بیاموزید.
برای کسب اطلاعات بیشتر در مورد نحوه استفاده از Ansible ، راهنمای کمکی در صفحه ما را ببینید.

 

 

 

 

برچسب‌ها:


یک سیستم مدیریت پایگاه داده منبع باز است که معمولاً به عنوان بخشی از پشته محبوب LAMP (Linux ، Apache ، MySQL ، PHP / Python / Perl) نصب می شود. برای مدیریت داده های خود از یک پایگاه داده رابطه ای و SQL (زبان پرس و جوی ساختار یافته) استفاده می کند.
نصب نسخه کوتاه ساده است: فهرست بسته خود را به روز کنید ، بسته mysql-server را نصب کنید و سپس اسکریپت امنیتی گنجانده شده را اجرا کنید.
$ sudo apt update

$ sudo apt install mysql-server

$ sudo mysql_secure_installation

در این آموزش نحوه نصب MySQL نسخه 5.7 در 

سرور مجازی Ubuntu 18.04 توضیح داده خواهد شد. با این حال ، اگر به دنبال به روزرسانی نصب MySQL موجود به نسخه 5.7 هستید ، می توانید به جای این راهنما، مقاله به روزرسانی MySQL 5.7 را مطالعه کنید.
پیش نیازها
برای دنبال کردن این آموزش ، به موارد زیر نیاز دارید:
• یک 

سرور مجازی Ubuntu 18.04 که طبق راهنمای تنظیم اولیه 

سرور مجازی تنظیم شده باشد و شامل یک کاربر غیر ریشه با امتیازات sudo و فایروال باشد.
مرحله 1 – نصب MySQL
در اوبونتو 18.04 ، فقط آخرین نسخه MySQL بصورت پیش فرض در مخزن بسته APT گنجانده شده است. در زمان نوشتن این مقاله نسخه MySQL 5.7 است .
برای نصب آن ، ایندکس بسته را بر روی 

سرور مجازی خود با apt به روز کنید:
$ sudo apt update

سپس بسته پیش فرض را نصب کنید:
$ sudo apt install mysql-server

این کار MySQL را نصب می کند ، اما از شما خواسته نمی شود که رمز عبوری را تنظیم کنید یا تغییرات دیگری در پیکربندی ایجاد کنید. از آنجا که این کار باعث می شود نصب MySQL ناامن باشد ، در ادامه به این موضوع خواهیم پرداخت.
مرحله 2 – پیکربندی MySQL
برای ریفرش کردن نصب ها، بهتر است اسکریپت امنیتی موجود را اجرا کنید. این کار برخی از گزینه های پیش فرض با ایمنی کمتر را برای مواردی مانند ورود به سیستم ریشه از راه دور و کاربران نمونه تغییر میدهد. در نسخه های قدیمی MySQL ، شما باید دایرکتوری داده را به صورت دستی نیز تنظیم کنید ، اما اکنون این کار به صورت خودکار انجام می شود.
اسکریپت امنیتی را اجرا کنید:
$sudo mysql_secure_installation

این امر یک سری اعلان به شما نشان میدهد که می توانید برخی از گزینه های امنیتی نصب MySQL خود را تغییر دهید. اولین سؤال از شما میپرسد که آیا می خواهید افزونه Validate Password را تنظیم کنید ، که می تواند برای تست قدرت رمز ورود MySQL استفاده شود. صرف نظر از انتخاب شما ، اعلان بعدی تنظیم رمز عبور برای کاربر ریشه MySQL خواهد بود. رمز عبور مطمئن مورد نظر خود را وارد کرده و سپس تأیید کنید.
از آنجا ، می توانید Y و سپس ENTER را فشار دهید تا پیش فرض برای همه سؤالات بعدی را بپذیرید. با این کار برخی از کاربران ناشناس و بانک اطلاعاتی آزمایشی حذف می شوند ، ورود به سیستم ریشه از راه دور غیرفعال می شود و این قوانین جدید را لود می کنند تا MySQL فوراً با تغییراتی که ایجاد کرده اید منطبق شود.
برای مقدار دهی اولیه دایرکتوری داده MySQL ، می توانید از mysql_install_db برای نسخه های قبل از 5.7.6 ، و از mysqld –initialize برای 5.7.6 و بعد از آن استفاده کنید. با این حال ، اگر MySQL را از توزیع Debian نصب کردید ، همانطور که در مرحله 1 توضیح داده شد ، دایرکتوری داده به طور خودکار آغاز می شود. شما مجبور نیستید کاری انجام دهید. اگر به هر حال سعی کنید دستور را اجرا کنید ، خطای زیر را مشاهده خواهید کرد:
Output
mysqld: Can’t create directory ‘/var/lib/mysql/’ (Errcode: 17 – File exists)
. . .
2018-04-23T13:48:00.572066Z 0 [ERROR] Aborting

توجه داشته باشید که حتی اگر یک رمز عبور برای کاربر ریشه MySQL تنظیم کرده اید ، این کاربر برای تأیید اعتبار با گذرواژه هنگام اتصال به پوسته MySQL پیکربندی نشده است. در صورت تمایل می توانید با دنبال کردن مرحله 3 این کار را انجام دهید.
مرحله 3 – تنظیم تأیید اعتبار و امتیازات کاربر (اختیاری)
در سیستم های اوبونتو که MySQL 5.7 (و نسخه های بعدی) را اجرا می کند ، تأیید اعتبار کاربر ریشه MySQL بصورت پیش فرض با استفاده از افزونه auth_socket و نه با گذرواژه تنظیم شده است. این امر امنیت و قابلیت استفاده بیشتر را در بسیاری از موارد امکان پذیر می کند ، اما همچنین می تواند مواردی را که نیاز دارید به یک برنامه خارجی (مانند phpMyAdmin) برای دسترسی به کاربر اجازه بدهید، پیچیده تر کند.
به منظور استفاده از رمز عبور برای اتصال به MySQL به عنوان root ، باید روش تأیید اعتبار آن را از auth_socket به mysql_native_password تغییر دهید. برای این کار ، اعلان MySQL را از پایانه خود باز کنید:
$ sudo mysql

سپس ، با دستور زیر بررسی کنید که هر یک از حسابهای کاربری MySQL شما از کدام روش تأیید اعتبار استفاده میکند:
Mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

Output
+——————+——————————————-+———————–+———–+
| user | authentication_string | plugin | host |
+——————+——————————————-+———————–+———–+
| root | | auth_socket | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+——————+——————————————-+———————–+———–+
4 rows in set (0.00 sec)

در این مثال ، می بینید که کاربر ریشه با استفاده از افزونه auth_socket ، تأیید اعتبار می کند. برای پیکربندی حساب ریشه برای تأیید اعتبار با رمز عبور ، دستور ALTER USER زیر را اجرا کنید. مطمئن شوید که رمز عبور را به رمز عبوری قوی به انتخاب خود تغییر می دهید و توجه داشته باشید که این دستور رمز اصلی را که در مرحله 2 تنظیم کرده اید تغییر می دهد:
Mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;

سپس ، FLUSH PRIVILEGES را اجرا کنید که به 

سرور مجازی می گوید جداول اعطای امتیاز را لود مجدد کند و تغییرات جدید شما را اعمال کند:
Mysql> FLUSH PRIVILEGES;

روش های تأیید اعتبار استفاده شده توسط هر یک از کاربران خود را دوباره بررسی کنید تا تأیید کنید که ریشه دیگر با استفاده از افزونه auth_socket احراز هویت نمی کند:
Mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

Output
+——————+——————————————-+———————–+———–+
| user | authentication_string | plugin | host |
+——————+——————————————-+———————–+———–+
| root | *3636DACC8616D997782ADD0839F92C1571D6D78F | mysql_native_password | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+——————+——————————————-+———————–+———–+
4 rows in set (0.00 sec)

در این مثال می توانید مشاهده کنید که کاربر ریشه MySQL اکنون با استفاده از یک رمز عبور تأیید اعتبار می کند. پس از تأیید این موضوع روی 

سرور مجازی خود ، می توانید از پوسته MySQL خارج شوید:
Mysql> exit

از طرف دیگر ، برخی ممکن است دریابند که اتصال به MySQL با یک کاربر اختصاصی برای جریان کاری آن ها مناسب تر است. برای ایجاد چنین کاربری ، بار دیگر پوسته MySQL را باز کنید:
$ sudo mysql

توجه: اگر احراز هویت رمز عبور را برای ریشه فعال کرده اید ، همانطور که در پاراگراف های قبلی توضیح داده شد ، برای دسترسی به پوسته MySQL باید از دستور دیگری استفاده کنید. موارد زیر کلاینت MySQL شما را با امتیازات کاربری معمول اجرا می کند و شما فقط با تأیید اعتبار ، امتیازات ادمین را در بانک اطلاعاتی دریافت خواهید کرد:
$ mysql -u root -p

از آنجا ، یک کاربر جدید ایجاد کنید و رمزعبور قوی به آن بدهید:
Mysql> CREATE USER ‘sammy’@’localhost’ IDENTIFIED BY ‘password’;

سپس امتیازات مناسب را به کاربر جدید خود اعطا کنید. به عنوان مثال ، شما می توانید امتیازات کاربر را به تمام جداول موجود در دیتابیس بدهید و همچنین قدرت اضافه کردن ، تغییر و حذف امتیازات کاربر را با این دستور اعطا کنید:
Mysql>GRANT ALL PRIVILEGES ON *.* TO ‘sammy’@’localhost’ WITH GRANT OPTION;

توجه داشته باشید که در این مرحله ، دیگر نیازی به اجرای فرمان FLUSH PRIVILEGES ندارید. این دستور فقط در صورت تغییر جدول های اعطای امتیاز با استفاده از عباراتی مانند INSERT ، UPDATE یا DELETE مورد نیاز است. از آنجا که شما به جای تغییر کاربر موجود، یک کاربر جدید ایجاد کرده اید ، FLUSH PRIVILEGES در اینجا لازم نیست.
پس از آن ، از پوسته MySQL خارج شوید:
Mysql>exit

در آخر ، بیایید نصب MySQL را آزمایش کنیم.
مرحله 4 – تست MySQL
صرف نظر از نحوه نصب آن ، MySQL باید به صورت خودکار شروع به کار کند. برای آزمایش این موضوع ، وضعیت آن را بررسی کنید.
$ systemctl status mysql.service

خروجی مشابه زیر را مشاهده خواهید کرد:
Output
● mysql.service – MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en
Active: active (running) since Wed 2018-04-23 21:21:25 UTC; 30min ago
Main PID: 3754 (mysqld)
Tasks: 28
Memory: 142.3M
CPU: 1.994s
CGroup: /system.slice/mysql.service
└─3754 /usr/sbin/mysqld

اگر MySQL در حال اجرا نیست ، می توانید آن را با sudo systemctl start mysql راه اندازی کنید.
برای بررسی بیشتر ، می توانید با استفاده از ابزار mysqladmin ، که یک کلاینت است و به شما امکان اجرای دستورات ادمین را می دهد ، به پایگاه داده وصل شوید. به عنوان مثال ، این دستور می گوید به عنوان ریشه (-u root) به MySQL متصل شوید، اعلان گذرواژه را پر کنید (-p) ، و نسخه را برگردانید.
$ sudo mysqladmin -p -u root version

باید خروجی مشابه این را ببینید:
Output
mysqladmin Ver 8.42 Distrib 5.7.21, for Linux on x86_64
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Server version 5.7.21-1ubuntu1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 30 min 54 sec

Threads: 1 Questions: 12 Slow queries: 0 Opens: 115 Flush tables: 1 Open tables: 34 Que

این بدان معنی است که MySQL در حال کار است.
نتیجه
اکنون یک ستاپ ساده MySQL روی 

سرور مجازی خود نصب کرده اید. در اینجا چند نمونه از مراحل بعدی که می توانید انجام دهید آورده شده است:
اجرای برخی اقدامات امنیتی اضافی
جابجایی دایرکتوری داده ها
مدیریت 

سرور مجازی های MySQL خود با SaltStack

 

 

 

 

 

 

برچسب‌ها:


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

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

سرور مجازی های شما را ردیابی کند و در صورت بروز هر مشکلی هشدار دهد. در یک حالت بسیار ساده ، یک سیستم نظارتی در صورت متوقف شدن هرگونه خدمات به شما هشدار می دهد. در یک حالت قوی تر ، هشدار بلافاصله بعد از بروز هرگونه علائم مشکوک ، مانند افزایش استفاده از حافظه یا میزان غیرطبیعی اتصالات TCP ، به وجود می آید.
راه حل های مانیتورینگ بسیاری وجود دارد که درجات مختلف پیچیدگی و ویژگی های مختلف ، هم رایگان و هزینه بر را ارائه می دهد. در بسیاری از موارد ، نصب ، پیکربندی و مدیریت این ابزارها دشوار و وقت گیر است.
با این حال Checkmk ، یک روش نظارتی است که هم قوی میباشد و هم نصب آن ساده است. یک بسته نرم افزاری خود شمول است که شامل Nagios (یک سرویس هشدار دهنده محبوب و منبع باز) با افزونه هایی برای جمع آوری ، نظارت و نمودار سازی داده ها است. همچنین رابط وب Checkmk را به همراه دارد – ابزاری جامع که بسیاری از کاستی های Nagios را برطرف می کند. این دستگاه داشبورد کاربر پسند ، یک سیستم نوتیفیکیشن همه منظوره و یک مخزن دارای عوامل نظارتی آسان قابل نصب را در بسیاری از توزیع های لینوکس ارائه می دهد. اگر رابط وب Checkmk را نداشته باشد ، باید برای کارهای مختلف از نماهای مختلف استفاده کنیم و امکان استفاده از این ویژگی ها بدون استفاده از اصلاحات گسترده فایل امکان پذیر نیست.
در این راهنما Checkmk را روی یک 

سرور مجازی Ubuntu 18.04 تنظیم می کنیم و دو هاست جداگانه را مانیتور می کنیم. خود 

سرور مجازی اوبونتو و همچنین یک 

سرور مجازی جداگانه CentOS 7 را رصد خواهیم کرد ، اما می توانیم از همین روش استفاده کنیم تا تعداد هاست های بیشتری را به پیکربندی مانیتورینگ خود اضافه کنیم.
پیش نیازها
• یک 

سرور مجازی Ubuntu 18.04 با یک کاربر معمولی و غیر ریشه و دارای امتیازات sudo. با پیروی از این آموزش اولیه راه اندازی 

سرور مجازی می توانید نحوه آماده سازی 

سرور مجازی خود را بیاموزید.
• یک 

سرور مجازی CentOS 7 با یک کاربر معمولی و غیر ریشه و دارای امتیازات sudo. برای تهیه این 

سرور مجازی می توانید این آموزش اولیه تنظیم 

سرور مجازی را دنبال کنید.
مرحله 1 – نصب Checkmk در اوبونتو
برای استفاده از سایت مانیتور خود ابتدا باید Checkmk را روی 

سرور مجازی اوبونتو نصب کنیم. این کار ابزارهای لازم را به ما می دهد. Checkmk فایلهای رسمی بسته آماده استفاده برای اوبونتو را فراهم می کند که می توانیم برای نصب بسته نرم افزاری از آنها استفاده کنیم.
ابتدا ، لیست بسته ها را به روز می کنیم تا جدیدترین نسخه از لیست مخازن را داشته باشیم:
⦁ $ sudo apt update

برای جستجوی بسته ها می توانیم به سایت لیست بسته ها برویم. اوبونتو 18.04 را می توان در فهرست صفحه انتخاب کرد.
اکنون بسته را دانلود کنید:
⦁ $ wget https://checkmk.com/support/1.6.0p8/check-mk-raw-1.6.0p8_0.bionic_amd64.deb

سپس بسته تازه دانلود شده را نصب کنید:
⦁ $ sudo apt install -y ./check-mk-raw-1.6.0p8_0.bionic_amd64.deb

این دستور بسته Checkmk را به همراه تمام متعلقات لازم از جمله وب 

سرور مجازی Apache که برای دسترسی به وب به رابط مانیتورینگ استفاده می شود ، نصب می کند.
پس از اتمام نصب ، اکنون می توانیم به دستور omd دسترسی پیدا کنیم. آن را امتحان کنید:
⦁ $ sudo omd

این دستور omd به شرح زیر است:
Output
Usage (called as root):

omd help Show general help

. . .

General Options:
-V <version> set specific version, useful in combination with update/create
omd COMMAND -h, –help show available options of COMMAND

دستور omd می تواند تمام موارد Checkmk را در 

سرور مجازی ما مدیریت کند. می تواند همه خدمات نظارت را به طور همزمان شروع و متوقف کند ، و ما از آن برای ایجاد نمونه Checkmk استفاده خواهیم کرد. با این حال ، ابتدا ، باید تنظیمات فایروال خود را به روز کنیم تا به خارج از پورت پیش فرض دسترسی پیدا کنیم.
مرحله 2 – تعیین تنظیمات فایروال
قبل از اینکه بتوانیم با Checkmk کار کنیم ، لازم است در پیکربندی فایروال اجازه دسترسی خارجی به 

سرور مجازی وب را فراهم کنیم. با فرض اینکه مراحل پیش فرض تنظیمات فایروال را دنبال کرده باشید ، فایروال UFW را برای محدود کردن دسترسی به 

سرور مجازی خود تنظیم کرده اید.
در حین نصب ، Apache خود را با UFW ثبت می کند تا راهی آسان برای فعال یا غیرفعال کردن دسترسی به Apache از طریق فایروال فراهم کند.
برای دسترسی به Apache ، از دستور زیر استفاده کنید:
⦁ $ sudo ufw allow Apache

اکنون تغییرات را تأیید کنید:
⦁ $ sudo ufw status

خواهید دید که Apache در بین سرویس های مجاز ذکر شده است:
Output
Status: active

To Action From
— —— —-
OpenSSH ALLOW Anywhere
Apache ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Apache (v6) ALLOW Anywhere (v6)

این به ما امکان دسترسی به رابط وب Checkmk را می دهد.
در مرحله بعدی ، اولین نمونه مانیتورینگ Checkmk را ایجاد خواهیم کرد.
مرحله 3 – ایجاد یک نمونه مانیتورینگ Checkmk
Checkmk برای جداسازی چندین نسخه Checkmk روی یک 

سرور مجازی از مفهوم نمونه ها یا نصب های فردی استفاده می کند. در بیشتر موارد ، تنها یک نسخه از Checkmk کافی است و اینگونه است که ما در این راهنما نرم افزار را پیکربندی می کنیم.
ابتدا باید یک نمونه جدید را نامگذاری کنیم و در تمام این متن از monitoring استفاده خواهیم کرد. برای ایجاد نمونه ، این دستور را تایپ کنید:
⦁ $ sudo omd create monitoring

ابزار omd همه چیز را بطور خودکار برای ما تنظیم می کند. خروجی فرمان شبیه به زیر خواهد بود:
Output
Adding /opt/omd/sites/monitoring/tmp to /etc/fstab.
Creating temporary filesystem /omd/sites/monitoring/tmp…OK
Restarting Apache…OK
Created new site monitoring with version 1.6.0p8.cre.

The site can be started with omd start monitoring.
The default web UI is available at http://your_ubuntu_server/monitoring/

The admin user for the web applications is cmkadmin with password: your-default-password
(It can be changed with ‘htpasswd -m ~/etc/htpasswd cmkadmin’ as site user.)
Please do a su – monitoring for administration of this site.

در این خروجی آدرس URL ، نام کاربری پیش فرض و رمز عبور برای دسترسی به رابط مانیتورینگ ما هایلایت می شوند. نمونه اکنون ایجاد شده است ، اما هنوز شروع نشده است. برای شروع مثال ، تایپ کنید:
⦁ $ sudo omd start monitoring

در حال حاضر تمام ابزارها و سرویس های لازم به طور همزمان آغاز می شوند. در پایان خروجی را مشاهده خواهیم کرد که تایید میکند همه سرویس های ما با موفقیت شروع شده است:
Output
Starting mkeventd…OK
Starting rrdcached…OK
Starting npcd…OK
Starting nagios…OK
Starting apache…OK
Initializing Crontab…OK

نمونه به روز و در حال اجرا است.
برای دسترسی به نمونه Checkmk ، در مرورگر وب http: // your_ubuntu_server_ip / monitor / را باز کنید. از شما خواسته می شود که یک رمز عبور وارد کنید. از اعتبارات پیش فرض چاپ شده روی صفحه استفاده کنید. بعداً این پیش فرض ها را تغییر خواهیم داد.
صفحه Checkmk با یک داشبورد باز می شود ، که تمام خدمات و وضعیت 

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

در مرحله بعد رمزعبور پیش فرض را برای ایمن سازی سایت با استفاده از این رابط تغییر خواهیم داد.
مرحله 4 – تغییر رمز عبور ادمین
در حین نصب ، Checkmk یک رمز عبور تصادفی برای کاربر ادمین cmkadmin ایجاد می کند. این گذرواژه قرار است هنگام نصب تغییر یابد و به همین دلیل اغلب کوتاه است و چندان ایمن نیست. ما می توانیم این رمز را از طریق رابط وب تغییر دهیم.
ابتدا ، صفحه کاربران را از منوی WATO – Configuration در سمت چپ باز کنید. در این لیست کلیه کاربرانی که در حال حاضر به سایت Checkmk دسترسی دارند نشان داده میشوند. در نصب جدید فقط دو کاربر لیست می شوند. اولین مورد ، automation ، برای استفاده با ابزارهای خودکار در نظر گرفته شده است. دومی کاربر cmkadmin است که ما برای ورود به سایت استفاده می کردیم.

برای تغییر جزئیات آن از جمله رمز عبور ، روی آی مداد کنار کاربر cmkadmin کلیک کنید.

گذرواژه را به روز کنید ، یک ایمیل ادمین اضافه کنید و هرگونه تغییر دلخواه دیگری میخواهید انجام دهید.
پس از ذخیره تغییرات ، از ما خواسته می شود دوباره با استفاده از اعتبار جدید خود وارد سیستم شوید. این کار را انجام دهید و به داشبورد برگردید ، جایی که باید برای پیاده سازی کامل پیکربندی جدید خود یک کار دیگر نیز انجام دهیم.
یکبار دیگر از منوی WATO – Configuration پیکربندی در سمت چپ ، صفحه کاربران را باز کنید. دکمه نارنجی در گوشه بالا سمت چپ با عنوان 1 Change به ما می گوید که ما در پیکربندی Checkmk تغییراتی ایجاد کرده ایم و باید آنها را ذخیره و فعال کنیم. این اتفاق هر بار که می خواهیم پیکربندی سیستم نظارت خود را تغییر دهیم ، تکرار میشود و نه تنها پس از ویرایش اطلاعات کاربری. برای ذخیره و فعال کردن تغییرات در حال انتظار ، باید روی این دکمه کلیک کرده و با فعال سازی تغییرات ذکر شده با استفاده از گزینه ” Activate affected” در صفحه زیر موافقت کنید.

پس از فعال سازی تغییرات ، داده های کاربر جدید در فایل های پیکربندی نوشته شده و توسط همه اجزای سیستم استفاده می شود. Checkmk به طور خودکار مراقب اجزای سیستم مانیتورینگ فردی ، لود مجدد آنها در صورت وم و مدیریت کلیه فایل های پیکربندی مورد نیاز است.
نصب Checkmk اکنون آماده استفاده است. در مرحله بعد ، هاست اول را به سیستم نظارت خود اضافه خواهیم کرد.
مرحله 5 – نظارت بر هاست اول
اکنون آماده مانیتورینگ هاست اول هستیم. برای انجام این کار ، ابتدا check-mk-agent را روی 

سرور مجازی اوبونتو نصب خواهیم کرد. سپس ، دسترسی به داده های مانیتورینگ را با استفاده از xinetd محدود خواهیم کرد.
مؤلفه های نصب شده با Checkmk وظیفه دریافت ، ذخیره و ارائه اطلاعات نظارت را دارند. آنها خود اطلاعات را ارائه نمی دهند.
برای جمع آوری داده های واقعی ، از عامل Checkmk استفاده خواهیم کرد. از آنجا که عامل Checkmk به طور خاص برای این کار طراحی شده ، قادر به نظارت بر همه اجزای حیاتی سیستم به طور همزمان و گزارش آن اطلاعات به نمونه Checkmk است.
نصب عامل
اولین هاستی که مانیتور خواهیم کرد your_ubuntu_server خواهد بود – 

سرور مجازی ی که ما خود نمونه Checkmk را نصب کرده ایم.
برای شروع ، باید عامل Checkmk را نصب کنیم. بسته های مربوط به همه توزیع های عمده ، از جمله اوبونتو ، مستقیماً از رابط وب موجود است. صفحه Monitoring Agents را از منوی WATO – Configuration در سمت چپ باز کنید. دانلودهای موجود با محبوب ترین بسته ها را در قسمت اول با برچسب Packaged agents مشاهده خواهید کرد.

بسته check-mk-agent_1.6.0p8-1_all.deb مناسب برای توزیع های مبتنی بر دبیان ، از جمله اوبونتو است. لینک دانلود آن بسته را از مرورگر وب کپی کنید و از آن آدرس برای دانلود بسته استفاده کنید.
$ wget http://your_ubuntu_server_ip/monitoring/check_mk/agents/check-mk-agent_1.6.0p8-1_all.deb

پس از دانلود ، بسته را نصب کنید:
⦁ $ apt install -y ./check-mk-agent_1.6.0p8-1_all.deb

اکنون تأیید کنید که عامل با موفقیت نصب شده است:
⦁ $ check_mk_agent

این دستور متن بسیار طولانی را به نمایش می گذارد که به نظر می رسد مانند gibberish اما همه اطلاعات حیاتی درباره سیستم را در یک جا جمع می کند.
Output
<<<check_mk>>>
Version: 1.6.0p8
AgentOS: linux
. . .
[monitoring”]
<<<job>>>
<<<local>>>

این خروجی این دستور است که Checkmk برای جمع آوری داده های وضعیت از هاست های مانیتور شده، از آن استفاده می کند. اکنون ، دسترسی به داده های مانیتورینگ را با xinetd محدود خواهیم کرد.
محدود کردن دسترسی به داده های مانیتورینگ با استفاده از xinetd
به طور پیش فرض ، داده های check_mk_agent با استفاده از xinetd ارائه می شوند، مکانیزمی که پس از دستیابی به آن ، داده ها را از پورت شبکه خاص خارج می کند. این بدان معنی است که ما می توانیم با استفاده از telnet به پورت 6556 (پورت پیش فرض Checkmk) از هر رایانه دیگری در اینترنت به check_mk_agent دسترسی پیدا کنیم ، مگر اینکه پیکربندی فایروال ما آن را مجاز نداند.
این حالت رویکرد امنیتی خوبی برای انتشار اطلاعات حیاتی در مورد 

سرور مجازی ها به هر کسی در اینترنت نیست. ما فقط باید هاست هایی را مجاز کنیم که Checkmk را اجرا می کنند و برای دستیابی به این داده ها تحت نظارت ما هستند ، به طوری که فقط سیستم نظارت ما بتواند آن را جمع کند.
اگر آموزش اولیه راه اندازی 

سرور مجازی شامل مراحل تنظیم فایروال را دنبال کرده اید ، دسترسی به عامل Checkmk به طور پیش فرض مسدود شده است. با این وجود ، یک راه این است که این محدودیت های دسترسی را مستقیماً در پیکربندی سرویس اعمال کنید و برای محافظت از آن فقط به فایروال اعتماد نکنید.
برای محدود کردن دسترسی به داده های عامل ، باید فایل پیکربندی را در /etc/xinetd.d/check_mk ویرایش کنیم. فایل پیکربندی را در ویرایشگر مورد علاقه خود باز کنید. برای استفاده از nano ، تایپ کنید:
⦁ $ sudo nano /etc/xinetd.d/check_mk

این بخش را پیدا کنید:
/etc/xinetd.d/check_mk
. . .
# configure the IP address(es) of your Nagios server here:
#only_from = 127.0.0.1 10.0.20.1 10.0.20.2
. . .

تنظیم only_from مسئولیت محدود کردن دسترسی به آدرسهای IP خاص را دارد. از آنجا که ما اکنون در حال کار بر روی نظارت بر 

سرور مجازی ی هستیم که Checkmk روی آن کار می کند ، بهتر است فقط به localhost اجازه اتصال دهیم. تنظیمات پیکربندی را باطل و به روز کنید:
/etc/xinetd.d/check_mk
. . .
# configure the IP address(es) of your Nagios server here:
only_from = 127.0.0.1
. . .
فایل را ذخیره کنید و از آن خارج شوید.
برای تغییراتی که باید انجام شود ، باید daemon xinetd را مجدداً راه اندازی کنیم. اکنون این کار را انجام دهید:
⦁ $ sudo systemctl restart xinetd

اکنون عامل ما در حال اجراست و محدود به پذیرش اتصالات محلی است. ما می توانیم با استفاده از Checkmk ، مانیتورینگ را برای هاست پیکربندی کنیم.
پیکربندی هاست در رابط وب Checkmk
ابتدا ، برای اضافه کردن یک هاست جدید جهت نظارت ، باید به منوی هاست ها در فهرست WATO – Configuration در سمت چپ برویم. از اینجا روی ایجاد هاست جدید کلیک کنید. برخی اطلاعات هاست از ما خواسته می شود.
نام هاست نامی آشناست که Checkmk برای نظارت از آن استفاده خواهد کرد. ممکن است یک نام دامنه کاملاً واجد شرایط باشد ، اما لازم نیست. در این مثال ، ما دقیقاً مانند نام نمونه Checkmk ، هاست را monitoring نامیدیم. از آنجا که onitoring برای آدرس IP ما قابل حل نیست ، باید آدرس IP 

سرور مجازی خود را نیز ارائه کنیم. و از آنجا که ما هاست محلی را رصد می کنیم ، IP به سادگی 127.0.0.1 خواهد بود. برای فعال کردن ورودی دستی IP ، جعبه آدرس IPv4 را بررسی کنید و مقدار را در قسمت متن وارد کنید.
پیکربندی پیش فرض بخش Data Source به عامل Checkmk برای ارائه داده های نظارت متکی است ، که مسئله خوبی است. تنظیمات Networking Segment برای مشخص کردن هاست ها در شبکه های از راه دور استفاده می شود ، که با تاخیر قابل انتظار بیشتری مشخص می شوند که نشانه ای از نقص نیست. از آنجا که این یک هاست محلی است ، تنظیم پیش فرض نیز مناسب خواهد بود.
برای ذخیره هاست و پیکربندی کنترل سرویس ها ، روی دکمه Save & go to services کلیک کنید.

Checkmk موجودی خودکار را انجام می دهد. این بدان معناست که خروجی عامل را دریافت می کند و آن را رمزگشایی می کند تا بداند چه نوع خدماتی را می تواند نظارت کند. کلیه خدمات در دسترس برای نظارت در لیست خواهد بود از جمله لود CPU ، استفاده از حافظه و فضای خالی روی دیسک ها.
برای فعال کردن نظارت بر همه خدمات یافت شده ، باید روی دکمه Monitor در بخش خدمات Undecided (currently not monitored) کلیک کنید. صفحه ریفرش میشود ، اما اکنون همه سرویس ها در زیر بخش خدمات مانیتور شده قرار می گیرند و به ما اطلاع می دهند که در واقع تحت نظارت هستند.
همانطور که در هنگام تغییر رمزعبور کاربر خود ، این تغییرات جدید قبل از اجرای زنده باید ذخیره و فعال شوند. دکمه 2 change را فشار داده و با استفاده از دکمه Activate affected ، تغییرات را بپذیرید. پس از آن ، مانیتور هاست به حالت آماده اجرا می شود.
اکنون آماده همکاری با داده های 

سرور مجازی خود هستید. با استفاده از منوی Overview/Main Overview در سمت چپ نگاهی به داشبورد اصلی بیاندازید.
کار با داده های مانیتورینگ
اکنون با استفاده از مورد منوی Overview/Main Overview در سمت چپ نگاهی به داشبورد اصلی خواهیم انداخت:

کره زمین اکنون کاملاً سبز است و جدول می گوید که یک هاست بدون هیچ مشکلی در حال اجرا است. ما می توانیم لیست کامل هاست ، که اکنون از یک هاست واحد تشکیل شده است ، در نمای Hosts/All hosts (با استفاده از منوی سمت چپ) مشاهده کنیم.

در آنجا خواهیم دید که چه تعداد خدمات مطلوبی وجود دارند (به رنگ سبز نشان داده شده است) ، چه تعداد از آنها شکست خورده اند و چه تعداد از آنها در انتظار بررسی هستند. بعد از کلیک بر روی نام هاست ، قادر خواهیم بود لیست کلیه خدمات را با وضعیت کامل و Perf-O-Meter آنها مشاهده کنیم. Perf-O-Meter عملکرد یک سرویس منفرد را نسبت به آنچه Checkmk مطلوب میداند ، نشان می دهد.

کلیه خدماتی که داده های قابل بازگشت را نشان می دهند ، یک نماد گراف را در کنار نام خود نشان می دهند. ما می توانیم از آن نماد برای دسترسی به نمودارهای مرتبط با سرویس استفاده کنیم. از آنجا که نظارت هاست تازه است ، تقریباً هیچ چیزی روی نمودارها وجود ندارد – اما بعد از مدتی نمودارها اطلاعات ارزشمندی در مورد تغییر عملکرد سرویس ما با گذشت زمان ارائه می دهند.

هنگامی که هر یک از این خدمات خراب یا بازیابی نشوند ، اطلاعات در داشبورد نشان داده می شود. برای عدم موفقیت در خدمات خطای قرمز نشان داده می شود و بروز مشکل در نمودار کره زمین نیز قابل مشاهده خواهد بود.

پس از ریکاوری ، همه چیز به صورت سبز نشان داده می شود ، اما وضعیت ورود به سیستم در سمت راست حاوی اطلاعاتی درباره مشکلات گذشته خواهد بود.

اکنون که کمی داشبورد را کاوش کرده ایم ، بیایید هاست دوم را به عنوان نمونه مانیتورینگ خود اضافه کنیم.
مرحله 6 – نظارت بر هاست CentOS دوم
وقتی هاست های مختلفی دارید ، مانیتورینگ واقعاً کارآمد خواهد بود. اکنون 

سرور مجازی دوم را به نمونه Checkmk اضافه خواهیم کرد ، این بار CentOS 7 در حال اجرا را اضافه میکنیم.
مانند 

سرور مجازی Ubuntu ، نصب عامل Checkmk برای جمع آوری داده های نظارت بر CentOS ضروری است. اما این بار به یک صفحه rpm از صفحه Monitoring Agents در رابط وب ، با نام check-mk-agent-1.6.0p8-1.noarch.rpm ، احتیاج خواهیم داشت.
ابتدا باید xinetd را نصب کنیم که به طور پیش فرض در نصب CentOS موجود نیست. به یاد خواهیم آورد ، Xinetd یک Daemon است که وظیفه تهیه داده های مانیتورینگ ارائه شده توسط check_mk_agent از طریق شبکه را دارد.
در 

سرور مجازی CentOS خود ، ابتدا xinetd را نصب کنید:
⦁ $ sudo yum install -y xinetd

اکنون می توانیم بسته عامل نظارتی مورد نیاز 

سرور مجازی CentOS خود را دانلود و نصب کنیم:
⦁ $ sudo yum install -y http://your_ubuntu_server_ip/monitoring/check_mk/agents/check-mk-agent-1.6.0p8-1.noarch.rpm

درست مانند قبل ، با اجرای check_mk_agent می توانیم تأیید کنیم که عامل به درستی کار می کند:
⦁ $ sudo check_mk_agent
خروجی مشابه 

سرور مجازی اوبونتو خواهد بود. اکنون دسترسی به عامل را محدود خواهیم کرد.
محدود کردن دسترسی
این بار یک هاست محلی را نظارت نخواهیم کرد ، بنابراین xinetd باید امکاناتی را برای جمع آوری داده ها از 

سرور مجازی اوبونتو ، که Checkmk در آن نصب است ، فراهم آورد. برای انجام این کار، ابتدا فایل پیکربندی خود را باز کنید:
⦁ $ sudo vi /etc/xinetd.d/check_mk

در اینجا پیکربندی سرویس check_mk خود را مشاهده می کنید ، چگونگی دستیابی به عامل Checkmk از طریق Daemon xinetd را می توانید مشخص کنید. دو خط زیر را پیدا کنید:
/etc/xinetd.d/check_mk
. . .
# configure the IP address(es) of your Nagios server here:
#only_from = 127.0.0.1 10.0.20.1 10.0.20.2
. . .

اکنون خط دوم را حذف کنید و آدرس های IP محلی را با آدرس__ubuntu_server_ip خود جایگزین کنید:
/etc/xinetd.d/check_mk
. . .
# configure the IP address(es) of your Nagios server here:
only_from = your_ubuntu_server_ip
. . .

با تایپ:x و سپس ENTER فایل را ذخیره کنید و خارج شوید. سرویس xinetd را با استفاده از دستور زیر ریستارت کنید:
⦁ $ sudo systemctl restart xinetd

اکنون می توانیم Checkmk را پیکربندی کنیم تا هاست CentOS 7 خود را کنترل کنیم.
پیکربندی هاست جدید در Checkmk
برای اضافه کردن هاست های اضافی به Checkmk ، مانند گذشته از منوی هاست ها استفاده می کنیم. این بار می خواهیم نام هاست را centos مینامیم ، آدرس IP آن را پیکربندی میکنیم و WAN (با تأخیر زیاد) را در زیر کادر انتخاب Networking Segment انتخاب میکنیم ، زیرا هاست در شبکه دیگری قرار دارد. اگر از این مرحله عبور کردیم و آن را به صورت محلی رها کردیم ، Checkmk به زودی به ما هشدار می دهد که هاست از کار افتاده است ، زیرا انتظار می رود خیلی سریعتر از آنچه ممکن است از طریق اینترنت به پرس و جوهای عامل پاسخ دهد.

روی Save & go to servicesکلیک کنید ، که خدمات موجود برای نظارت بر روی 

سرور مجازی CentOS را نشان می دهند. لیست بسیار شبیه به لیست هاست اول خواهد بود. این بار نیز باید روی Monitor کلیک کرده و سپس با استفاده از دکمه نارنجی در گوشه بالا سمت چپ تغییرات را فعال کنیم.
پس از فعال سازی تغییرات ، می توانیم تأیید کنیم که هاست در صفحه All hosts نظارت می شود. به آنجا بروید. اکنون دو هاست ، monitoring و centos قابل مشاهده خواهند بود.

اکنون یک 

سرور مجازی اوبونتو و یک 

سرور مجازی CentOS را با Checkmk نظارت می کنید. حتی امکان نظارت بر هاست های بیشتر وجود دارد. در واقع ، هیچ حد بالایی غیر از عملکرد سرور وجود ندارد ، که تا زمانی که تعداد هاست شما در محدود چند صد مورد باشد ، مشکلی ایجاد نمی شود. علاوه بر این ، فرآیند برای هر هاست دیگر یکسان است. عاملین Checkmk در بسته های deb و rpm روی Ubuntu ، CentOS و اکثر توزیع های لینوکس کار می کنند.
نتیجه
در این راهنما دو 

سرور مجازی با دو توزیع مختلف لینوکس تنظیم می کنیم: ubuntu و CentOS. سپس برای کنترل هر دو 

سرور مجازی ، Checkmk را نصب و پیکربندی کردیم و رابط وب قدرتمند Checkmk را بررسی کردیم.
Checkmk امکان تنظیم آسان سیستم مانیتورینگ کامل و همه کاره را فراهم می کند ، که تمام سختی کار پیکربندی دستی را در یک رابط کاربری وب آسان و پر از گزینه ها و ویژگی های مختلف جمع میکند. با استفاده از این ابزارها می توان چندین هاست را کنترل کرد، ایمیل ، پیام کوتاه یا نوتیفیکیشن های بروز مشکل را تنظیم نمود، بررسی های چندگانه برای خدمات بیشتر تنظیم کرد، بر دسترسی و عملکرد نظارت کرد و غیره.
برای کسب اطلاعات بیشتر در مورد Checkmk ، حتماً به مطالب رسمی مراجعه کنید.

 

برچسب‌ها:,


وب Apache از هاست های مجازی برای مدیریت دامنه های متعدد بر روی یک نمونه واحد استفاده می کند. به طور مشابه ، PHP-FPM از یک Daemon برای مدیریت چندین نسخه PHP در یک نمونه واحد استفاده می کند. می توانید از Apache و PHP-FPM با هم استفاده کنید تا هاست چند برنامه وب PHP باشید که هر یک از نسخه متفاوت PHP استفاده میکند و همه روی یک 

سرور یکسان و به طور همزمان کار کنند. این ویژگی از این لحاظ مفید است که برنامه های مختلف ممکن است به نسخه های مختلف PHP نیاز داشته باشند ، اما برخی از پشته های 

سرور ، مانند پشته LAMP که به طور معمول پیکربندی شده است ، فقط می توانند یکی را مدیریت کنند. ترکیب Apache با PHP-FPM همچنین یک راه حل مقرون به صرفه تر از میزبانی هر برنامه به طور خاص است.
PHP-FPM همچنین گزینه های پیکربندی برای ورود به سیستم stderr و stdout ، ریستارت اضطراری و spawning روند تطبیقی ​​را ارائه می دهد ، که برای سایت های دارای بار سنگین مفید است. در حقیقت ، استفاده از Apache با PHP-FPM یکی از بهترین پشته ها برای هاستینگ برنامه های PHP ، به خصوص از لحاظ عملکرد میباشد.
در این آموزش دو سایت PHP را به صورت یکجا تنظیم خواهید کرد. هر سایت از دامنه خود استفاده می کند و هر دامنه نسخه PHP خود را مستقر می کند. اولی ، site1.your_domain ، PHP 7.0 را مستقر می کند. دومی ، site2.your_domain ، PHP 7.2 را مستقر می کند.
پیش نیازها
• یک 

سرور CentOS 7 با حداقل 1 گیگابایت رم که طبق راهنمای راه اندازی 

سرور اولیه با تنظیم شده باشد ، شامل کاربر sudo غیر ریشه و فایروال.
•وب 

سرور Apache که با دنبال کردن آموزش نحوه نصب وب 

سرور Apache در CentOS 7 راه اندازی شود.
• نام دامنه پیکربندی شده برای اشاره به 

سرور CentOS 7 شما. برای اهداف این آموزش ، از دو زیر دامنه استفاده خواهیم کرد که هر یک با یک رکورد A در تنظیمات DNS ما مشخص شده اند: site1.your_domain و site2.your_domain.
مرحله 1 – نصب PHP ورژن های 7.0 و 7.2 با PHP-FPM
با تکمیل پیش نیازها، اکنون نسخه های PHP 7.0 و 7.2 را نصب خواهید کرد. مخزن SCL )مجموعه نرم افزار) نسخه های بیشماری از پشته PHP را برای سیستم CentOS 7 نگه می دارد. اگر به جدیدترین نسخه PHP نیاز دارید و در SCL موجود نیست ، به جای آن ، Remi PPA (بایگانی بسته شخصی) را بررسی کنید.
با نصب مخزن SCL در سیستم خود شروع کنید:
⦁ $ sudo yum install centos-release-scl -y

ابتدا بیابیم جستجو کنیم که نسخه های PHP 7 در SCL در دسترس هستند:
⦁ $ sudo yum list rh-php7[0-9].x86_64

خروجی مانند این را خواهید دید:
Output
Available Packages
rh-php70.x86_64 2.3-1.el7 centos-sclo-rh
rh-php71.x86_64 1-1.el7 centos-sclo-rh
rh-php72.x86_64 1-2.el7 centos-sclo-rh
rh-php73.x86_64 1-1.el7

توجه داشته باشید که جدیدترین نسخه ، PHP 7.3 نیز موجود است. برای مثال ما نسخه های 7.0 و 7.2 را نصب خواهیم کرد.
بیایید با نسخه قدیمی تر شروع کنیم. rh-php70 و rh-php70-php-fpm را نصب کنید:
⦁ $ sudo yum install rh-php70 rh-php70-php-fpm -y

⦁ rh-php70 متابسته ای است که برنامه های PHP را اجرا می کند.
⦁ rh-php70-php-fpm مترجم Fast Manager Manager را فراهم می کند که به عنوان یک Daemon اجرا می شود و درخواست های Fast / CGI را دریافت می کند.
حالا فرایند را برای نسخه PHP 7.2 تکرار کنید. rh-php72 و rh-php72-php-fpm را نصب کنید.
⦁ $ sudo yum install rh-php72 rh-php72-php-fpm -y

در مرحله بعدی ، دستورات زیر را برای شروع استفاده از هر دو مجموعه نرم افزار اجرا کنید:
⦁ $ sudo scl enable rh-php70 bash

⦁ $ sudo scl enable rh-php72 bash

به طور پیش فرض ، هر دو نسخه PHP پورت 9000 را گوش می دهند. اما در این آموزش می خواهیم دو نسخه را همزمان اجرا کنیم. بنابراین ، بیایید دو پورت جدید را تعیین کنیم:
برای تحقق این امر می توانید /etc/opt/rh/rh-php70/php-fpm.d/www.conf را در ویرایشگر متن مورد علاقه خود باز کرده و هر عدد 9000 را به 9002 تغییر دهید. سپس فایل را ذخیره کرده و ببندید و فرآیند را برای /etc/opt/rh/rh-php72/php-fpm.d/www.conf تکرار کنید ، اکنون 9000 را با 9003 جایگزین کنید. در غیر این صورت ، می توانید از این دو دستور sed برای انجام جایگزینی استفاده کنید:
⦁ $ sudo sed -i ‘s/:9000/:9002/’ /etc/opt/rh/rh-php70/php-fpm.d/www.conf

⦁ $ sudo sed -i ‘s/:9000/:9003/’ /etc/opt/rh/rh-php72/php-fpm.d/www.conf

اکنون برای هر یک از خدمات PHP خود پورت اختصاصی تعیین کرده اید. با این حال ، قبل از این که این تغییرات کار کنند ، باید پورت ها را به پیکربندی SELinux اضافه کنید.
SELinux مخفف Security Enhanced Linux است و به طور پیش فرض در CentOS 7 فعال می شود. شما باید پورت های جدید 9002 و 9003 خود را به پایگاه داده SELinux اضافه کنید و آنها را به خدمات httpd خود اختصاص دهید ، در غیر این صورت برنامه های شما اجرا نمی شوند. برای انجام این کار از دستور semanage استفاده کنید:
⦁ $ sudo semanage port -a -t http_port_t -p tcp 9002

⦁ $ sudo semanage port -a -t http_port_t -p tcp 9003

پرچم -a مشخص می کند که شما یک آبجکت را به بانک اطلاعاتی اضافه می کنید. پرچم -t نوع آبجکت را مشخص می کند ، که در این حالت http_port_t است. و پرچم -p پروتکل tcp را تعیین می کند. می توانید در این آموزش و یا با مراجعه به مطالب رسمی SELinux درباره SELinux و فرمان semanage اطلاعات بیشتری کسب کنید.
اکنون آماده شروع و فعال کردن خدمات PHP خود هستید. با سرویس rh-php70-php-fpm خود شروع کنید و آن را فعال کنید تا در بوت شروع شود:
⦁ $ sudo systemctl start rh-php70-php-fpm

⦁ $ sudo systemctl enable rh-php70-php-fpm

در مرحله بعدی ، وضعیت سرویس rh-php70-php-fpm خود را تأیید کنید:
⦁ $ sudo systemctl status rh-php70-php-fpm

خروجی مانند این را خواهید دید:
Output
● rh-php70-php-fpm.service – The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/rh-php70-php-fpm.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2020-04-18 04:49:59 UTC; 1min 6s ago
Main PID: 1852 (php-fpm)
Status: Processes active: 0, idle: 5, Requests: 0, slow: 0, Traffic: 0req/sec”
CGroup: /system.slice/rh-php70-php-fpm.service
├─1852 php-fpm: master process (/etc/opt/rh/rh-php70/php-fpm.conf)
├─1853 php-fpm: pool www
├─1854 php-fpm: pool www
├─1855 php-fpm: pool www
├─1856 php-fpm: pool www
└─1857 php-fpm: pool www

Apr 18 04:49:59 centos-s-1vcpu-1gb-blr1-01 systemd[1]: Starting The PHP FastCGI Process Manager…
Apr 18 04:49:59 centos-s-1vcpu-1gb-blr1-01 systemd[1]: Started The PHP FastCGI Process Manager.

با تکرار این فرایند ، سرویس rh-php72-php-fpm را راه اندازی کنید و آن را فعال کنید تا از بوت شروع شود:
⦁ $ sudo systemctl start rh-php72-php-fpm

⦁ $ sudo systemctl enable rh-php72-php-fpm

در مرحله بعد ، وضعیت سرویس rh-php72-php-fpm خود را تأیید کنید:
⦁ $ sudo systemctl status rh-php72-php-fpm

خروجی دیگری مانند این را مشاهده خواهید کرد:
Output
● rh-php72-php-fpm.service – The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/rh-php72-php-fpm.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2020-04-18 04:50:04 UTC; 1min 59s ago
Main PID: 1876 (php-fpm)
Status: Processes active: 0, idle: 5, Requests: 0, slow: 0, Traffic: 0req/sec”
CGroup: /system.slice/rh-php72-php-fpm.service
├─1876 php-fpm: master process (/etc/opt/rh/rh-php72/php-fpm.conf)
├─1877 php-fpm: pool www
├─1878 php-fpm: pool www
├─1879 php-fpm: pool www
├─1880 php-fpm: pool www
└─1881 php-fpm: pool www

Apr 18 04:50:04 centos-s-1vcpu-1gb-blr1-01 systemd[1]: Starting The PHP FastCGI Process Manager…
Apr 18 04:50:04 centos-s-1vcpu-1gb-blr1-01 systemd[1]: Started The PHP FastCGI Process Manager.

در این مرحله شما دو نسخه PHP را روی 

سرور خود نصب کرده اید. در مرحله بعد ، برای هر وب سایتی که می خواهید مستقر کنید ، یک ساختار دایرکتوری ایجاد خواهید کرد.
مرحله 2 – ایجاد ساختارهای دیرکتوری برای هر دو وب سایت
در این بخش یک دایرکتوری ریشه مستند و یک صفحه ایندکس برای هر یک از وب سایت ها ایجاد می کنید
ابتدا دایرکتوری های ریشه مستندات را برای هر دوی site1.your_domain و site2.your_domain ایجاد کنید:
⦁ $ sudo mkdir /var/www/site1.your_domain

⦁ $ sudo mkdir /var/www/site2.your_domain

به طور پیش فرض ، وب 

سرور Apache به عنوان یک کاربر Apache و یک گروه Apache اجرا می شود. بنابراین / var / www / و کلیه فایل ها و زیرشاخه های آن نیز باید متعلق به آنها باشد. دستورالعمل های زیر را برای تأیید صحت مالکیت و مجوزهای دیرکتوری های ریشه وب سایت خود اجرا کنید:
⦁ $ sudo chown -R apache:apache /var/www/site1.your_domain

⦁ $ sudo chown -R apache:apache /var/www/site2.your_domain

⦁ $ sudo chmod -R 755 /var/www/site1.your_domain

⦁ $ sudo chmod -R 755 /var/www/site2.your_domain

دستور chown مالکیت دو دایرکتوری وب سایت شما را به کاربر apache و گروه apache تغییر می دهد. دستور chmod مجوزهای مرتبط با آن کاربر و گروه و سایر افراد را تغییر می دهد.
در مرحله بعد یک فایل info.php را در هر فهرست ریشه وب سایت ایجاد خواهید کرد. با این کار اطلاعات نسخه PHP هر وب سایت نمایش داده می شود. با site1 شروع کنید:
⦁ $ sudo vi /var/www/site1.your_domain/info.php

خط زیر را اضافه کنید:
/var/www/site1.your_domain/info.php
<?php phpinfo(); ?>

فایل را ذخیره کنید و ببندید. اکنون فایل info.php که در site2 ایجاد کرده اید را کپی کنید:
⦁ $ sudo cp /var/www/site1.your_domain/info.php /var/www/site2.your_domain/info.php

سرور وب شما اکنون دارای دیرکتوری های ریشه مستند است که هر سایت برای ارائه داده ها به بازدید کنندگان به آن نیاز دارد. در مرحله بعدی ، وب 

سرور Apache خود را پیکربندی خواهید کرد تا با دو نسخه مختلف PHP کار کند.
مرحله 3 – پیکربندی Apache برای هر دو وب سایت
در این بخش دو فایل پیکربندی هاست مجازی ایجاد خواهید کرد. با این کار دو وب سایت شما قادر خواهند بود همزمان با دو نسخه مختلف PHP کار کنند.
برای اینکه Apache بتواند این محتوا را ارائه دهد ، باید یک فایل هاست مجازی با دستورالعمل های صحیح ایجاد کنید. شما دو فایل پیکربندی هاست مجازی جدید را درون دیرکتوری (/etc/httpd/conf.d/) ایجاد خواهید کرد.
ابتدا یک فایل پیکربندی هاست مجازی جدید برای وب سایت site1.your_domain ایجاد کنید. در اینجا Apache را برای ارائه محتوا با استفاده از PHP 7.0 هدایت می کنید:
⦁ $ sudo vi /etc/httpd/conf.d/site1.your_domain.conf

محتوای زیر را اضافه کنید. اطمینان حاصل کنید که مسیر فهردیرکتوریست وب سایت ، نام 

سرور ، پورت و نسخه PHP با تنظیمات شما مطابقت دارد:
/etc/httpd/conf.d/site1.your_domain.conf

<VirtualHost *:80>
ServerAdmin admin@site1.your_domain
ServerName site1.your_domain
DocumentRoot /var/www/site1.your_domain
DirectoryIndex info.php
SetHandler proxy:fcgi://127.0.0.1:9002
ScriptAlias /cgi-bin/ /var/www/cgi-bin/”
AddHandler php70-fcgi .php
Action php70-fcgi /cgi-bin/php70.fcgi
ErrorLog /var/log/httpd/site1.your_domain_error.log
CustomLog /var/log/httpd/site1.your_domain_access.log combined
</VirtualHost>

برای DocumentRoot مسیر دایرکتوری ریشه وب سایت خود را مشخص می کنید. برای ServerAdmin ایمیلی را اضافه می کنید که مدیر سایت your_domain بتواند به آن دسترسی پیدا کند. برای ServerName آدرس url زیر دامنه خود را اضافه می کنید. برای SetHandler پورت9002 را مشخص می کنید. دستورالعمل های باقیمانده نیز خدمات شما را برای پیاده سازی PHP 7.0 پیکربندی می کنند.
فایل را ذخیره کنید و ببندید.
در مرحله بعدی ، یک فایل پیکربندی هاست مجازی جدید برای وب سایت site2.your_domain ایجاد کنید. شما برای استقرار PHP 7.2 این زیر دامنه را مشخص می کنید:
⦁ $ sudo vi /etc/httpd/conf.d/site2.your_domain.conf

محتوای زیر را اضافه کنید. دوباره مطمئن شوید که مسیر دیرکتوری وب سایت ، نام 

سرور ، پورت و نسخه PHP با اطلاعات منحصر به فرد شما مطابقت دارد:
/etc/httpd/conf.d/site2.your_domain.conf
<VirtualHost *:80>
ServerAdmin admin@site2.your_domain
ServerName site2.your_domain
DocumentRoot /var/www/site2.your_domain
DirectoryIndex info.php
SetHandler proxy:fcgi://127.0.0.1:9003
ScriptAlias /cgi-bin/ /var/www/cgi-bin/”
AddHandler php72-fcgi .php
Action php72-fcgi /cgi-bin/php72.fcgi
ErrorLog /var/log/httpd/site2.your_domain_error.log
CustomLog /var/log/httpd/site2.your_domain_access.log combined
</VirtualHost>

پس از اتمام فایل را ذخیره کنید و ببندید. سپس فایل پیکربندی Apache را برای هرگونه خطای نحوی بررسی کنید:
⦁ sudo apachectl configtest

خروجی زیر را مشاهده خواهید کرد :
Output
⦁ Syntax OK

در آخر ، سرویس Apache را ریستارت کنید تا تغییرات خود را به اجرا درآورید:
⦁ $ sudo systemctl restart httpd

اکنون که Apache را برای سرویس دهی به هر سایت پیکربندی کرده اید ، آنها را آزمایش می کنید تا مطمئن شوید که نسخه های مناسب PHP در حال اجرا هستند.
مرحله 4 – آزمایش هر دو وب سایت
در این مرحله ، شما برای اجرای دو نسخه مختلف از PHP ، دو وب سایت پیکربندی کرده اید. حالا نتایج را آزمایش کنید.
مرورگر وب خود را باز کنید و از هر دو سایت http: //site1.your_domain و http: //site2.your_domain بازدید کنید. دو صفحه را مشاهده خواهید کرد که به شکل زیر است:

به عناوین توجه کنید. صفحه اول نشان می دهد که site1.your_domain نسخه 7.0 را مستقر کرده است. دومی نشان می دهد که site1.your_domain نسخه 7.2 را مستقر کرده است.
اکنون که سایت های خود را آزمایش کرده اید ، فایل های info.php را حذف کنید. از آنجا که آنها حاوی اطلاعات حساس در مورد 

سرور شما هستند و در دسترس کاربران غیرمجاز قرار میگیرند ، آسیب پذیری امنیتی ایجاد می کنند. فایل ها را حذف کنید:
⦁ $ sudo rm -rf /var/www/site1.your_domain/info.php

⦁ $ sudo rm -rf /var/www/site2.your_domain/info.php

اکنون یک 

سرور CentOS 7 واحد دارید که دو وب سایت با دو نسخه مختلف PHP را اداره می کند. با این حال PHP-FPM به این یک برنامه محدود نمی شود.
نتیجه
اکنون هاست های مجازی و PHP-FPM را برای ارائه خدمات به چندین وب سایت و نسخه های مختلف PHP در یک 

سرور واحد ترکیب کرده اید. تنها محدودیت عملی روی تعداد سایت های PHP و نسخه های PHP که سرویس Apache شما قادر به کنترل آن است ، قدرت پردازش نمونه شماست.
از اینجا شما ممکن است به کاوش در مورد ویژگی های پیشرفته تر PHP-FPM بپردازید ، مانند فرآیند spawning تطبیقی یا اینکه چگونه می تواند sdtout و stderr را وارد کند. اکنون می توانید وب سایت های خود را ایمن کنید. برای دستیابی به این هدف ، می توانید آموزش ما در مورد چگونگی تأمین امنیت سایتهای خود با مجوزهای رایگان TLS / SSL از Let’s Encrypt را دنبال کنید.

 

برچسب‌ها:,


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

سرور Nginx و نحوه پیکربندی 

سرور برای افزایش امنیت بحث خواهیم کرد.
توجه: در هنگام استفاده از نرم افزاری مانند phpMyAdmin ملاحظات امنیتی مهمی وجود دارد ، از آنجا که بر روی 

سرور پایگاه داده اجرا می شود ، با اعتبارات پایگاه داده در ارتباط است ، و کاربر را قادر می سازد تا به راحتی پرس و جوهای SQL دلخواه را در پایگاه داده شما اجرا کند. از آنجا که phpMyAdmin یک برنامه PHP با استقرار گسترده است ، اغلب مورد حمله قرار می گیرد. در این آموزش برخی اقدامات امنیتی که می توانید انجام دهید را مرور خواهیم کرد تا بتوانید تصمیماتی آگاهانه بگیرید.

پیش نیازها
قبل از شروع این راهنما ، به موارد زیر نیاز خواهید داشت:
• 

سرور Ubuntu 18.04 که دارای یک پشته LEMP (Linux ، Nginx ، MySQL و PHP) و ایمن شده با ufw باشد ، همانطور که در راهنمای تنظیم اولیه 

سرور برای اوبونتو 18.04 شرح داده شده است. اگر هنوز 

سرور خود را تنظیم نکرده اید ، می توانید راهنمای نصب پشته LEMP در اوبونتو 18.04 را دنبال کنید.
• دسترسی به این 

سرور به عنوان یک کاربر غیر ریشه با امتیازات sudo.
از آنجا که phpMyAdmin احراز هویت را با استفاده از اعتبار MySQL انجام می دهد ، توصیه می شود یک SSL / TLS نصب کنید تا بتوانید ترافیک رمزگذاری شده بین 

سرور و کلاینت را فعال کنید. اگر دامنه موجود که با گواهی معتبر پیکربندی شده باشد ندارید ، می توانید این راهنما را در مورد ایمن سازی Nginx با let’s Encrypt در Ubuntu 18.04 دنبال کنید.
هشدار: اگر گواهی SSL / TLS را روی 

سرور نصب نکرده اید و همچنان مایل به ادامه کار هستید ، لطفاً دسترسی از طریق تونل های SSH را همانطور که در مرحله 5 این راهنما توضیح داده شده است ، در نظر بگیرید.
هنگامی که این پیش نیازها را انجام دادید ، می توانید با ادامه این راهنما پیش بروید.
مرحله 1 – نصب phpMyAdmin
اولین کاری که باید انجام دهیم نصب phpMyAdmin روی 

سرور LEMP است. ما می خواهیم از مخازن پیش فرض اوبونتو برای رسیدن به این هدف استفاده کنیم.
بیایید با به روزرسانی فهرست بسته 

سرور با دستور زیر شروع کنیم:
⦁ $ sudo apt update

اکنون می توانید phpMyAdmin را با این دستور نصب کنید:
⦁ $ sudo apt install phpmyadmin

در طی مراحل نصب ، از شما خواسته می شود تا وب 

سرور (Apache یا Lighthttp) را برای پیکربندی انتخاب کنید. از آنجا که ما از Nginx به عنوان وب 

سرور استفاده می کنیم ، نباید اینجا انتخابی انجام دهیم. برای رفتن به مرحله بعدی ، tab را فشار داده و سپس OK را بزنید.
در مرحله بعد ، از شما خواسته می شود که برای پیکربندی پایگاه داده برنامه از dbconfig-common استفاده شود یا خیر. yes را انتخاب کنید. این کار پایگاه داده داخلی و کاربر admin را برای phpMyAdmin تنظیم می کند. از شما خواسته می شود رمز جدید را برای کاربر phpmyadmin MySQL تعریف کنید. همچنین می توانید آن را خالی بگذارید و به phpMyAdmin اجازه دهید بطور تصادفی یک رمز عبور ایجاد کند.
اکنون نصب تمام می شود. برای اینکه 

سرور وب Nginx به درستی فایلهای phpMyAdmin را پیدا و ارائه کند ، باید یک لینک نمادین از فایلهای نصب به دیرکتوری اصلی سند Nginx بسازیم:
⦁ $ sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

نصب phpMyAdmin شما اکنون عملیاتی است. برای دسترسی به رابط ، به نام دامنه یا آدرس IP عمومی 

سرور خود که پس از آن / phpmyadmin در مرورگر وب وجود دارد ، بروید:
https://server_domain_or_IP/phpmyadmin

همانطور که قبلاً نیز گفته شد ، phpMyAdmin با استفاده از اعتبار MySQL ، احراز هویت را کنترل می کند ، به این معنی که شما باید از همان نام کاربری و رمز عبوری که معمولاً برای اتصال به بانک اطلاعاتی از طریق کنسول یا از طریق API استفاده می کنید ، استفاده نمایید. اگر در ایجاد کاربران MySQL به کمک نیاز دارید ، این راهنما را در مورد نحوه مدیریت بانک اطلاعاتی SQL بررسی کنید.
توجه: ورود به سیستم phpMyAdmin به عنوان کاربر ریشه MySQL توصیه نمی شود زیرا خطرات امنیتی قابل توجهی را به همراه دارد. در مرحله بعدی این راهنما نحوه غیرفعال کردن ورود به سیستم ریشه را مشاهده خواهیم کرد.
نصب phpMyAdmin شما باید در این مرحله کاملاً عملی باشد. اما ، با نصب یک رابط وب ، 

سرور پایگاه داده MySQL خود را در معرض دنیای خارج قرار می دهیم. به دلیل محبوبیت phpMyAdmin و مقادیر زیادی از داده هایی که ممکن است به آنها دسترسی پیدا کند ، نصب های این چنینی ، اهداف متداول برای حملات هستند. در بخش های بعدی این راهنما ، چند روش مختلف را مشاهده خواهیم کرد که با استفاده از آن می توانیم نصب phpMyAdmin را ایمن تر کنیم.
مرحله 2 – تغییر موقعیت پیش فرض phpMyAdmin
یکی از اساسی ترین راه های محافظت از نصب phpMyAdmin ، دشوار نمودن دسترسی به آن است. رباتها مسیرهای متداول مانند phpmyadmin ، pma ، admin ، mysql و مواردی از این دست را اسکن می کنند. تغییر آدرس URL رابط از / phpmyadmin به چیزی غیر استاندارد ، اسکریپت های خودکار را برای پیدا کردن نصب و راه اندازی phpMyAdmin و تلاش برای حملات مخرب را دشوارتر می کند.
با نصب phpMyAdmin ، پیوندی نمادین ایجاد کرده ایم که به / usr / share / phpmyadmin اشاره دارد، جایی که فایل های برنامه واقعی قرار دارند. برای تغییر URL رابط phpMyAdmin ، این پیوند نمادین را تغییر نام خواهیم داد.
ابتدا ، اجازه دهید به دیرکتوری اصلی سند Nginx برویم و لیست فایل هایی که در آن قرار دارد را فهرست کنیم تا درک بهتری از تغییراتی که ایجاد خواهیم کرد داشته باشیم:
⦁ $ cd /var/www/html/

⦁ $ ls -l
خروجی زیر را دریافت خواهید کرد:
Output
total 8
-rw-r–r– 1 root root 612 Apr 8 13:30 index.nginx-debian.html
lrwxrwxrwx 1 root root 21 Apr 8 15:36 phpmyadmin -> /usr/share/phpmyadmin

خروجی نشان می دهد که ما یک لینک نمادین به نام phpmyadmin در این دیرکتوری داریم. می توانیم این نام پیوند را به هر آنچه دوست داریم تغییر دهیم. که به نوبه خود URL دسترسی phpMyAdmin را تغییر می دهد ، و می تواند به پنهان کردن نقطه انتهایی از دسترس رباتهای رمزگذاری شده برای جستجوی نام نقاط پایانی معمول کمک کند.
نامی را انتخاب کنید که هدف نقطه پایانی را مبهم کند. در این راهنما ، نقطه پایانی را /nothingtosee می نامیم ، اما شما باید یک نام جایگزین انتخاب کنید. برای انجام این کار ، پیوند را تغییر نام می دهیم:
⦁ $ sudo mv phpmyadmin nothingtosee

⦁ $ ls -l

پس از اجرای دستورات فوق ، این خروجی را دریافت خواهید کرد:
Output
total 8
-rw-r–r– 1 root root 612 Apr 8 13:30 index.nginx-debian.html
lrwxrwxrwx 1 root root 21 Apr 8 15:36 nothingtosee -> /usr/share/phpmyadmin

اکنون ، اگر به URL قدیمی بروید ، خطای 404 را دریافت خواهید کرد:
https://server_domain_or_IP/phpmyadmin

رابط phpMyAdmin شما اکنون با URL جدیدی که تازه پیکربندی کرده ایم در دسترس خواهد بود:
https://server_domain_or_IP/nothingtosee

با ایجاد موقعیت واقعی phpMyAdmin در 

سرور ، رابط کاربری آن را در برابر اسکن خودکار و حملات دستی محافظت می کنید.
مرحله 3 – غیرفعال کردن ورود به عنوان ریشه
در MySQL و همچنین در سیستم های معمول لینوکس ، حساب اصلی یک حساب کاربری ویژه با دسترسی نامحدود به سیستم است. علاوه بر اینکه یک حساب ممتاز است ، یک نام ورود به سیستم شناخته شده است ، و آن را به یک هدف آشکار برای حملات مخرب تبدیل می کند. برای به حداقل رساندن خطرات ، phpMyAdmin را به گونه ای پیکربندی می کنیم تا هرگونه تلاش برای ورود به سیستم از سوی کاربر ریشه را رد کنیم. به این ترتیب ، حتی اگر اعتبارات معتبری برای ریشه کاربر ارائه دهید ، باز هم یک خطای ” access denied ” دریافت خواهید کرد و مجاز به ورود به سیستم نخواهید بود.
از آنجا که ما برای پیکربندی و ذخیره تنظیمات phpMyAdmin از dbconfig-common استفاده کردیم ، پیکربندی پیش فرض در حال حاضر در بانک اطلاعاتی ذخیره می شود. برای تعریف تنظیمات سفارشی باید یک فایل config.inc.php جدید ایجاد کنیم.
حتی اگر فایلهای PHP برای phpMyAdmin در داخل / usr / share / phpmyadmin قرار داشته باشند ، برنامه از فایلهای پیکربندی مستقر در / etc / phpmyadmin استفاده می کند. یک فایل تنظیمات سفارشی جدید را در داخل /etc/phpmyadmin/conf.d ایجاد خواهیم کرد و نام آن را pma_secure.php مینامیم:
⦁ $ sudo nano /etc/phpmyadmin/conf.d/pma_secure.php

فایل پیکربندی زیر شامل تنظیمات لازم برای غیرفعال کردن ورودهای بدون رمز (AllowNoPassword روی false تنظیم شده است) و ورود ریشه به سیستم است (AllowRoot روی false تنظیم شده است):
/etc/phpmyadmin/conf.d/pma_secure.php
<?php

# PhpMyAdmin Settings
# This should be set to a random string of at least 32 chars
$cfg[‘blowfish_secret’] = ‘3!#32@3sa(+=_4?),5XP_:U%%8\34sdfSdg43yH#{o’;

$i=0;
$i++;

$cfg[‘Servers’][$i][‘auth_type’] = ‘cookie’;
$cfg[‘Servers’][$i][‘AllowNoPassword’] = false;
$cfg[‘Servers’][$i][‘AllowRoot’] = false;

?>

پس از ویرایش فایل ، با فشار دادن CTRL + X سپس y ، تغییرات را تأیید کنید و ENTER را بزنید. تغییرات بطور خودکار اعمال می شوند. اگر اکنون صفحه ورود را مجدد لود کنید و سعی کنید به عنوان root وارد شوید ، یک خطای Access Denied دریافت خواهید کرد:

اکنون ورود به سیستم به عنوان ریشه در نصب phpMyAdmin شما ممنوع است. این اقدامات امنیتی باعث می شود جلوی اسکریپت های مخرب در تلاش برای حدس زدن رمزعبور پایگاه داده اصلی روی 

سرور شما گرفته شود. علاوه بر این ، استفاده از حسابهای MySQL با امتیازات کمتر را برای دسترسی به رابط وب phpMyAdmin اعمال می کند ، که به خودی خود یک روش مهم امنیتی است.
مرحله 4 – ایجاد یک دروازه احراز هویت
پنهان کردن نصب phpMyAdmin در یک مکان غیرمعمول ممکن است برخی از ربات های خودکار را که در حال اسکن شبکه هستند ، گمراه کند ، اما در برابر حملات هدفمند بی فایده است. برای محافظت بهتر از یک برنامه وب با دسترسی محدود ، به طور کلی متوقف کردن مهاجمان قبل از اینکه حتی بتوانند به برنامه دسترسی پیدا کنند، مفیدتر است. به این ترتیب ، آنها نمی توانند از سوء استفاده های عمومی و حملات مخرب برای حدس زدن اعتبارات دسترسی استفاده کنند.
در مورد خاص phpMyAdmin ، محفوظ نگه داشتن رابط ورود به سیستم حتی مهمتر نیز هست. با در دسترس نگه داشتن آن به صورت جهانی ، یک بستر آماده برای مهاجمین ارائه می دهید تا اعتبارات بانک اطلاعاتی شما را حدس بزنند.
افزودن یک لایه اضافی تأیید اعتبار به نصب phpMyAdmin شما را قادر می سازد امنیت را افزایش دهید. کاربران باید قبل از دیدن صفحه ورود به سایت phpMyAdmin از اعلان تأیید هویت HTTP عبور کنند. اکثر 

سرور های وب ، از جمله Nginx ، این قابلیت را به صورت بومی ارائه می دهند.
برای انجام این کار ، ابتدا باید یک فایل رمز عبور برای ذخیره اعتبارات تأیید ایجاد کنیم. Nginx مستم رمزگذاری پسوردها با استفاده از تابع crypt () است. مجموعه OpenSSL ، که باید از قبل روی 

سرور شما نصب باشد ، این قابلیت را دارد.
برای ایجاد پسورد رمزگذاری شده ، این دستور را تایپ کنید:
⦁ $ openssl passwd

از شما خواسته می شود رمز عبوری را که می خواهید استفاده کنید وارد کنید و آن را تأیید نمایید. سپس این ابزار نسخه رمزگذاری شده رمزعبور را نمایش می دهد که چیزی شبیه به این خواهد بود:
Output
O5az.RSPzd.HE
این عبارت را کپی کنید ، زیرا لازم است که آن را در فایل تأیید اعتبار مورد استفاده قرار دهید.
اکنون ، یک فایل تأیید اعتبار ایجاد کنید. ما این فایل را pma_pass می نامیم و آن را در دیرکتوری تنظیمات Nginx قرار می دهیم:
⦁ $ sudo nano /etc/nginx/pma_pass

در این فایل ، نام کاربری مورد نظر خود را مشخص می کنید و به دنبال آن یک کولون (:) و سپس نسخه رمزگذاری شده پسورد را که از برنامه Openwl passwd دریافت کرده اید ، قرار دهید.
ما میخواهیم نام کاربر خود را Sammy قرار دهیم ، اما شما باید نام کاربری دیگری را انتخاب کنید. فایل باید به صورت زیر باشد:
/etc/nginx/pma_pass
sammy:O5az.RSPzd.HE
پس از انجام این کار ، فایل را ذخیره کنید و ببندید.
اکنون ما آماده اصلاح فایل پیکربندی Nginx هستیم. برای این راهنما ، از فایل پیکربندی واقع در /etc/nginx/sites-available/example.com استفاده خواهیم کرد. شما باید از فایل پیکربندی مربوط به Nginx برای مکان وب استفاده کنید که phpMyAdmin در حال حاضر میزبان آن است. این فایل را در ویرایشگر متن خود باز کنید تا کار را شروع کنید:
⦁ $ sudo nano /etc/nginx/sites-available/example.com

بلوک 

سرور و بخش location / را در آن قرار دهید. برای مطابقت با مسیر فعلی phpMyAdmin در 

سرور ، باید یک بخش location جدید در این بلوک ایجاد کنیم. در این راهنما ، مکان phpMyAdmin نسبت به ریشه وب /nothingtosee است:
/etc/nginx/sites-available/default
server {
. . .

location / {
try_files $uri $uri/ =404;
}

location /nothingtosee {
# Settings for phpMyAdmin will go here
}

. . .
}

در این بلوک ، باید دو دستورالعمل مختلف را تنظیم کنیم: auth_basic ، که پیامی را که در اعلان تأیید نمایش داده می شود معرفی میکند، و auth_basic_user_file ، که به فایلی که ایجاد کردیم ، اشاره می کند. فایل پیکربندی شما پس از اتمام اینگونه به نظر می رسد:
/etc/nginx/sites-available/default
server {
. . .

location /nothingtosee {
auth_basic Admin Login”;
auth_basic_user_file /etc/nginx/pma_pass;
}

. . .
}

سپس ، فایل را ذخیره کنید و ببندید. برای بررسی صحت فایل پیکربندی ، می توانید این دستور را اجرا کنید:
⦁ $ sudo nginx -t

خروجی زیر پیش بینی می شود:
Output
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

برای فعال کردن دروازه احراز هویت جدید ، باید 

سرور وب را مجدد لود کنید:
⦁ $ sudo systemctl reload nginx

حال اگر از URL phpMyAdmin در مرورگر وب خود بازدید می کنید ، نام کاربری و رمز عبوری که به فایل pma_pass اضافه کرده اید ، از شما خواسته میشود:
https://server_domain_or_IP/nothingtosee

هنگامی که اعتبارات خود را وارد کردید ، به صفحه استاندارد ورود به سیستم phpMyAdmin منتقل می شوید.
توجه: اگر ریفرش صفحه کار نمی کند ، ممکن است مجبور شوید حافظه نهان خود را پاک کنید یا اگر قبلاً از phpMyAdmin استفاده کرده اید ، از یک مرورگر دیگر استفاده کنید.
این دروازه علاوه بر فراهم کردن یک لایه امنیتی بیشتر ، به حفظ فایل های MySQL در برابر تلاش برای تأیید اعتبارات Spammy کمک می کند.
مرحله 5 – تنظیم دسترسی از طریق تونل های رمزگذاری شده (اختیاری)
برای افزایش امنیت ، میتوان نصب phpMyAdmin را فقط برای هاست های مجاز قفل نکرد. می توانید هاست های مجاز را در فایل تنظیمات Nginx خود لیست کنید تا هرگونه درخواست از آدرس IP که در لیست موجود نیست ، رد شود.
حتی اگر این ویژگی در برخی موارد استفاده کافی باشد ، همیشه بهترین راه حل طولانی مدتی نیست ، عمدتا به این دلیل که اکثر افراد از آدرس های IP ایستا به اینترنت دسترسی ندارند. به محض دریافت یک آدرس IP جدید از Internet provider خود ، نمی توانید به رابط phpMyAdmin دسترسی پیدا کنید تا زمانی که فایل پیکربندی Nginx را با آدرس IP جدید خود به روز کنید.
برای یک راه حل طولانی مدت قوی تر ، می توانید از کنترل دسترسی مبتنی بر IP استفاده کنید تا تنظیماتی را ایجاد کنید که در آن کاربران فقط در صورت دسترسی به یک آدرس IP مجاز یا محلی از طریق تونل سازی SSH به رابط phpMyAdmin شما دسترسی داشته باشند. در بخش های زیر خواهیم دید که چگونه این کار را انجام دهیم.
ترکیب کنترل دسترسی مبتنی بر IP با تونل SSH امنیت را به شدت افزایش می دهد زیرا دسترسی از طریق اینترنت عمومی (به جز IP های مجاز) را کاملاً مسدود می کند و علاوه بر این کانال ایمن بین کاربر و 

سروراز طریق تونل های رمزگذاری شده فراهم میکند.
تنظیم کنترل دسترسی مبتنی بر IP در Nginx
در Nginx ، کنترل دسترسی مبتنی بر IP را می توان در بلوک location مربوطه یک سایت معین ، با استفاده از بخشنامه های allow و deny تعریف کرد. به عنوان مثال ، اگر فقط می خواهیم درخواست هایی را از یک هاست معین دریافت کنیم ، باید دو خط زیر را در این قسمت ، داخل بلوک location مربوطه برای سایت قرار دهیم که می خواهیم از آن محافظت کنیم:
allow hostname_or_IP;
deny all;

شما می توانید هر تعداد هاست که می خواهید اجازه دهید ، فقط باید یک خط allow برای هر هاست / IP مجاز در داخل بلوک location مربوطه برای سایتی که از آن محافظت می کنید درج کنید. دستورالعملها به همان ترتیبی که ذکر شده اند ارزیابی می شوند ، تا زمانی که تطابق پیدا شود یا درخواست به دلیل deny all رد شود.
اکنون Nginx را پیکربندی خواهیم کرد تا فقط به درخواستهایی که از localhost یا آدرس IP فعلی شما آمده اند اجازه ورود دهیم. ابتدا ، باید آدرس IP فعلی عمومی را که دستگاه محلی شما برای اتصال به اینترنت استفاده می کند ، بدانید. روش های مختلفی برای به دست آوردن این اطلاعات وجود دارد. برای سادگی ، می خواهیم از خدمات ارائه شده توسط ipinfo.io استفاده کنیم. می توانید URL https://ipinfo.io/ip را در مرورگر خود باز کنید ، یا دستور زیر را از دستگاه محلی خود اجرا کنید:
⦁ $ curl https://ipinfo.io/ip

باید یک آدرس IP ساده به عنوان خروجی دریافت کنید ، مانند این:
Output
203.0.113.111

این آدرس IP عمومی فعلی شما است. ما بلوک موقعیت مکانی phpMyAdmin را پیکربندی خواهیم کرد تا فقط به درخواستهایی که از آن IP می آیند ، علاوه بر localhost ، اجازه دهیم. باید بار دیگر پیکربندی phpMyAdmin را در داخل /etc/nginx/sites-available/example.com ویرایش کنیم.
فایل پیکربندی Nginx را با استفاده از ویرایشگر خط فرمان مورد نظر خود باز کنید:
⦁ $ sudo nano /etc/nginx/sites-available/example.com

از آنجا که از قبل یک قانون دسترسی در پیکربندی فعلی خود داریم ، باید آن را با کنترل دسترسی مبتنی بر IP ترکیب کنیم و از دستور satisfy all استفاده نماییم. به این ترتیب ، می توانیم تأیید هویت فعلی HTTP را برای افزایش امنیت سریع انجام دهیم.
به این ترتیب پیکربندی phpMyAdmin Nginx شما پس از انجام ویرایش اینگونه به نظر می رسد:
/etc/nginx/sites-available/example.com
server {
. . .

location /nothingtosee {
satisfy all; #requires both conditions

allow 203.0.113.111; #allow your IP
allow 127.0.0.1; #allow localhost via SSH tunnels
deny all; #deny all other sources

auth_basic Admin Login”;
auth_basic_user_file /etc/nginx/pma_pass;
}

. . .
}

به یاد داشته باشید که nothingtosee را با مسیر واقعی جایی که phpMyAdmin در آن قرار دارد ، و آدرس IP هایلایت شده را با آدرس IP عمومی فعلی خود جایگزین کنید.
هنگام کار ، فایل را ذخیره کنید و ببندید. برای بررسی صحت فایل پیکربندی ، می توانید این دستور را اجرا کنید:
⦁ $ sudo nginx -t

خروجی زیر پیش بینی می شود:
Output
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

اکنون 

سرور وب را مجدد لود کنید تا تغییرات اعمال شوند:
⦁ $ sudo systemctl reload nginx

از آنجا که آدرس IP شما صریحاً به عنوان هاست مجاز ذکر شده است ، دسترسی شما نباید مختل شود. هر کس دیگری که سعی در دسترسی به نصب phpMyAdmin داشته باشد، یک خطای 403 (ممنوعه) دریافت میکند:
https://server_domain_or_IP/nothingtosee

در بخش بعدی ، نحوه استفاده از تونل SSH برای دسترسی به 

سرور وب را از طریق درخواست های محلی خواهیم دید. به این ترتیب ، شما حتی می توانید آدرس IP خود را تغییر دهید و به رابط phpMyAdmin دسترسی پیدا کنید.
دسترسی به phpMyAdmin از طریق یک تونل رمزگذاری شده
تونل زنی SSH به عنوان روشی جهت هدایت ترافیک شبکه از طریق کانال های رمزگذاری شده کار می کند. با اجرای یک دستور ssh مشابه آنچه برای ورود به 

سرور استفاده می کنید ، می توانید یک تونل” ایمن بین دستگاه محلی و آن 

سرور ایجاد کنید. همه ترافیک هایی که وارد یک پورت محلی خاص میشوند، می توانند از طریق تونل رمزگذاری شده هدایت شوند و قبل از دسترسی به اینترنت ، از 

سرور راه دور به عنوان یک پروکسی استفاده کنند. مشابه چیزی است که هنگام استفاده از VPN (شبکه خصوصی مجازی) اتفاق می افتد ، با این حال تنظیم تونل SSH بسیار ساده تر است.
ما از تونل سازی SSH استفاده خواهیم کرد تا درخواستهای خود را به 

سرور وب از راه دور که phpMyAdmin را اجرا می کند ، پروکسی کنیم. با ایجاد یک تونل بین دستگاه محلی و 

سرور که phpMyAdmin در آن نصب شده است ، می توانید درخواست های محلی را به 

سرور وب از راه دور هدایت کنید ، و مهمتر از همه ، ترافیک رمزگذاری می شود و درخواست ها به Nginx می رسند انگار که از localhost می آیند. به این ترتیب ، مهم نیست که از چه آدرس IP به آن وصل شوید ، می توانید به طور ایمن به رابط phpMyAdmin دسترسی پیدا کنید.
از آنجا که ترافیک بین دستگاه محلی شما و 

سرور وب از راه دور رمزگذاری می شود ، این گزینه جایگزین مناسبی برای موقعیت هایی است که نمی توانید گواهی SSL / TLS را در 

سرور وبی نصب کنید که دارای phpMyAdmin است.
از دستگاه محلی خود ، این دستور را هر زمان که نیاز به دسترسی به phpMyAdmin داشتید، اجرا کنید:
بگذارید هر بخش از دستور را بررسی کنیم:
⦁ ssh user@server_domain_or_IP -L 8000:localhost:80 -L 8443:localhost:443 -N

⦁ user: کاربر SSH برای اتصال به 

سرور ی که phpMyAdmin در آن کار می کند
⦁ hostname_or_IP: هاست SSH که phpMyAdmin در آن اجرا می شود
⦁ -L 8000: localhost: 80 مسیر HTTP را در پورت 8000 تغییر مسیر می دهد
⦁ -L 8443: localhost: 443 مسیر ترافیک HTTPS در پورت 8443 را تغییر میدهد
⦁ -N: دستورات از راه دور را اجرا نمی کند
توجه: این دستور تا زمانی که با CTRL + C قطع نشود ، ترمینال را مسدود می کند ، در این صورت اتصال SSH پایان می یابد و تغییر مسیر بسته را متوقف می کند. اگر ترجیح می دهید این دستور را در حالت پس زمینه اجرا کنید ، می توانید از گزینه –f SSH استفاده کنید.

اکنون به مرورگر خود بروید و server_domain_or_IP را با localhost:PORT جایگزین کنید، جایی که PORT برای HTTP ، 8000 و برای HTTPS، 8443 است:
http://localhost:8000/nothingtosee
https://localhost:443/nothingtosee

توجه: اگر از طریق https به phpMyAdmin دسترسی دارید ، ممکن است یک پیام هشدار دریافت کنید که امنیت گواهی SSL را سؤال می کند. این اتفاق به این دلیل است که نام دامنه ای که شما در آن استفاده می کنید (localhost) با آدرس ثبت شده در گواهی نامه (دامنه ای که phpMyAdmin در واقع در آن ارائه می شود) مطابقت ندارد. در این صورت ادامه کار بی خطر خواهد بود.

اکنون همه درخواست های localhost: 8000 (HTTP) و localhost: 8443 (HTTPS) از طریق یک تونل امن به برنامه راه دور phpMyAdmin خود هدایت می شوند. نه تنها با غیرفعال کردن دسترسی عمومی به phpMyAdmin ، امنیت را افزایش داده اید ، بلکه با استفاده از یک تونل رمزگذاری شده برای ارسال و دریافت داده ، از تمام ترافیک بین رایانه محلی و 

سرور از راه دور نیز محافظت می کنید.
اگر می خواهید استفاده از تونل زنی SSH را برای هرکسی که می خواهد به رابط phpMyAdmin شما (از جمله خودتان) دسترسی داشته باشد ، اعمال کنید ، می توانید با حذف سایر IPهای مجاز دیگر از فایل پیکربندی Nginx این کار را انجام دهید و 127.0.0.1 را به عنوان تنها هاست مجاز برای دسترسی به آن لوکیشن در نظر بگیرید. با توجه به اینکه هیچ کس قادر به درخواست مستقیم به phpMyAdmin نیست ، می توانید تأیید هویت HTTP را برای ساده سازی ستاپ خود حذف کنید. فایل پیکربندی شما در چنین سناریویی این گونه خواهد بود:
/etc/nginx/sites-available/example.com
server {
. . .

location /nothingtosee {
allow 127.0.0.1; #allow localhost only
deny all; #deny all other sources
}

. . .
}

هنگامی که پیکربندی Nginx را با sudo systemctl reload nginx مجدد لود کنید ، نصب phpMyAdmin شما قفل می شود و کاربران برای دسترسی به رابط phpMyAdmin از طریق درخواست های هدایت شده ، باید از تونل های SSH استفاده کنند.
نتیجه
در این آموزش ، ما شاهد نحوه نصب phpMyAdmin در Ubuntu 18.04 در حال اجرای Nginx به عنوان 

سرور وب بودیم. همچنین روشهای پیشرفته ای را برای تأمین امنیت نصب phpMyAdmin در اوبونتو ، مانند غیرفعال کردن ورود کاربر ریشه به سیستم ، ایجاد یک لایه بیشتر تأیید اعتبار ، و استفاده از تونل SSH برای دسترسی به نصب phpMyAdmin فقط از طریق درخواست های محلی را پوشش داده ایم.
پس از اتمام این آموزش ، باید بتوانید پایگاه داده MySQL خود را از یک رابط وب ایمن مدیریت کنید. این رابط کاربری بیشتر عملکردهای موجود از طریق خط فرمان MySQL را در معرض دید شما قرار می دهد. می توانید پایگاه های داده و شماتیک را بررسی کنید ، پرس و جوها را اجرا کنید و مجموعه ها و ساختارهای جدید داده ایجاد کنید.

 

 

 

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

پارامترهای پیش فرض در جاوا اسکریپت  –  

اجرای چندین نسخه PHP بر روی یک سرور Debian 10

نحوه راه اندازی یک پروژه React با برنامه React – 

نصب و ایمن سازی phpMyAdmin در اوبونتو 18

پیکربندی یک تایید اعتبار مجاز(CA) در CentOS 8  –  

تنظیم برنامه Node.js برای تولید در CentOS 7

نصب MariaDB در اوبونتو 18.04  – 

 ایمن کردن Apache با Let’s Encrypt در Debian 10

نحوه نصب Node.js در CentOS 8  –  

بازنویسی URL را با mod_rewrite برای Apache در Debian 10

راه اندازی فایروال با استفاده از firewalld در CentOS 8  –  

نصب وب سرور Apache در Debian 10

اضافه کردن و حذف کاربران در CentOS 8 –  

نصب Apache Tomcat 9 در Debian 10

نصب و استفاده از PostgreSQL در CentOS 8  –  

راه اندازی سرور اولیه با Debian 10

نصب MariaDB در CentOS 8  –  

چگونه با JSX عناصر واقعی ایجاد کنیم

نصب و پیکربندی VNC در Debian 10  –  

استفاده از سرور از راه دور Docker

نصب و ایمن سازی Grafana در اوبونتو 18  –  

نحوه نصب Git در CentOS 8

نصب Git در Debian 10 –  

نصب و پیکربندی Zabbix برای ردیابی ایمن سرورهای

نحوه نصب Node.js در Debian 10  –  

نصب وب سرور Apache در CentOS 7

نحوه نصب Webmin در Debian 10  –  

نصب و پیکربندی Zabbix برای ردیابی ایمن سرور

نصب وردپرس با بانک اطلاعاتی در اوبونتو  – 

ساخت و استقرار سرور GraphQL با Node.js و MongoDB

نصب پایتون 3 و تنظیم نویسی محلی macOS  – 

نصب و ایمن سازی phpMyAdmin با Nginx در سرور

نصب Nagios 4 و نظارت بر سرور اوبونتو 18  –  

نصب Python 3 و تنظیم یک محیط برنامه نویسی

نحوه نصب R بر روی Debian 10  –  

راه اندازی سرور Prisma روی اوبونتو 18.04

نصب و پیکربندی Laravel با LEMP در اوبونتو 18  –  

نصب و پیکربندی pgAdmin 4 در Server Mode

نصب Python 3 و تنظیم برنامه نویسی CentOS 8 – 

نصب Jitsi Meet در Ubuntu 18.04

 

 

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

خرید vps – 

خرید سرور مجازی – 

خرید سرور – 

سرور هلند – 

فروش vps – 

سرور مجازی آمریکا – 

خریدvps – 

سرور مجازی هلند – 

فروش سرور مجازی – 

سرور آمریکا – 

vps – 

سرور مجازی انگلیس – 

سرور مجازی آلمان – 

سرور مجازی کانادا – 

خرید vps آمریکا – 

خرید وی پی اس – 

سرور – 

خرید سرور مجازی هلند – 

vps خرید – 

سرور مجازی فرانسه – 

سرور مجازی هلند – 

خرید vps آمریکا – 

خرید سرور مجازی ارزان هلند – 

vps – 

خرید vps هلند – 

خرید سرور مجازی آمریکا – 

خرید vps فرانسه – 

تست vps – 

سرور مجازی تست – 

سرور مجازی ویندوز – 

ارزانترین vps – 

خرید وی پی اس – 

vps ارزان – 

 

برچسب‌ها:


پایتون یک زبان برنامه نویسی انعطاف پذیر و همه کاره است که می تواند در بسیاری از موارد به خاطر داشتن نقاط قوت در اسکریپت ، اتوماسیون ، تجزیه و تحلیل داده ها ، یادگیری ماشین و توسعه back-end مورد استفاده قرار گیرد. تیم توسعه پایتون برای اولین بار در سال 1991 با نامی الهام گرفته از گروه طنز بریتانیایی مونتی پایتون، آن را منتشر کردند و میخواستند پایتون را به زبانی تبدیل کنند که استفاده از آن بسیار جالب باشد. ستاپ سریع و سبک نسبتاً ساده و بازخورد فوری در مورد خطاها، پایتون را به یک انتخاب عالی برای مبتدیان و توسعه دهندگان با تجربه تبدیل کرده است. پایتون 3 جدیدترین نسخه این زبان است و آینده پایتون به حساب می آید.
در این آموزش 

سرور مجازی Ubuntu 18.04 شما با یک محیط برنامه نویسی Python 3 تنظیم می شود. برنامه نویسی روی 

سرور مجازی مزایای بسیاری دارد و از همکاری در پروژه های توسعه پشتیبانی می کند. اصول کلی این آموزش در مورد هرگونه توزیع Debian Linux کاربرد دارد.
پیش نیازها
برای تکمیل این آموزش ، باید یک کاربر غیر root با امتیازات sudo در 

سرور مجازی Ubuntu 18.04 داشته باشید. برای یادگیری چگونگی دستیابی به این تنظیمات ، راهنمای راه اندازی 

سرور مجازی اولیه ما را دنبال کنید یا اسکریپت خودکار خود را اجرا کنید.
اگر از قبل با محیط ترمینال آشنایی ندارید ، می توانید مقاله مقدمه ای بر ترمینال لینوکس” را برای کارکردن بهتر با ترمینال بخوانید.
با راه اندازی 

سرور مجازی و کاربر ، آماده شروع کار هستید.
مرحله 1 – تنظیم پایتون 3
اوبونتو 18.04 و سایر نسخه های دبیان لینوکس هم Python 3 و هم Python 2 را از قبل نصب شده دارند. برای اطمینان از به روز بودن نسخه های خود ، بیایید سیستم را با دستور apt به روزرسانی کنیم تا با ابزار بسته بندی پیشرفته اوبونتو کار کند:
$ sudo apt update

$ sudo apt -y upgrade
پرچم -y تأیید خواهد کرد که ما موافق نصب همه موارد هستیم ، اما بسته به نسخه لینوکس شما ، ممکن است لازم باشد که در به روزرسانی و ارتقای سیستم ، اعلان های بیشتری را تأیید کنید.
پس از اتمام روند ، می توانیم با تایپ کردن دستور زیر، نسخه پایتون 3 که در سیستم نصب شده است را بررسی کنیم:
$ python3 -V

در پنجره ترمینال، خروجی دریافت خواهید کرد که شماره نسخه را به شما اطلاع می دهد. در حالی که ممکن است این عدد متفاوت باشد ، خروجی مشابه این خواهد بود:
Output
Python 3.6.7

برای مدیریت بسته های نرم افزاری برای پایتون ، بیایید pip را نصب کنیم ، ابزاری که بسته های برنامه نویسی را که ممکن است بخواهیم در پروژه های توسعه خود استفاده کنیم ، نصب و مدیریت خواهد کرد. می توانید با خواندن مقاله چگونگی وارد کردن ماژول ها در پایتون 3” در مورد ماژول ها یا بسته هایی که می توانید آنها را نصب کنید اطلاعات کسب کنید.
$ sudo apt install -y python3-pip

بسته های پایتون با تایپ دستور زیر قابل نصب هستند:
$ pip3 install package_name

در اینجا ، pack_name می تواند به هر بسته یا کتابخانه Python مانند Django برای توسعه وب یا NumPy برای محاسبات علمی مراجعه کند. بنابراین اگر می خواهید NumPy را نصب کنید ، می توانید با دستور pip3 install numpy این کار را انجام دهید.
چند بسته و ابزار توسعه دیگر وجود دارد که باید اطمینان حاصل شود که یک مجموعه قوی برای محیط برنامه نویسی خود داریم:
$ sudo apt install build-essential libssl-dev libffi-dev python3-dev

پس از راه اندازی پایتون و نصب pip و سایر ابزارها ، می توانیم یک محیط مجازی برای پروژه های توسعه خود تنظیم کنیم.
مرحله 2 – تنظیم یک محیط مجازی
محیط های مجازی شما را قادر می سازد برای پروژه های پایتون فضایی مجزا در 

سرور مجازی خود داشته باشید ، اطمینان حاصل کنید که هر یک از پروژه های شما می توانند مجموعه ای از متعلقات خاص خود را داشته باشند که هیچ یک از پروژه های دیگر شما را مختل نمی کند.
تنظیم یک محیط برنامه نویسی ، کنترل بیشتری بر روی پروژه های Python و نحوه دستیابی به نسخه های مختلف بسته ها برای ما فراهم می کند. این امر به ویژه هنگام کار با بسته های شخص ثالث بسیار مهم است.
می توانید همانطور که می خواهید محیط برنامه نویسی Python را تنظیم کنید. هر محیط در واقع یک دیرکتوری یا پوشه ای در 

سرور مجازی شماست که چندین اسکریپت در آن وجود دارد تا بتواند به عنوان یک محیط عمل کند.
در حالی که چند روش برای دستیابی به یک محیط برنامه نویسی در پایتون وجود دارد ، ما در اینجا از ماژول venv استفاده می کنیم که بخشی از کتابخانه استاندارد Python 3 است. بگذارید venv را با تایپ کردن دستور زیر نصب کنیم:
$ sudo apt install -y python3-venv

با نصب آن، آماده ایجاد محیط هستیم. بیایید انتخاب کنیم که می خواهیم محیط های برنامه نویسی پایتون را در کدام دایرکتوری قرار دهیم ، یا یک دیرکتوری جدید با mkdir ایجاد کنیم ، مانند:
$ mkdir environments

$ cd environments
وقتی در دایرکتوری قرار گرفتید که میخواهید محیط در آنجا قرار گیرد ، می توانید با اجرای دستور زیر محیطی ایجاد کنید:
$ python3.6 -m venv my_env

در اصل ، pyvenv یک دیرکتوری جدید ایجاد می کند که شامل چند مورد است که می توانیم با دستور ls آنها را مشاهده کنیم:
$ ls my_env

Output
bin include lib lib64 pyvenv.cfg share

این فایلها با هم کار می کنند تا اطمینان حاصل کنند که پروژه های شما از بستر وسیع تر دستگاه محلی تان جدا شده اند ، به گونه ای که فایل های سیستم و فایل های پروژه مخلوط نشوند. این روش خوبی برای کنترل نسخه و اطمینان از دسترسی هر یک از پروژه های شما به بسته های خاص مورد نیاز خود است. Python Wheels ، یک فرمت بسته ای ساخته شده برای Python است که می تواند با کاهش تعداد دفعات لازم برای تهیه کامپایل ، سرعت تولید نرم افزار شما را بالا ببرد و در دایرکتوری share Ubuntu 18.04 قرار خواهد گرفت.
برای استفاده از این محیط ، باید آن را فعال کنید ، که می توانید با تایپ دستور زیر که اسکریپت فعال سازی را فراخوانی می کند به آن دست پیدا کنید:
$ source my_env/bin/activate

خط فرمان شما اکنون با نام محیط شما پیشوند داده می شود ، در این حالت my_env نام دارد. بسته به اینکه کدام نسخه Debian Linux در حال اجرا است ، پیشوند شما ممکن است تا حدودی متفاوت به نظر برسد ، اما نام محیط شما در پرانتز باید اولین چیزی باشد که در خط خود مشاهده می کنید:
(my_env) Sammy@ubuntu:~/environments$
این پیشوند به ما اطلاع می دهد که محیط my_env در حال حاضر فعال است ، به این معنی که وقتی ما در اینجا برنامه هایی را ایجاد می کنیم آنها فقط از تنظیمات و بسته های خاص این محیط استفاده می کنند.
توجه: در محیط مجازی می توانید به جای python3 از فرمان python استفاده کنید و در صورت تمایل به جای pip3 از pip استفاده کنید. اگر در خارج از محیط از پایتون 3 در دستگاه خود استفاده می کنید ، لازم است که از دستورات python3 و pip3 استفاده کنید.

بعد از طی کردن این مراحل ، محیط مجازی شما آماده استفاده است.
مرحله 3 – ایجاد یک برنامه ” hello, world”
اکنون که محیط مجازی ما تنظیم شده است ، بیایید یک برنامه ” hello, world!” معمول ایجاد کنیم. این برنامه به ما امکان می دهد تا محیط خود را مورد آزمایش قرار دهیم و اگر قبلاً با پایتون کار نکرده ایم، بیشتر با آن آشنا شویم.
برای این کار ، یک ویرایشگر متن خط فرمان مانند nano را باز خواهیم کرد و یک فایل جدید ایجاد می کنیم:
(my_env) Sammy@ubuntu:~/environments$ nano hello.py

پس از باز شدن فایل متنی در پنجره ترمینال ، برنامه خود را تایپ می کنیم:
print(Hello, World!”)
Copy
با تایپ کلیدهای CTRL و X از nano خارج شوید و هنگامی که از شما خواسته شد فایل را ذخیره کنید، y را فشار دهید.
پس از بیرون آمدن از nano و بازگشت به پوسته خود ، اجازه دهید برنامه را اجرا کنیم:
(my_env) Sammy@ubuntu:~/environments$ python hello.py

برنامه hello.py که به تازگی ایجاد کرده اید باید باعث شود ترمینال شما خروجی زیر را تولید کند:
Output
Hello, World!

برای ترک محیط ، به سادگی فرمان deactivate را تایپ کنید و به فهرست اصلی خود باز خواهید گشت.
نتیجه
در این مرحله شما یک محیط برنامه نویسی پایتون 3 در 

سرور مجازی Debian Linux خود تنظیم کرده اید و هم اکنون می توانید یک پروژه رمزگذاری را شروع کنید!
اگر از دستگاه محلی به جای 

سرور مجازی استفاده می کنید ، به مجموعه آموزشهای مربوط به سیستم عامل خود در سری نحوه نصب و تنظیم یک محیط برنامه نویسی محلی برای پایتون 3” مراجعه کنید.
با آماده سازی 

سرور مجازی خود برای توسعه نرم افزار ، می توانید با خواندن کتاب رایگان نحوه کدنویسی در Python 3 ، یا مشاوره گرفتن از آموزش های پروژه برنامه نویسی ما ، اطلاعات بیشتری درباره کد نویسی در پایتون کسب کنید.

 

 

 

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

پارامترهای پیش فرض در جاوا اسکریپت  –  

اجرای چندین نسخه PHP بر روی یک سرور Debian 10

نحوه راه اندازی یک پروژه React با برنامه React – 

نصب و ایمن سازی phpMyAdmin در اوبونتو 18

پیکربندی یک تایید اعتبار مجاز(CA) در CentOS 8  –  

تنظیم برنامه Node.js برای تولید در CentOS 7

نصب MariaDB در اوبونتو 18.04  – 

 ایمن کردن Apache با Let’s Encrypt در Debian 10

نحوه نصب Node.js در CentOS 8  –  

بازنویسی URL را با mod_rewrite برای Apache در Debian 10

راه اندازی فایروال با استفاده از firewalld در CentOS 8  –  

نصب وب سرور Apache در Debian 10

اضافه کردن و حذف کاربران در CentOS 8 –  

نصب Apache Tomcat 9 در Debian 10

نصب و استفاده از PostgreSQL در CentOS 8  –  

راه اندازی سرور اولیه با Debian 10

نصب MariaDB در CentOS 8  –  

چگونه با JSX عناصر واقعی ایجاد کنیم

نصب و پیکربندی VNC در Debian 10  –  

استفاده از سرور از راه دور Docker

نصب و ایمن سازی Grafana در اوبونتو 18  –  

نحوه نصب Git در CentOS 8

نصب Git در Debian 10 –  

نصب و پیکربندی Zabbix برای ردیابی ایمن سرورهای

نحوه نصب Node.js در Debian 10  –  

نصب وب سرور Apache در CentOS 7

نحوه نصب Webmin در Debian 10  –  

نصب و پیکربندی Zabbix برای ردیابی ایمن سرور

نصب وردپرس با بانک اطلاعاتی در اوبونتو  – 

ساخت و استقرار سرور GraphQL با Node.js و MongoDB

نصب پایتون 3 و تنظیم نویسی محلی macOS  – 

نصب و ایمن سازی phpMyAdmin با Nginx در سرور

نصب Nagios 4 و نظارت بر سرور اوبونتو 18  –  

نصب Python 3 و تنظیم یک محیط برنامه نویسی

نحوه نصب R بر روی Debian 10  –  

راه اندازی سرور Prisma روی اوبونتو 18.04

نصب و پیکربندی Laravel با LEMP در اوبونتو 18  –  

نصب و پیکربندی pgAdmin 4 در Server Mode

نصب Python 3 و تنظیم برنامه نویسی CentOS 8 – 

نصب Jitsi Meet در Ubuntu 18.04

 

 

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

خرید vps – 

خرید سرور مجازی – 

خرید سرور – 

سرور هلند – 

فروش vps – 

سرور مجازی آمریکا – 

خریدvps – 

سرور مجازی هلند – 

فروش سرور مجازی – 

سرور آمریکا – 

vps – 

سرور مجازی انگلیس – 

سرور مجازی آلمان – 

سرور مجازی کانادا – 

خرید vps آمریکا – 

خرید وی پی اس – 

سرور – 

خرید سرور مجازی هلند – 

vps خرید – 

سرور مجازی فرانسه – 

سرور مجازی هلند – 

خرید vps آمریکا – 

خرید سرور مجازی ارزان هلند – 

vps – 

خرید vps هلند – 

خرید سرور مجازی آمریکا – 

خرید vps فرانسه – 

تست vps – 

سرور مجازی تست – 

سرور مجازی ویندوز – 

ارزانترین vps – 

خرید وی پی اس – 

vps ارزان – 

 

برچسب‌ها:


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

آخرین وبلاگ ها

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