تثبيت Mastodon على CentOS 7

Mastodon هو خادم مفتوح المصدر مدعوم ذاتيًا وخادم للتواصل الاجتماعي. يوفر ميزات مثل تويتر ؛ ولكن بدلاً من السيطرة عليها من قبل شركة واحدة ، فهي عبارة عن اتحاد من الخوادم اللامركزية التي تعمل معًا لإنشاء نظام كامل من الشبكات الاجتماعية. يمكن لفريق صغير بدء مثيل خادم Mastodon للتواصل فيما بينهم وكذلك مع المستخدمين الآخرين للمجتمع المتحد. كما يتيح لك اختيار سياسات الخصوصية والمراقبة الخاصة بك وتحديد كيفية التواصل مع المستخدمين الآخرين للخوادم المختلفة. يتم استضافة المحتوى الذي ينشئه المستخدم ويشترك فيه على الخادم حيث يتم إنشاء حسابه. يمكن للمستخدمين متابعة بعضهم البعض حتى لو لم يتم استضافتهم على نفس الخادم. لكل مستخدم في شبكة Mastodon اسمه أو معرفه الفريد الموجود في@[email protected]شكل. تتوفر تطبيقات العملاء لـ Mastodon لجميع الأنظمة الأساسية تقريبًا.

المتطلبات الأساسية

ملاحظة: سنستخدم social.example.comكاسم المجال المستخدم لمثيل Mastodon. استبدل كل تكرارات social.example.comاسم المجال الفعلي الذي تريد استخدامه لتطبيق Mastodon الخاص بك .

قم بتحديث النظام الأساسي الخاص بك باستخدام الدليل كيفية تحديث CentOS 7 ، إذا لزم الأمر. بمجرد تحديث النظام الخاص بك ، انتقل إلى تثبيت التبعيات المطلوبة.

تثبيت التبعيات

يتطلب Mastodon عدة تبعيات للعمل. قم بتثبيت أحدث إصدار من Node.js، والذي سيتم استخدامه لتجميع ملفات JavaScript.

curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum -y install nodejs

تثبيت Yarn، وهو تطبيق إدارة تبعية سريع وموثوق وآمن. سنستخدم الغزل لتثبيت تبعيات Node.js.

sudo wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo
sudo yum -y install yarn

التثبيت Redis. Redis هو مخزن بنية بيانات داخل الذاكرة وتطبيق ذاكرة التخزين المؤقت.

sudo yum -y install redis

قم بتشغيل Redis وتمكينه من بدء التشغيل تلقائيًا.

sudo systemctl start redis
sudo systemctl enable redis

قم بتثبيت عدد قليل من التبعيات المطلوبة لبناء Rubyالتثبيت والتبعيات الأخرى.

sudo yum -y install ImageMagick git libxml2-devel libxslt-devel gcc bzip2 openssl-devel zlib-devel gdbm-devel ncurses-devel autoconf automake bison gcc-c++ libffi-devel libtool patch readline-devel sqlite-devel glibc-headers glibc-devel libyaml-devel libicu-devel libidn-devel

ستحتاج أيضًا إلى تثبيت أدوات التطوير.

sudo yum -y groupinstall 'Development Tools'

تثبيت وتكوين PostgreSQL

PostgreSQL هو نظام قاعدة بيانات علائقية للكائنات. ستحتاج إلى إضافة مستودع PostgreSQL إلى نظامك حيث yumيحتوي المستودع الافتراضي على إصدار أقدم من التطبيق.

sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

قم بتثبيت خادم قاعدة بيانات PostgreSQL.

sudo yum -y install postgresql96-server postgresql96-contrib postgresql96-devel

تهيئة قاعدة البيانات.

sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb

قم بتحرير pg_hba.confالملف لتمكين MD5المصادقة المستندة إلى.

sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf

العثور على الأسطر التالية وتغيير peerل trustو identل md5.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

بمجرد التحديث ، يجب أن يبدو التكوين على هذا النحو.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

قم بتشغيل خادم PostgreSQL وتمكينه من بدء التشغيل تلقائيًا.

sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6

قم بتغيير كلمة المرور لمستخدم PostgreSQL الافتراضي.

sudo passwd postgres

تسجيل الدخول إلى shell PostgreSQLكمستخدم.

sudo su - postgres

إنشاء PostgreSQLمستخدم جديد ل Mastodon.

createuser mastodon

يوفر PostgreSQL psqlالصدفة لتشغيل الاستعلامات في قاعدة البيانات. قم بالتبديل إلى غلاف PostgreSQL عن طريق التشغيل.

psql

تعيين كلمة مرور للمستخدم الذي تم إنشاؤه حديثًا لقاعدة بيانات Mastodon وتقديم الإذن بإضافة قواعد بيانات جديدة.

ALTER USER mastodon WITH ENCRYPTED password 'DBPassword' CREATEDB;

استبدلها DBPasswordبكلمة مرور قوية. الخروج من psqlالقشرة:

\q

قم بالتبديل إلى sudoالمستخدم.

exit

قم بتثبيت عدد قليل من تبعيات PostgreSQL المطلوبة.

sudo yum -y install libpqxx-devel protobuf-devel

تثبيت روبي

قم بإنشاء مستخدم جديد لـ Mastodon وقم بالتبديل إلى المستخدم الذي تم إنشاؤه حديثًا.

sudo adduser mastodon -d /opt/mastodon
sudo su - mastodon

سنقوم بتثبيت أحدث إصدار من Ruby باستخدام Ruby Version Manager أو RVM. يتم استخدامه لتثبيت وإدارة إصدارات متعددة من روبي.

أضف GPGمفتاح RVM إلى الخادم الخاص بك.

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

قم بتثبيت RVM.

curl -sSL https://get.rvm.io | bash -s stable
source /opt/mastodon/.rvm/scripts/rvm

الآن إحضار قائمة الإصدارات المتوفرة من Ruby.

rvm list known

سترى الناتج التالي.

[mastodon@vultr ~]$ rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.7]
[ruby-]2.3[.4]
[ruby-]2.4[.1]
ruby-head

...

الآن قم بتثبيت أحدث إصدار من Ruby من القائمة.

rvm install 2.4

استخدم الإصدار المثبت من روبي.

rvm use 2.4

يجب أن تكون قادرًا على التحقق من إصداره.

ruby -v

يجب أن تشاهد نتيجة مماثلة.

[mastodon@vultr ~]$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]

التثبيت bundler، وهو مدير التبعية لتطبيق روبي.

gem install bundler

انتقل الآن إلى الدليل الرئيسي لمستخدم Mastodon واستنساخ ملفات مستودع التطبيق من Github.

cd ~
git clone https://github.com/tootsuite/mastodon.git app

انقل دليل التطبيق وقم بالخروج من أحدث إصدارات التطبيق.

cd ~/app
git checkout $(git describe --tags `git rev-list --tags --max-count=1`)

هيئ bundleلاستخدام مسار مخصص لتهيئة PostgreSQL. أيضا ، قم بتثبيت تبعيات روبي.

bundle config build.pg --with-pg-config=/usr/pgsql-9.6/bin/pg_config
bundle install --deployment --without development test

تثبيت تبعيات Node.js باستخدام الغزل.

yarn install --pure-lockfile

ستحتاج إلى إنشاء ملف تكوين لتطبيق Mastodon. انسخ ملف تكوين العينة.

cd ~/app
cp .env.production.sample .env.production

قبل تحرير الملف ، قم بإنشاء ثلاثة مختلفة secretsعن طريق تشغيل الأمر التالي ثلاث مرات. ستحتاج إلى تعيين هذه الأسرار في ملف التكوين.

RAILS_ENV=production bundle exec rake secret

يجب أن تحصل على ناتج مماثل.

[mastodon@vultr app]$ RAILS_ENV=production bundle exec rake secret
0f17dab1cf4a07f6fac671ecd5815adcb59d012b338dae9350c66402250c6c729dccd6182b1a8f75c4fde55453ce283ea66e07ed4466cdc6d4d6974c98512967

قم بتحرير ملف التكوين باستخدام nanoالمحرر.

nano .env.production

ابحث عن الأسطر التالية وقم بتغيير القيم وفقًا لذلك.

REDIS_HOST=127.0.0.1
REDIS_PORT=6379

قم بتوفير بيانات اعتماد قاعدة البيانات ، وفقًا لمستخدم قاعدة البيانات الذي قمت بإنشائه أثناء تثبيت PostgreSQL. قم بتوفير أي اسم لاسم قاعدة البيانات حيث سيقوم Mastodon تلقائيًا بإنشاء قاعدة البيانات بالاسم الذي تقدمه.

DB_HOST=127.0.0.1
DB_USER=mastodon
DB_NAME=mastodon
DB_PASS=DBPassword
DB_PORT=5432

قم بتعيين اسم المجال للتطبيق.

LOCAL_DOMAIN=social.example.com

ابحث عن السطور التالية واضبط قيمتها على الأسرار التي أنشأتها.

PAPERCLIP_SECRET=
SECRET_KEY_BASE=
OTP_SECRET=

احفظ الملف واخرج من المحرر.

الآن ، قم بتشغيل الأمر التالي لتوليد Web Push VAPIDالمفاتيح. ستحصل على خطأ أثناء إنشاء مفاتيح Web Push VAPID إذا لم تقم بتعيين الأسرار في ملف التكوين المذكور أعلاه.

RAILS_ENV=production bundle exec rake mastodon:webpush:generate_vapid_key

يجب أن تشاهد الإخراج التالي.

[mastodon@vultr app]$ RAILS_ENV=production bundle exec rake mastodon:webpush:generate_vapid_key
VAPID_PRIVATE_KEY=DCMQdSPkdm-mepsNh4F3suc-UIvsABCvwFd03jSVemM=
VAPID_PUBLIC_KEY=BMMVcVXmqnV0C8S_ybZ7eQH-MXBEX2exqfdPSYQiMMUF2rRxfhoEtVF931i26ebMgmslHB_nvVadOdcBPhaFEjw=

افتح ملف التهيئة مرة أخرى وقم بتعيين المفاتيح التي تم إنشاؤها في الأسطر الخاصة بها.

VAPID_PRIVATE_KEY=
VAPID_PUBLIC_KEY=

أخيرًا ، قم بتوفير معلومات خادم بريد SMTP الخاص بك حتى يتمكن التطبيق من إرسال رسائل بريد إلكتروني إلى المستخدمين. من المهم أن تستخدم خادم SMTP يعمل ، لأنه عند التسجيل الجديد ، سيتم إرسال بريد إلكتروني إلى المستخدمين مع رابط تنشيط. سيتعين على المستخدمين الجدد النقر على رابط التفعيل لتفعيل حساباتهم.

SMTP_SERVER=mail.example.com
SMTP_PORT=456
[email protected]
SMTP_PASSWORD=MailPassword
[email protected]
SMTP_TLS=true

بمجرد الانتهاء ، احفظ الملف واخرج من المحرر. لقد فعلت التكوين الأساسي لمثيل Mastodon.

قم بإعداد قاعدة بيانات PostgreSQL لأول مرة.

RAILS_ENV=production bundle exec rails db:setup

أولاً ، سيقوم الأمر أعلاه بإنشاء قاعدة بيانات جديدة بالاسم المذكور في التكوين. بعد ذلك ، ستكتب قاعدة البيانات وفقًا للتكوين.

Precompile كل CSSو JavaScriptملفات لخلق ذاكرة التخزين المؤقت.

RAILS_ENV=production bundle exec rails assets:precompile

تم تثبيت Mastodon الآن على الخادم الخاص بك. ستحتاج الآن إلى إعداد Nginxخادم ويب لخدمة التطبيق وإعداد Systemdالخدمات لتشغيل خدمات Mastodon.

من الآن فصاعدًا ، سنحتاج إلى تنفيذ الأوامر باستخدام sudoالمستخدم.

قم بتثبيت Nginx باستخدام Let's Encrypt SSL

سنستخدم خادم الويب Nginx كوكيل عكسي لخدمة التطبيق للمستخدمين. سنحصل أيضًا على شهادات SSL ونثبتها من Let's Encrypt.

قم بتثبيت Nginx و Certbot. Certbot هو العميل الرسمي لإصدار الشهادات لـ Let's Encrypt CA.

sudo yum -y install nginx certbot

ضبط إعدادات جدار الحماية للسماح معيار HTTPو HTTPSالموانئ من خلال جدار الحماية من الاحتياجات Certbot لإجراء اتصال HTTP للتحقق من المرجع المجال.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

ملاحظة: للحصول على شهادات من Let's Encrypt CA ، يجب عليك التأكد من أن النطاق الذي ترغب في ��نشاء الشهادات له موجه نحو الخادم. إذا لم يكن الأمر كذلك ، فقم بإجراء التغييرات اللازمة على سجلات DNS الخاصة بنطاقك وانتظر حتى يتم نشر DNS قبل إجراء طلب الشهادة مرة أخرى. يتحقق Certbot من سلطة المجال قبل تقديم الشهادات .

استخدم الآن خادم الويب المدمج في Certbot لإنشاء الشهادات لنطاقك.

sudo certbot certonly --standalone -d social.example.com

من المرجح أن يتم تخزين الشهادات التي تم إنشاؤها في /etc/letsencrypt/live/social.example.com/الدليل. سيتم الاحتفاظ بشهادة SSL كـ fullchain.pemوسيتم حفظ المفتاح الخاص باسم privkey.pem.

تنتهي صلاحية شهادات التشفير خلال 90 يومًا ، لذا يوصى بإعداد التجديد التلقائي للشهادات باستخدام وظائف Cron. Cron هي خدمة نظام تُستخدم لتشغيل المهام الدورية.

افتح ملف مهمة كرون.

sudo crontab -e

أضف السطر التالي.

0 0 * * * /usr/bin/certbot renew --quiet

سيتم تشغيل وظيفة cron المذكورة أعلاه يوميًا في منتصف الليل. إذا كانت الشهادة مستحقة الصلاحية ، فسوف تقوم بتجديدها تلقائيًا.

الآن قم بإنشاء كتلة خادم Nginx جديدة لموقع Mastodon.

sudo nano /etc/nginx/conf.d/mastodon.conf

تعبئة الملف بهذا.

map $http_upgrade $connection_upgrade {
  default upgrade;
  ''      close;
}

server {
  listen 80;
  listen [::]:80;
  server_name social.example.com;
  return 301 https://$host$request_uri;
}

server {
  listen 443 ssl http2;
  listen [::]:443 ssl http2;
  server_name social.example.com;

  ssl_protocols TLSv1.2;
  ssl_ciphers HIGH:!MEDIUM:!LOW:!aNULL:!NULL:!SHA;
  ssl_prefer_server_ciphers on;
  ssl_session_cache shared:SSL:10m;

  ssl_certificate     /etc/letsencrypt/live/social.example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/social.example.com/privkey.pem;

  keepalive_timeout    70;
  sendfile             on;
  client_max_body_size 0;

  root /opt/mastodon/app/public;

  gzip on;
  gzip_disable "msie6";
  gzip_vary on;
  gzip_proxied any;
  gzip_comp_level 6;
  gzip_buffers 16 8k;
  gzip_http_version 1.1;
  gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

  add_header Strict-Transport-Security "max-age=31536000";

  location / {
    try_files $uri @proxy;
  }

  location ~ ^/(emoji|packs|system/accounts/avatars|system/media_attachments/files) {
    add_header Cache-Control "public, max-age=31536000, immutable";
    try_files $uri @proxy;
  }

  location @proxy {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto https;
    proxy_set_header Proxy "";
    proxy_pass_header Server;

    proxy_pass http://127.0.0.1:3000;
    proxy_buffering off;
    proxy_redirect off;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;

    tcp_nodelay on;
  }

  location /api/v1/streaming {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto https;
    proxy_set_header Proxy "";

    proxy_pass http://127.0.0.1:4000;
    proxy_buffering off;
    proxy_redirect off;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;

    tcp_nodelay on;
  }

  error_page 500 501 502 503 504 /500.html;
}

تأكد من تغيير اسم المجال والمسار لشهادات SSL.

يمكنك الآن بدء تشغيل خادم الويب Nginx وتمكينه من بدء التشغيل تلقائيًا.

sudo systemctl start nginx
sudo systemctl enable nginx

سيُطلب منك أيضًا السماح بالمنفذ من 4000خلال جدار الحماية حيث سيوفر المنفذ خدمة واجهة برمجة التطبيقات المتدفقة.

sudo firewall-cmd --permanent --zone=public --add-port=4000/tcp
sudo firewall-cmd --reload

توفير أذونات التنفيذ لدليل Mastodon.

sudo chmod +x /opt/mastodon

إعداد خدمة Systemd

ستحتاج إلى بدء ثلاث عمليات مختلفة لبدء تشغيل خادم Mastodon بنجاح. سيضمن استخدام خدمة Systemd بدء تشغيل خادم Mastodon تلقائيًا عند التمهيد ومعالجة الفشل.

إنشاء خدمة systemd جديدة لتشغيل خدمة الويب Mastodon. ستقوم هذه الخدمة بتشغيل خادم الويب المدمج على المنفذ 3000.

sudo nano /etc/systemd/system/mastodon-web.service

تعبئة الملف بالمحتوى التالي.

[Unit]
Description=Mastodon Web Service
After=network.target

[Service]
Type=simple
User=mastodon
Group=mastodon
WorkingDirectory=/opt/mastodon/app
Environment="RAILS_ENV=production"
Environment="PORT=3000"
ExecStart=/bin/bash -lc 'bundle exec puma -C config/puma.rb'
TimeoutSec=15
Restart=always

[Install]
WantedBy=multi-user.target

إنشاء خدمة Systemd الثانية لتشغيل خدمة قائمة انتظار الخلفية Mastodon. تتولى خدمة قائمة انتظار Mastodon جميع مهام الخلفية.

sudo nano /etc/systemd/system/mastodon-queue.service

تعبئة الملف بالمحتوى التالي.

[Unit]
Description=Mastodon Queue Service
After=network.target

[Service]
Type=simple
User=mastodon
WorkingDirectory=/opt/mastodon/app
Environment="RAILS_ENV=production"
Environment="DB_POOL=5"
ExecStart=/bin/bash -lc 'bundle exec sidekiq -c 5 -q default -q mailers -q pull -q push'
TimeoutSec=15
Restart=always

[Install]
WantedBy=multi-user.target

أخيرًا ، أنشئ ملف الخدمة الأخير لخدمة واجهة برمجة تطبيقات تدفق Mastodon.

sudo nano /etc/systemd/system/mastodon-api.service

تعبئة الملف بالمحتوى التالي.

[Unit]
Description=Mastodon Streaming
After=network.target

[Service]
Type=simple
User=mastodon
WorkingDirectory=/opt/mastodon/app
Environment="NODE_ENV=production"
Environment="PORT=4000"
ExecStart=/bin/npm run start
TimeoutSec=15
Restart=always

[Install]
WantedBy=multi-user.target

قم بتمكين خدمات Mastodon للبدء في وقت التمهيد تلقائيًا.

sudo systemctl enable mastodon-web mastodon-queue mastodon-api 

لبدء تشغيل خدمات Mastodon ، يمكنك تشغيل هذا.

sudo systemctl start mastodon-web mastodon-queue mastodon-api 

للتحقق من حالة الخدمات ، يمكنك تشغيل هذا.

sudo systemctl status mastodon-web mastodon-queue mastodon-api 

استنتاج

يمكنك الآن الوصول إلى تطبيق Mastodon من خلال الانتقال إلى https://social.example.com. قم بإنشاء حساب مستخدم جديد على الخادم الخاص بك وتحقق من حساب المستخدم من خلال فتح الرابط المرسل في البريد الإلكتروني. لتوفير امتيازات المسؤول للحساب الذي أنشأته للتو ، قم بتشغيل هذا.

sudo su - mastodon && cd ~/app
RAILS_ENV=production bundle exec rails mastodon:make_admin USERNAME=<user_name>

استبدل <user_name>باسم المستخدم الفعلي الذي استخدمته لإنشاء الحساب في واجهة Mastodon.

تم تثبيت مثيل Mastodon الخاص بك وتهيئته للتشغيل. ابدأ بدعوة أصدقائك للانضمام إلى مثلك واستكشف الميزات التي يوفرها Mastodon. يمكنك استخدام موقع الشبكات الاجتماعية الخاص بك في الهاتف المحمول عن طريق تنزيل أي من التطبيقات المتاحة لمختلف المنصات.



Leave a Comment

كيفية تثبيت وتكوين CyberPanel على خادم CentOS 7 الخاص بك

كيفية تثبيت وتكوين CyberPanel على خادم CentOS 7 الخاص بك

استخدام نظام مختلف؟ مقدمة تعد CyberPanel واحدة من أولى لوحات التحكم في السوق مفتوحة المصدر وتستخدم OpenLiteSpeed. ما هذا

كيفية تثبيت CMS أكتوبر على CentOS 7

كيفية تثبيت CMS أكتوبر على CentOS 7

أكتوبر هو نظام إدارة محتوى مفتوح المصدر يعتمد على Laravel PHP Framework. مع واجهة أنيقة وبنية وحدات موجزة

قم بتثبيت RockMongo على CentOS 7

قم بتثبيت RockMongo على CentOS 7

RockMongo هي أداة إدارة MongoDB على الويب تشبه أداة إدارة MySQL: phpMyAdmin. سيغطي هذا البرنامج التعليمي عملية التثبيت

كيفية نشر Lets Chat Server على CentOS 7

كيفية نشر Lets Chat Server على CentOS 7

Lets Chat هو تطبيق دردشة مفتوح المصدر مصمم لتوفير خدمة الرسائل ذاتية الاستضافة للفرق الصغيرة. يعتمد Lets Chat على NodeJS و MongoDB

كيفية تثبيت أداة إدارة مشروع Taiga على CentOS 7

كيفية تثبيت أداة إدارة مشروع Taiga على CentOS 7

استخدام نظام مختلف؟ Taiga هو تطبيق مجاني ومفتوح المصدر لإدارة المشاريع. على عكس أدوات إدارة المشاريع الأخرى ، يستخدم Taiga زيادة

كيفية تثبيت المجدول المحجوز على CentOS 7

كيفية تثبيت المجدول المحجوز على CentOS 7

استخدام نظام مختلف؟ المتطلبات الأساسية مثيل خادم Vultr CentOS 7. مستخدم sudo. الخطوة 1: تحديث النظام أولاً ، قم بتحديث خادم النظام الخاص بك إلى th

تثبيت Netdata على CentOS 7

تثبيت Netdata على CentOS 7

استخدام نظام مختلف؟ Netdata هي نجمة صاعدة في مجال مراقبة مقاييس النظام في الوقت الفعلي. مقارنة بالأدوات الأخرى من نفس النوع ، Netdata:

كيفية تثبيت DreamFactory Open Source على CentOS 7

كيفية تثبيت DreamFactory Open Source على CentOS 7

DreamFactory هو برنامج مفتوح المصدر يمكنه تحويل أي قاعدة بيانات إلى منصة RESTful API. يمكن نشر DreamFactory على منصات مختلفة. في ثي

كيفية تثبيت خادم Starbound على CentOS 7

كيفية تثبيت خادم Starbound على CentOS 7

استخدام نظام مختلف؟ في هذا البرنامج التعليمي ، سأشرح لك كيفية إعداد خادم Starbound على CentOS 7. المتطلبات الأساسية يجب أن تمتلك هذه اللعبة عليك

كيفية تثبيت Golang 1.13 على CentOS 8 و Ubuntu 18.04 و Debian 10 و Fedora 31

كيفية تثبيت Golang 1.13 على CentOS 8 و Ubuntu 18.04 و Debian 10 و Fedora 31

Go (تُعرف أيضًا باسم Golang) هي لغة برمجة مكتوبة بشكل ثابت ومجمعة على شكل حرف C تم تطويرها بواسطة Google. جعلت البساطة وتعدد الاستخدامات ب

كيفية تثبيت Django على CentOS 7

كيفية تثبيت Django على CentOS 7

Django هو إطار Python شائع لكتابة تطبيقات الويب. مع Django ، يمكنك بناء التطبيقات بشكل أسرع ، دون إعادة اختراع العجلة. إذا كنت تريد

قم بإعداد خادم SA-MP San Andreas متعدد اللاعبين على CentOS 6

قم بإعداد خادم SA-MP San Andreas متعدد اللاعبين على CentOS 6

مرحبًا بك في برنامج تعليمي Vultr آخر. هنا ، ستتعلم كيفية تثبيت خادم SAMP وتشغيله. تمت كتابة هذا الدليل الخاص بـ CentOS 6. المتطلبات الأساسية التي ستحتاج إليها

تثبيت Revive Adserver على CentOS 7

تثبيت Revive Adserver على CentOS 7

Revive Adserver هو نظام عرض إعلانات مجاني ومفتوح المصدر يمكن استخدامه لإدارة الإعلانات على مواقع الويب و / أو التطبيقات و / أو مشغلات الفيديو. في هذه المقالة ،

قم بتثبيت Elgg على CentOS 7

قم بتثبيت Elgg على CentOS 7

استخدام نظام مختلف؟ Elgg هو محرك تواصل اجتماعي مفتوح المصدر يسمح بإنشاء بيئات اجتماعية مثل الشبكات الاجتماعية في الحرم الجامعي

قم ببناء شبكتك الاجتماعية مع الشتات على CentOS 7

قم ببناء شبكتك الاجتماعية مع الشتات على CentOS 7

استخدام نظام مختلف؟ الشتات هو شبكة اجتماعية مفتوحة المصدر تدرك الخصوصية. في هذا البرنامج التعليمي ، ستتعلم كيفية إعداد وتكوين po Diaspora po

نشر Kubernetes مع Kubeadm على CentOS 7

نشر Kubernetes مع Kubeadm على CentOS 7

نظرة عامة تهدف هذه المقالة إلى مساعدتك في إنشاء مجموعة Kubernetes وتشغيلها باستخدام kubeadm في لمح البصر. سيقوم هذا الدليل بنشر خادمين في

قم بإعداد Sails.js للتطوير على CentOS 7

قم بإعداد Sails.js للتطوير على CentOS 7

استخدام نظام مختلف؟ مقدمة Sails.js هو إطار عمل MVC لـ Node.js ، مشابه لـ Ruby on Rails. يجعل لتطوير التطبيقات الحديثة ver

كيفية تجميع Nginx من المصدر على CentOS 7

كيفية تجميع Nginx من المصدر على CentOS 7

استخدام نظام مختلف؟ يمكن استخدام NGINX كخادم HTTP / HTTPS أو خادم وكيل عكسي أو خادم وكيل بريد أو موازن تحميل أو فاصل TLS أو ذاكرة تخزين مؤقت

كيفية تثبيت dotCMS على CentOS 7

كيفية تثبيت dotCMS على CentOS 7

استخدام نظام مختلف؟ dotCMS هو نظام إدارة محتوى من فئة مفتوحة المصدر مفتوح بلغة جافا. أنه يحتوي تقريبا على كل ميزة مطلوبة ر

كيفية تثبيت PufferPanel (لوحة تحكم Minecraft المجانية) على CentOS 7

كيفية تثبيت PufferPanel (لوحة تحكم Minecraft المجانية) على CentOS 7

مقدمة في هذا البرنامج التعليمي ، سيتم تثبيت PufferPanel على Vultr VPS. PufferPanel هي لوحة تحكم مفتوحة المصدر مجانية للاستخدام لإدارتك

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد