سرور پست الکترونیکی OpenBSD با استفاده از OpenSMTPD ، Dovecot ، Rspamd و RainLoop

معرفی

این آموزش یک سرور ایمیل کاملاً برجسته را نشان می دهد که با استفاده از OpenSMTPD ، Dovecot ، Rspamd و RainLoop در OpenBSD در حال اجرا است. OpenSMTPD سرور ایمیل پیش فرض OpenBSD است. یک نمونه Vultr Compute Cloud را با تعداد کافی فضای ذخیره برای تعداد کاربران مورد انتظار انتخاب کنید.

مراحل مقدماتی

برای انجام کارها به عنوان root ، حساب کاربری خود را تنظیم کنید.

su -
usermod -G wheel <username>
echo "permit nopass keepenv :wheel" > /etc/doas.conf
exit

مخزن بسته را برای OpenBSD تنظیم کنید.

doas su
echo "https://cdn.openbsd.org/pub/OpenBSD" > /etc/installurl
exit

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

doas pkg_add opensmtpd-extras opensmtpd-filter-rspamd dovecot dovecot-pigeonhole rspamd redis

OpenSMTPD را پیکربندی کنید

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

از /etc/smtpd.confفایل پیش فرض نسخه پشتیبان تهیه کنید و پرونده ای جدید از ابتدا ایجاد کنید.

cd /etc/mail
mv smtpd.conf smtpd.conf.default

smtpd.confمطابق شکل زیر ، جدیدی ایجاد کنید. example.comبا دامنه خود جایگزین کنید. این تنظیمات اولیه فیلتر آزمایشی rspamd را هنگام آزمایش OpenSMTP فعال نمی کند. فیلتر اسپم بعداً فعال می شود.

pki "mail" cert "/etc/ssl/mail.crt"
pki "mail" key "/etc/ssl/private/mail.key"

table aliases file:/etc/mail/aliases
table credentials passwd:/etc/mail/credentials
table virtuals file:/etc/mail/virtuals

filter "rspamd" proc-exec "/usr/local/libexec/smtpd/filter-rspamd"

# To accept external mail, replace with: listen on all

# listen on all tls pki "mail" hostname "mail.example.com"
listen on egress port submission tls-require pki "mail" hostname "mail.example.com" \
  auth <credentials>

action "local_mail" mbox alias <aliases>
action "domain_mail" maildir "/var/vmail/example.com/%{dest.user}" \
  virtual <virtuals>
action "outbound" relay

# Uncomment the following to accept external mail for domain "example.org"

# match from any for domain "example.com" action "domain_mail"
match from local for local action "local_mail"

match from local for any action "outbound"
match auth from any for any action "outbound"

پرونده / و غیره / اعتبار را ایجاد کنید

OpenSMTPD و Dovecot می توانند یک بانک اطلاعاتی تأیید اعتبار به اشتراک بگذارند. این بانک اطلاعاتی به پرونده رمز عبور سیستم با فرمت و دو فیلد اضافی برای Dovecot شباهت دارد. این دو قسمت ویژه دایرکتوری خانه مجازی و محل ایمیل را تعریف می کنند. گذرواژه‌ها با فرمت blowfish هستند. این آموزش سه کاربر مثال ایجاد می کند.

گذرواژه‌ها را ایجاد کنید و آنها را با /etc/mail/credentialsپرونده بهم وصل کنید.

doas su
smtpctl encrypt example_password1 >> /etc/mail/credentials
smtpctl encrypt example_password2 >> /etc/mail/credentials
smtpctl encrypt example_password3 >> /etc/mail/credentials
exit

خروجی شبیه به این است:

$2b$10$agmNBPvFm1zqCjbbZC3JbO4Ns2jJNZQfTS45MAnKi.IPrkKITyTa6
$2b$10$LwkcKVVnwG8hDxu2W4YKD.K0kQ2oylOmQ9SBUb0hIopBsmNxYPb4e
$2b$10$bgLW/GMZyRXKbROgRQIvRu4xbeOqOJJXlgEAKuS5sIrBvfdPvEzeq

ویرایش /etc/mail/credentialsکنید تا زمینه های مورد نیاز را اضافه کنید. هر خط با یک حساب کاربری سیستم ، vmail ، با UID و GID 2000 نقشه برداری می شود . shembull.com را با دامنه خود جایگزین کنید. نام کاربر مجازی آدرس ایمیل کامل است.

[email protected]:$2b$10$agmNBPvFm1zqCjbbZC3JbO4Ns2jJNZQfTS45MAnKi.IPrkKITyTa6:vmail:2000:2000:/var/vmail/example.com/john::userdb_mail=maildir:/var/vmail/example.com/john
[email protected]:$2b$10$LwkcKVVnwG8hDxu2W4YKD.K0kQ2oylOmQ9SBUb0hIopBsmNxYPb4e:vmail:2000:2000:/var/vmail/example.com/adam::userdb_mail=maildir:/var/vmail/example.com/adam
[email protected]:$2b$10$bgLW/GMZyRXKbROgRQIvRu4xbeOqOJJXlgEAKuS5sIrBvfdPvEzeq:vmail:2000:2000:/var/vmail/example.com/natalie::userdb_mail=maildir:/var/vmail/example.com/natalie

ایجاد یک حساب ایمیل مجازی و تنظیم امنیت

  • مجموعه /etc/mail/credentialsمجوز فقط خواندنی برای _smtpdو _dovecotکاربران سیستم.
  • ایجاد vmailکاربر سیستم، گروه، و دایرکتوری خانگی.

    • هنگامی که کاربر سیستم vmail را ایجاد می کنید ، اخطار زیر را دریافت خواهید کرد useradd: Warning: home directory '/var/vmail' doesn't exist, and -m was not specified:. انتظار می رود با این کار از به هم ریختگی دایرکتوری با پرونده های نقطه جلوگیری می شود /etc/skel. آنها لازم نیستند زیرا حساب vmail اجازه ورود نمی دهد.

      doas chmod 0440 / etc / mail / credits doas chown smtpd: dovecot / etc. / mail / اعتبارنامه doas useradd -c "حساب نامه مجازی" -d / var / vmail -s / sbin nologin -u 2000 -g = uid -L Staff vmail doas mkdir / var / vmail doas chown vmail: vmail / var / vmail

نقشه نویسی کاربر مجازی ایجاد کنید

ایجاد کنید /etc/mail/virtualsتا آدرس های معتبر ایمیل را تعیین کنید.

ایجاد کلیدهای عمومی / خصوصی برای OpenSMTPD

در این مثال از یک گواهی خود امضا شده استفاده می شود. اگر دارای یک گواهی امضا شده معتبر هستید ، استفاده کنید. هنگامی که از نام مشترک خواسته شد ، حتماً با FQDN سرور مطابقت دارد. در این مثال از mail.example.com استفاده شده است.

doas su
cd /etc/ssl
openssl genrsa -out private/mail.key 4096
openssl req -x509 -new -nodes -key private/mail.key -out mail.crt -days 3650 -sha256
chmod 0400 /etc/ssl/private/mail.key
exit

تست سرور

از جستجوگر نحو پیکربندی OpenSMTPD استفاده کنید. اگر مشکلی یافت نشد ، Daemon smtpd را مجدداً راه اندازی کنید.

doas smtpd -n
doas rcctl restart smtpd

از یک حساب کاربری ایمیل خارج ، یک ایمیل آزمایشی برای یکی از کاربران ارسال کنید.

  • OpenSMTPD ساختار پوشه maildir را در زیر ایجاد کرده /var/vmailو نامه را به آن ارسال می کند /var/vmail/example.com/<username>/new.
  • به عنوان کاربر اصلی ، به این مکان بروید و پرونده ای را با نام مشابه خود بررسی کنید 1576339842.4d64757b.example.com:2,:.
  • برای تأیید صحت عملکرد تحویل ایمیل ، محتویات پرونده ، از جمله همه عناوین نامه را مرور کنید.

    Return-Path: <n0244e80da3-54b1ed125c5342fc-adam===example.org@bounce.example.org>
    Delivered-To: [email protected]
    Received: from spruce-goose-ba.twitter.com (spruce-goose-ba.twitter.com [199.59.150.96])
        by mail.example.com (OpenSMTPD) with ESMTPS id 75b514d3 (TLSv1.2:ECDHE-RSA-AES256-GCM-    SHA384:256:NO)
        for <[email protected]>;
        Sat, 14 Dec 2019 11:10:40 -0500 (EST)
    DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=twitter.com;
        s=dkim-201406; t=1576339839;
        bh=jhKB5/w9v87GaXSuizT576ntJ/72gvLRDhsqmGQQrCE=;
        h=Date:From:To:Subject:MIME-Version:Content-Type:List-Unsubscribe:
        Message-ID;
        b=TWn/QVUJ1VDlWiweWoanwHLABCL1nqmm0+TBzh3PjmYNm0quRMXB7QL2ykzHGME5A
        DTz/JFHa0cOvQsrdhxxbjOLFKimK0nF+Ou5kI+2HzTzfVNZS0qGnTVP/tZyaIsWjjl
        an5EiR6HFOHG4iClOOEOJW4oLDEZfPTefrlW+378bmHGIRUNDvVKrbXKunL9fJFAb3
        JSrhWQNwbrF/aARFzw4nKfb1I7vTRSrN1eXE5JxzGwI2XAjqDIWdR5ExwUNbJH5ZPs
        wQ85j8KLZEEgQkbH9CypgeUMJWsVK95FqOCCaqKMS10M7intGMb3aeiiFcB7yDHi9t
        u7rVESm4eGp/g==
    X-MSFBL: DM7pSZns+YDRgNEmGNre9aPjZTtc1tDlN97w5rQDBts=|eyJ1IjoibWF0dEBnb2J
        sYWNrY2F0LmNvbUBpaWQjIzU0YjFlZDEyNWM1MzQyZmNiNThiMzVmNzI0NDZlMGF
        mQHVzYiMjNkAyNDRAMTA4MjgwNTAxMDYzNzk1MDk3NkAwQDA4MjY5ZWI4OTI3YzR
        kNTFiNTZkMjY3YzY2OGRmN2IwY2Y4M2ExZGIiLCJyIjoibWF0dEBnb2JsYWNrY2F
        0LmNvbSIsImciOiJCdWxrIiwiYiI6InNtZjEtYmd4LTM0LXNyMS1CdWxrLjE4NiJ
        9
    Date: Sat, 14 Dec 2019 16:10:39 +0000
    ...
    

پیکربندی IMAP Dovecot

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

Dovecot به توانایی داشتن تعداد بیشتری پرونده برای خواندن و نوشتن نسبت به کلاس پیش فرض نیاز دارد. عدم انجام این کار باعث بروز خطاهایی خواهد شد که رفع عیب آن دشوار است.

برای ورود به سایت Dovecot یک کلاس ورود تعریف کنید. در پایین /etc/login.confخطوط زیر را اضافه کنید.

    dovecot:\
        :openfiles-cur=1024:\
        :openfiles-max=2048:\
        :tc=daemon:    

فایل پیکربندی Dovecot را ایجاد کنید

ایجاد /etc/dovecot/local.confکنید

auth_mechanisms = plain
first_valid_uid = 2000
first_valid_gid = 2000
mail_location = maildir:/var/vmail/%d/%n
mail_plugin_dir = /usr/local/lib/dovecot
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex  imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext imapsieve vnd.dovecot.imapsieve
mbox_write_locks = fcntl
mmap_disable = yes
namespace inbox {
  inbox = yes
  location =
  mailbox Archive {
  auto = subscribe
  special_use = \Archive
  }
  mailbox Drafts {
  auto = subscribe
  special_use = \Drafts
  }
  mailbox Junk {
  auto = subscribe
  special_use = \Junk
  }
  mailbox Sent {
  auto = subscribe
  special_use = \Sent
  }
  mailbox Trash {
  auto = subscribe
  special_use = \Trash
  }
  prefix =
}
passdb {
  args = scheme=CRYPT username_format=%u /etc/mail/credentials
  driver = passwd-file
  name =
}
plugin {
  imapsieve_mailbox1_before = file:/usr/local/lib/dovecot/sieve/report-spam.sieve
  imapsieve_mailbox1_causes = COPY
  imapsieve_mailbox1_name = Junk
  imapsieve_mailbox2_before = file:/usr/local/lib/dovecot/sieve/report-ham.sieve
  imapsieve_mailbox2_causes = COPY
  imapsieve_mailbox2_from = Junk
  imapsieve_mailbox2_name = *
  sieve = file:~/sieve;active=~/.dovecot.sieve
  sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment
  sieve_pipe_bin_dir = /usr/local/lib/dovecot/sieve
  sieve_plugins = sieve_imapsieve sieve_extprograms
}
protocols = imap sieve
service imap-login {
  inet_listener imaps {
  port = 0
  }
}
service managesieve-login {
  inet_listener sieve {
  port = 4190
  }
  inet_listener sieve_deprecated {
  port = 2000
  }
}
ssl_cert = </etc/ssl/mail.crt
ssl_key = </etc/ssl/private/mail.key
userdb {
  args = username_format=%u /etc/mail/credentials
  driver = passwd-file
  name =
}
protocol imap {
  mail_plugins = " imap_sieve"
}

Dovecot رفع اشکال

در Dovecot مشکلی وجود دارد که تنظیمات ssl_certو ssl_keyتنظیمات در local.confپرونده از بین نمی روند بنابراین باید آنها را اظهارنظر کنیم. اگر این مرحله را از دست دهید ، Dovecot از شروع صحیح شکست می خورد.

ویرایش /etc/dovecot/conf.d/10-ssl.confهمانطور که نشان داده شده است.

...
# PEM encoded X.509 SSL/TLS certificate and private key. They're opened before
# dropping root privileges, so keep the key file unreadable by anyone but
# root. Included doc/mkcert.sh can be used to easily generate self-signed
# certificate, just make sure to update the domains in dovecot-openssl.cnf
#ssl_cert = </etc/ssl/dovecotcert.pem
#ssl_key = </etc/ssl/private/dovecot.pem
...

Sieve Scriptts را ایجاد کنید

اسکریپت های غربال Rspamd را روی اسپم و ژامبون آموزش می دهند . انتقال ایمیل به داخل و خارج از پوشه ناخواسته باعث ایجاد رویدادی برای آموزش Rspamd می شود.

این پرونده ها در واقع هستند /usr/local/lib/dovecot/sieve.

report-ham.sieveپرونده را ایجاد کنید.

require ["vnd.dovecot.pipe", "copy", "imapsieve", "environment", "variables"];

if environment :matches "imap.mailbox" "*" {
  set "mailbox" "${1}";
}

if string "${mailbox}" "Trash" {
  stop;
}

if environment :matches "imap.user" "*" {
  set "username" "${1}";
}

pipe :copy "sa-learn-ham.sh" [ "${username}" ];

report-spam.sieveپرونده را ایجاد کنید.

require ["vnd.dovecot.pipe", "copy", "imapsieve", "environment", "variables"];

if environment :matches "imap.user" "*" {
  set "username" "${1}";
}

pipe :copy "sa-learn-spam.sh" [ "${username}" ];

فایلها را کامپایل کنید.

sievec report-ham.sieve
sievec report-spam.sieve 

دو اسکریپت پوسته زیر را در ایجاد کنید /usr/local/lib/dovecot/sieve

موارد زیر را به آن اضافه کنید sa-learn-ham.sh

#!/bin/sh
exec /usr/local/bin/rspamc -d "${1}" learn_ham

موارد زیر را به آن اضافه کنید sa-learn-spam.sh

#!/bin/sh
exec /usr/local/bin/rspamc -d "${1}" learn_spam

پرونده ها را اجرایی کنید.

chmod 0755 sa-learn-ham.sh
chmod 0755 sa-learn-spam.sh

Dovecot را فعال کرده و شروع کنید.

rcctl enable dovecot
rcctl start dovecot

بررسی کنید که Dovecot به درستی شروع شده است.

ps ax | grep dovecot

88005 ??  I        0:00.11 /usr/local/sbin/dovecot
69640 ??  I        0:00.03 dovecot/anvil
91207 ??  I        0:00.03 dovecot/log
98178 ??  I        0:00.19 dovecot/config
34712 ??  I        0:00.06 dovecot/stats
96674 ??  I        0:00.03 dovecot/imap-login
 8891 ??  S        0:00.02 dovecot/imap

تأیید کنید که Dovecot می تواند به درستی بخواند /etc/mail/credentials

doveadm user [email protected]

field    value
uid      2000
gid      2000
home /var/vmail/example.com/john
mail maildir:/var/vmail/example.com/john

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

doveadm auth login [email protected]

Password: ********
passdb: [email protected] auth succeeded
extra fields:
  [email protected]

userdb extra fields:
  [email protected]
  mail=maildir:/var/vmail/example.com/john
  uid=2000
  gid=2000
  home=/var/vmail/example.com/john
  auth_mech=PLAIN

Rspamd را تنظیم کنید

این یک تنظیمات اساسی Rspamd است ، برای اطلاعات بیشتر به مستندات رسمی مراجعه کنید. این مثال برای فعال کردن امضای DKIM ، یک تعریف برای دامنه ما ایجاد می کند.

یک صفحه کلید عمومی یا خصوصی /etc/mail/dkimایجاد کنید و مجوزهای صحیح را تنظیم کنید.

doas su
mkdir /etc/mail/dkim
cd /etc/mail/dkim
openssl genrsa -out private.key 1024
openssl rsa -in private.key -pubout -out public.key
chmod 0440 private.key
chown root:_rspamd private.key

یک ضبط DNS برای DKIM حاوی کلید عمومی ایجاد کنید. برای جزئیات بیشتر در مورد ایجاد یک رکورد DKIM به ارائه دهنده DNS خود مراجعه کنید. محتویات را از /etc/mail/dkim/public.keyآن کپی کرده و بعد از p=بخشی از ضبط DKIM همانطور که در زیر آمده است ، جایگذاری کنید. توجه داشته باشید که این مثال همچنین یک رکورد SPF ایجاد می کند.

default._domainkey.example.com. IN TXT "v=DKIM1;k=rsa;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQClcuK3FV3Ug64li8iFsuJ2ykgb7FMZsujk9uG79ppPUp57vCfjzO7F+HBfx5qIwvlGxv2IJXK86FZwhpUX+HFCDUtfB2z0ZNGerWcZfNzM1w1Bru/fdMd2tCYkiHEa5RWIkLfs/Fm+neXxRZfAG2UDWmAghNbgzYv7xViwgufDIQIDAQAB"
example.com. IN TXT "v=spf1 a ip4:192.0.2.1 mx ~all"

یک رکورد DMARC ایجاد کنید.

_dmarc.example.com. IN TXT "v=DMARC1;p=none;pct=100;rua=mailto:[email protected]"

/etc/rspamd/local.d/dkim_signing.confپرونده پیکربندی را ایجاد کنید.

  • این selector="default";خط از قسمت اول ضبط DKIM DNS ( default._domainkey....) ایجاد شده در بالا گرفته شده است.

    domain {
        example.com {
            path = "/etc/mail/dkim/example.com.key";
            selector = "default";
        }
    }
    

Rspamd را فعال کرده و شروع کنید.

doas rcctl enable redis rspamd
doas rcctl start redis rspamd

خطوط زیر را تغییر دهید /etc/mail/smtpd.confو OpenSMTPD را مجدداً راه اندازی کنید تا Rspamd فعال شود.

...
listen on all tls pki "mail" hostname "mail.example.com" filter "rspamd"
listen on egress port submission tls-require pki "mail" hostname "mail.example.com" \
  auth <credentials> filter "rspamd"
...
rcctl restart smtpd

سرور نامه را با مشتری ایمیل POP3 یا IMAP تست کنید. اگر به پست الکترونیکی احتیاج ندارید ، اینجا را متوقف کنید.

(اختیاری) پیکربندی وب Rainmail را بارگیری کنید

بسته های پیش نیاز را نصب کنید

در صورت درخواست ، لطفاً جدیدترین نسخه PHP را انتخاب کنید.

pkg_add php php-curl php-pdo_sqlite php-zip pecl73-mcrypt zip unzip wget curl

بارگیری وب سایت RainLoop را بارگیری کرده و آن را استخراج کنید /var/www/htdocs/.

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

cd /tmp
wget https://www.rainloop.net/repository/webmail/rainloop-latest.zip
unzip rainloop-latest.zip -d /var/www/htdocs/rainloop
chown -R www:www /var/www/htdocs

بیایید مجوز SSL را رمزگذاری کنیم

  • کپی /etc/examples/acme-client.confبه/etc
  • خطوط زیر را در انتهای پرونده اضافه کنید:

    domain webmail.example.com {
    domain key "/etc/ssl/private/webmail.example.com.key"
    domain full chain certificate "/etc/ssl/webmail.example.com.crt"
    sign with letsencrypt
    }
    

پیکربندی httpd

  • یک ورودی DNS (یا ثبت CNAME یا A) برای زیر دامنه ایجاد کنید webmail.example.com
  • /etc/httpd.confزیر مثال زیر را ویرایش کنید.

    prefork 3
    types { include "/usr/share/misc/mime.types" }
    
    server "default" {
        listen on egress port 80 
        root "/htdocs"
        directory index index.html
    
        location "/.well-known/acme-challenge/*" {
                root "/acme"
                request strip 2
        }
    }
    

بررسی نحو httpd را انجام دهید.

httpd -n

httpd را فعال و شروع کنید.

rcctl enable httpd
rcctl start httpd

از گواهی Letry Encrypt درخواست کنید.

acme-client -v webmail.example.com

تعاریف سرور را برای RainLoop به اضافه کنید /etc/httpd.conf

server "webmail.example.com" {
    listen on egress port 80
    block return 302 "https://$SERVER_NAME$REQUEST_URI"
}

server "webmail.example.com" {
    listen on egress tls port 443
    root "/htdocs/rainloop"
    directory index "index.php"

    tcp { nodelay, backlog 10 }

    tls {
            certificate "/etc/ssl/webmail.example.com.crt"
            key "/etc/ssl/private/webmail.example.com.key"
    }

    hsts {
            max-age 31556952
            preload
    }

    # Value below is 25MB in bytes. 1MB = 1048576 bytes
    connection max request body 26214400

    location "/data*" {
            block return 403
    }

    location "*.php*" {
            fastcgi socket "/run/php-fpm.sock"
    }
}

پی اچ پی را پیکربندی کنید تا ضمیمه ها حداکثر 25 مگابایت باشد. تغییرات زیر را در /etc/php-7.3.ini:

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 25M
...
; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
post_max_size = 29M

با کپی کردن فایل های پیکربندی آنها ، ماژول های PHP لازم را فعال کنید /etc/php-7.3/

cp /etc/php-7.3.sample/* /etc/php-7.3/.

نحو را بررسی کنید /etc/httpd.conf

httpd -n

httpd و php-fpm را فعال کرده و شروع کنید.

rcctl reload httpd
rcctl enable php73_fpm
rcctl start php73_fpm

آزمون نهایی

مرور به https://webmail.example.com/?admin.

نام کاربری پیش فرض: admin
کلمه عبور پیش فرض: 12345 است .

در هر یک از بخش های تنظیمات جستجو کرده و تغییرات دلخواه خود را انجام دهید. پس از پایان تنظیمات ، وارد آدرس ایمیل شویدhttps://webmail.example.com



Leave a Comment

نحوه نصب بستر سبد خرید 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 است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد