با استفاده از Docker-compose یک برنامه PHP مستقر کنید

برنامه های PHP معمولاً توسط یک سرور ، یک سیستم پایگاه داده رابطه و خود مفسر زبان تشکیل می شوند. در این آموزش ما با استفاده از داکر از یک پشته کامل برنامه PHP استفاده خواهیم کرد. این یک آموزش جامع است که در آن قصد داریم ظروف مخصوص Nginx (وب سرور) ، MySQL (سیستم پایگاه داده) و PHP ظروف مخصوص ارکستر را بسازیم.

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

این راهنما فرض می کند که شما Docker-CE را قبلاً نصب کرده اید و حداقل دانش کمی از داکر دارید. برای آن موضوع می توانید آموزشهای زیر را مرور کنید:

پیکربندی محیط کار ما

یک برنامه مبتنی بر داکر زندگی واقعی معمولاً از چندین ظروف تشکیل شده است. مدیریت این موارد به راحتی می تواند کاملاً کثیف و دست و پا گیر شود. این جایی است که docker-compose وارد بازی می شود. این کمک می کند تا تعدادی از ظروف را از طریق یک yamlفایل پیکربندی ساده مدیریت کنید.

docker-compose را نصب کنید.

curl -L https://github.com/docker/compose/releases/download/1.19.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

یک پوشه ایجاد کنید تا تمام پرونده های لازم از این مثال و سپس cdدرون آن قرار گیرد. از این پس این دایرکتوری کار ماست و هر دستور در داخل این پوشه اجرا می شود و هر مسیری نسبت به آن ارجاع می شود. این پوشه ممکن است بعداً به عنوان ارجاع داده شود WORKING_DIR.

mkdir ~/docker
cd ~/docker

اکنون سه پوشه دیگر ایجاد کنید.

mkdir php nginx app

این phpپوشه جایی است که ما می خواهیم تصویر PHP دلخواه خود را بسازیم ، nginxپوشه پرونده های لازم را برای تصویر nginx سفارشی ما نگه می دارد و appپوشه همان جایی است که ما می خواهیم کد منبع و پیکربندی برنامه نمونه خود را قرار دهیم.

پیکربندی ظرف PHP

در این مثال ، ما قصد داریم از آن php-fpmبرای اتصال به سرور Nginx استفاده کنیم. ما از تصویر پایه PHP رسمی استفاده خواهیم کرد. با این وجود ، ما همچنین باید برخی از برنامه های افزودنی را نصب و فعال کنیم تا بتوانیم به پایگاه داده دسترسی پیدا کنیم. در داخل phpپوشه پرونده ای به نام خود ایجاد کنید Dockerfileو مطالب زیر را در آن قرار دهید.

FROM php:7.1-fpm-alpine3.4
RUN apk update --no-cache \
    && apk add --no-cache $PHPIZE_DEPS \
    && apk add --no-cache mysql-dev \
    && docker-php-ext-install pdo pdo_mysql

توجه داشته باشید که ما از نسخه Alpine از تصویر رسمی PHP استفاده می کنیم. آلپاین یک توزیع بسیار کوچک است که با تهیه ردپای بسیار کوچکتر به سمت ظروف منتقل می شود. همچنین ، توجه داشته باشید که از دستور استفاده می کنید docker-php-ext-install، تصویر رسمی PHP این دستور را برای سهولت روند نصب و پیکربندی پسوندهای PHP فراهم می کند.

حال ، بیایید با انتشار موارد زیر (در داخل ما WORKING_DIR) این تصویر داکر را بسازیم :

docker build -t vultr-php php/

docker-compose.ymlفایل

همانطور که قبلاً نیز گفته شد ، docker-composeبه شما امکان می دهد تعدادی کانتینر را از طریق یک پرونده پیکربندی ساده مدیریت کنید. این پرونده پیکربندی به طور معمول نامگذاری می شود docker-compose.yml. این پرونده را درون appپوشه ایجاد کنید.

touch app/docker-compose.yml

اکنون مطالب زیر را در این پرونده قرار دهید.

version: '2'
services:
  php:
    image: vultr-php
    volumes:
      - ./:/app
    working_dir: /app

ما این نحو را توضیح خواهیم داد. ابتدا خط اول را یادداشت کنید.

version: '2'

این نسخه docker-compose.ymlپرونده پیکربندی مورد استفاده را مشخص می کند. خط بعدی خدمات یا به عبارت دیگر ظروف مورد نیاز را مشخص می کند.

services:
  php:
    image: vultr-php
    volumes:
      - ./:/app
    working_dir: /app

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

volumes:
  - ./:/app

این می گوید docker-composeکه دایرکتوری فعلی ( ./) را در /appفهرست موجود درون ظرف قرار دهید. خط آخر /appپوشه داخل ظرف را به عنوان دایرکتوری کار تنظیم می کند ، به این معنی که این پوشه ای است که تمام دستورات آینده درون یک ظرف به طور پیش فرض از آن اجرا می شود.

اکنون می توانیم ظروف خود را ارکستر کنیم.

cd ~/docker/app
docker-compose up -d

می توانید دستور زیر را اجرا کنید تا مطمئن شوید که ظرف PHP اجرا شده است:

docker ps

نحوه اجرای دستورات داخل ظروف

هنوز در داخل appپوشه ، می توانیم با کمک دستور ، هر دستوری را درون یک ظرف سرویس تعریف شده اجرا کنیم docker-compose.

docker-compose exec [service] [command]

[service]حفره یا سوراخ به کلید خدمات اشاره دارد. در مورد ما ، این بود php. بیایید یک دستور در داخل ظرف اجرا کنیم تا نسخه PHP ما را بررسی کنیم.

docker-compose exec php php -v

خروجی زیر را مشاهده خواهید کرد.

PHP 7.1.14 (cli) (built: Feb  7 2018 00:40:45) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies

پیکربندی ظرف Nginx

درست مانند ظرف PHP ، ما باید برای وب سرور یک تصویر دلخواه ایجاد کنیم. اما در این حالت ، فقط باید پیکربندی خود را ارائه دهیم virtual host. مطمئن شوید که داخل ما هستید WORKING_DIRو یک پوشه Dockerfileدر داخل ایجاد می nginxکنید:

cd ~/docker
touch nginx/Dockerfile

اکنون مطالب زیر را در این قرار دهید Dockerfile:

FROM nginx:1.13.8-alpine
COPY ./default.conf /etc/nginx/conf.d/default.conf

ما از تصویر پیش فرض Nginx بر اساس Alpine استفاده می کنیم. در این پرونده Docker ما به سادگی یک فایل پیکربندی را در تنظیم برنامه خود کپی می کنیم. قبل از ساختن این تصویر ، یک پرونده پیکربندی ایجاد کنید.

touch nginx/default.conf

اکنون آن را با این محتوا جمع کنید.

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /app;
    index index.php;

    #server_name server_domain_or_IP;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

توجه داشته باشید که در این fastcgi_pass php:9000خط ، ما به پرونده PHP با نام آن در serviceبلوک docker-compose.ymlپرونده پیکربندی اشاره می کنیم. به صورت داخلی docker-composeیک شبکه ایجاد می کند و نام سرویس را به عنوان نام میزبان به هر یک از سرویس های تعریف شده اختصاص می دهد. اکنون می توانیم تصویر Nginx را بسازیم.

docker build -t vultr-nginx nginx/

در حال بروز رسانی docker-compose.yml

اکنون app/docker-compose.ymlپرونده را به روز کنید.

version: '2'
services:
  php:
    image: vultr-php
    volumes:
      - ./:/app
    working_dir: /app
  web:
    image: vultr-nginx
    volumes:
      - ./:/app
    depends_on:
      - php
    ports:
      - 80:80

ما فقط سرویس جدیدی اضافه کرده ایم. پیکربندی تقریباً یکسان است ، به جز موارد زیر.

depends_on:
  - php
ports:
  - 80:80

هنگامی که ظرف Nginx به سرویس اولیه PHP نیاز دارد تا به طور کامل تنظیم شود ، ما این depends_onگزینه را در گزینه اعمال می کنیم. portsکلید پیکربندی نقشه های یک پورت میزبان را به یک بندر کانتینری، در اینجا ما پورت بر روی نقشه 80در میزبان به بندر 80در ظرف.

اکنون یک پرونده بنام index.phpداخل appپوشه ایجاد کرده و موارد زیر را در آن قرار دهید.

<?php phpinfo();

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

cd ~/docker/app
docker-compose up -d

یک بار دیگر ، بررسی کنید که سرویس تمام شده است.

docker ps

مرورگر را باز کرده و به آن دسترسی پیدا کنید [vultr-instance-ip]. با اجرای موارد زیر می توانید آدرس IP نمونه Vultr خود را دریابید.

hostname -I

صفحه اطلاعات PHP را مشاهده خواهید کرد.

پیکربندی ظرف MySQL

تصویر MySQL رسمی به شما امکان می دهد ظرف را از طریق متغیرهای ساده محیط پیکربندی کنید. این کار را می توان با environmentگزینه ای در تعریف سرویس سرویس انجام داد. ~/docker/app/docker-compose.ymlپرونده را به شرح زیر به روز کنید.

version: '2'
services:
  php:
    image: vultr-php
    volumes:
      - ./:/app
    working_dir: /app
  web:
    image: vultr-nginx
    volumes:
      - ./:/app
    depends_on:
      - php
    ports:
      - 80:80
  mysql:
    image: mysql:5.7.21
    volumes:
      - ./:/app
      - dbdata:/var/lib/mysql
    environment:
      - MYSQL_DATABASE=world
      - MYSQL_ROOT_PASSWORD=root
    working_dir: /app
volumes:
  dbdata:

اکنون ما سرویس جدیدی را برای پایگاه داده تعریف کرده ایم. به خط توجه کنید dbdata:/var/lib/mysql. این مسیر روی ظرف را /var/lib/mysqlبه یک حجم مداوم که توسط داکر کنترل می شود سوار می کند ، به این ترتیب داده های پایگاه داده پس از حذف کانتینر ادامه می یابد. این حجم باید همانطور که در انتهای پرونده مشاهده می کنید ، در یک بلوک سطح بالا تعریف شود.

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

curl -L http://downloads.mysql.com/docs/world.sql.gz -o world.sql.gz
gunzip world.sql.gz

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

docker-compose up -d

همانطور که ممکن است قبلاً متوجه شده باشید ، این docker-compose upدستور فقط ظروف را شروع می کند که از قبل شروع نشده اند. این اختلافات بین docker-compose.ymlپرونده شما و پیکربندی فعلی ظروف در حال اجرا را بررسی می کند.

یک بار دیگر ، بررسی کنید که ظرف MySQL شروع شده است.

docker ps

اکنون پایگاه داده جهانی را جمع کنید.

docker-compose exec -T mysql mysql -uroot -proot world < world.sql

با انتخاب داده ها به طور مستقیم از پایگاه داده می توانید تأیید کنید که پایگاه داده جمع شده است. ابتدا به فوری MySQL داخل ظرف دسترسی پیدا کنید.

docker-compose exec mysql mysql -uroot -proot world

در MySQL سریع ، موارد زیر را اجرا کنید.

select * from city limit 10;

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

mysql> exit

ساختن برنامه ما

اکنون که تمام ظروف مورد نیاز در حال کار هستند ، می توانیم روی برنامه نمونه خود تمرکز کنیم. app/index.phpپرونده را به شرح زیر به روز کنید.

<?php

$pdo = new PDO('mysql:host=mysql;dbname=world;charset=utf8', 'root', 'root');

$stmt = $pdo->prepare("
    select city.Name, city.District, country.Name as Country, city.Population
    from city
    left join country on city.CountryCode = country.Code
    order by Population desc
    limit 10
");
$stmt->execute();
$cities = $stmt->fetchAll(PDO::FETCH_ASSOC);

?>

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Vultr Rocks!</title>
</head>
<body>
    <h2>Most Populous Cities In The World</h2>
    <table>
    <thead>
        <tr>
            <th>Name</th>
            <th>Country</th>
            <th>District</th>
            <th>Population</th>
        </tr>
    </thead>
    <tbody>
        <?php foreach($cities as $city): ?>
            <tr>
                <td><?=$city['Name']?></td>
                <td><?=$city['Country']?></td>
                <td><?=$city['District']?></td>
                <td><?=number_format($city['Population'], 0)?></td>
            </tr>
        <?php endforeach ?>
    </tbody>
    </table>
</body>
</html>

اگر به [vultr-instance-ip]یک مرورگر وب دسترسی پیدا کنید ، لیستی از پرجمعیت ترین شهرهای جهان را مشاهده خواهید کرد. تبریک می گویم ، شما یک برنامه PHP کاملاً کار با استفاده از docker مستقر کرده اید.

نتیجه

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

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

برای استفاده دقیق تر از آن docker-compose، باید به مستندات رسمی مراجعه کنید .

بسته به نیاز برنامه شما و چارچوب PHP که استفاده می کنید ، ممکن است بخواهید افزونه های بیشتری اضافه کنید. این کار را می توان به راحتی با اصلاح Dockerfileمورد استفاده برای ساخت تصویر PHP دلخواه ما انجام داد. با این حال ، برخی از برنامه های افزودنی نیاز به وابستگی های اضافی برای نصب در ظرف دارند. برای مرور الزامات اساسی هر پسوند باید به لیست برنامه های افزودنی در اسناد رسمی PHP مراجعه کنید .



Leave a Comment

Kubernetes With Kubeadm را در CentOS 7 مستقر کنید

Kubernetes With Kubeadm را در CentOS 7 مستقر کنید

بررسی اجمالی این مقاله به شما کمک می کند تا در هر زمان خوشه ای از Kubernetes را جمع کنید و با kubeadm در حال اجرا باشید. در این راهنما از دو سرور استفاده می شود

Docker CE را در اوبونتو 18.04 نصب کنید

Docker CE را در اوبونتو 18.04 نصب کنید

مقدمه Docker برنامه ای است که به ما امکان می دهد برنامه هایی را که به صورت ظروف اجرا می شوند مستقر کنیم. این متن با زبان محبوب برنامه نویسی Go نوشته شده است

نصب Docker در CentOS 7

نصب Docker در CentOS 7

با استفاده از یک سیستم متفاوت؟ Docker برنامه ای است که امکان استقرار نرم افزار در ظروف مجازی را فراهم می آورد. در برنامه نویسی Go نوشته شده است

Rancher را در اوبونتو 16.04 نصب کنید

Rancher را در اوبونتو 16.04 نصب کنید

با استفاده از یک سیستم متفاوت؟ مقدمه Rancher یک بستر منبع باز برای اجرای ظروف و ساخت سرویس کانتینر خصوصی است. رانچر پایه است

نصب docker-compose در CoreOS

نصب docker-compose در CoreOS

در این مقاله نحوه نصب docker-compose در CoreOS توضیح داده شده است. در CoreOS ، پوشه / usr / تغییر ناپذیر است بنابراین مسیر استاندارد / usr / local / bin در دسترس نیست

در CoreOS ، رجیستری خود را تنظیم کنید

در CoreOS ، رجیستری خود را تنظیم کنید

همه ما Docker را می شناسیم و دوست داریم ، سکویی برای ایجاد ، مدیریت و توزیع ظروف برنامه در دستگاه های مختلف. شرکت Docker یک سرویس t ارائه می دهد

Rancher را روی CentOS 7 نصب کنید

Rancher را روی CentOS 7 نصب کنید

با استفاده از یک سیستم متفاوت؟ مقدمه Rancher یک بستر منبع باز برای اجرای ظروف و ساخت سرویس کانتینر خصوصی است. رانچر پایه است

Sentry Sentry را از طریق Docker در اوبونتو 16.04 تنظیم کنید

Sentry Sentry را از طریق Docker در اوبونتو 16.04 تنظیم کنید

با استفاده از یک سیستم متفاوت؟ مقدمه Sentry یک راه حل منبع باز برای ردیابی خطا است. Sentry استثنائات و سایر پیام های مفید را از این طریق دنبال می کند

ایجاد یک Darmer Swarm در Alpine Linux 3.9.0

ایجاد یک Darmer Swarm در Alpine Linux 3.9.0

مقدمه این راهنما نحوه ایجاد و پیکربندی ازدحام Docker را با استفاده از چندین سرور Alpine Linux 3.9.0 و Portainer به شما نشان می دهد. لطفا آگاه باشید

جلسه مهم با Docker Swarm (CE) در Debian 9

جلسه مهم با Docker Swarm (CE) در Debian 9

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

جلسه Sticky With Docker Swarm (CE) در CentOS 7

جلسه Sticky With Docker Swarm (CE) در CentOS 7

با استفاده از یک سیستم متفاوت؟ مقدمه Docker Swarm سرورهای فردی شما را به مجموعه ای از رایانه ها تبدیل می کند و باعث می شود مقیاس پذیری و در دسترس بودن بالا را تسهیل کند

دو ابزار مدیریت گرافیکی Docker: DockerUI و Shipyard

دو ابزار مدیریت گرافیکی Docker: DockerUI و Shipyard

با کمک برنامه Vultr Docker ، به راحتی می توانید Docker را به عنوان نمونه سرور Vultr خود مستقر کنید. در ضمن ، می توانید وظیفه مدیریت داکر را تسهیل کنید

نحوه نصب Harbour در CentOS 7

نحوه نصب Harbour در CentOS 7

Harbour یک سرور رجیستری کلاس سازمانی منبع باز است که تصاویر Docker را ذخیره و توزیع می کند. بندرگاه منبع باز Docker Distribution b را گسترش می دهد

سرور Rancher را روی RancherOS نصب کنید

سرور Rancher را روی RancherOS نصب کنید

بررسی اجمالی RancherOS یک سیستم عامل فوق العاده سبک (فقط حدود 60 مگابایت) است که برای اجرای سرویس های سیستم ، یک Demoner سیستم Docker به عنوان PID 0 را اجرا می کند.

با خیال راحت ظروف LXC را در Ubuntu 14.04 مستقر و مدیریت کنید

با خیال راحت ظروف LXC را در Ubuntu 14.04 مستقر و مدیریت کنید

ظروف LXC (ظروف لینوکس) یک ویژگی سیستم عامل در لینوکس است که می تواند برای اجرای چندین سیستم جدا شده لینوکس روی یک هاست واحد مورد استفاده قرار گیرد. اینها

شروع کار با Kubernetes در CentOS 7

شروع کار با Kubernetes در CentOS 7

Kubernetes یک سیستم عامل منبع باز است که توسط Google برای مدیریت برنامه های کانتینر شده در سرتاسر گروههای سرور ساخته شده است. این بنا بر روی یک دهه ساخته می شود و

نحوه استفاده از داکر: ایجاد اولین کانتینر داکر

نحوه استفاده از داکر: ایجاد اولین کانتینر داکر

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

بار را با Docker بارگذاری کنید

بار را با Docker بارگذاری کنید

هنگام اجرای یک برنامه وب ، شما معمولاً می خواهید بدون استفاده از نرم افزار خود برای استفاده از multithreading o از منابع خود استفاده کنید.

با SQL Server 2017 (MS-SQL) در CentOS 7 With Docker شروع کنید

با SQL Server 2017 (MS-SQL) در CentOS 7 With Docker شروع کنید

پیش نیاز موتور داکر 1.8+. حداقل 4 گیگابایت فضای دیسک. حداقل 4 گیگابایت رم. مرحله 1. نصب Docker به منظور نصب SQL-Server ، Docker mus

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

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

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

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

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد