كيفية تثبيت وتكوين CyberPanel على خادم CentOS 7 الخاص بك
استخدام نظام مختلف؟ مقدمة تعد CyberPanel واحدة من أولى لوحات التحكم في السوق مفتوحة المصدر وتستخدم OpenLiteSpeed. ما هذا
Icinga2 هو نظام مراقبة قوي ، وعند استخدامه في نموذج العميل الرئيسي ، يمكنه استبدال الحاجة إلى فحوصات المراقبة المستندة إلى NRPE. نموذج العميل الرئيسي أكثر أمانًا لأسباب مختلفة . كما يسمح بمزيد من المراقبة الموزعة من خلال السماح بتعديل الشيكات على خادم واحد ونشرها على الآخرين. كما أنه يوفر موقعًا مركزيًا واحدًا للتغييرات.
على سبيل المثال: لنفترض أن لديك 4 خوادم ويب مختلفة متوازنة. إذا كنت تعلم أنه سيكون لديك ارتفاع في الحمل قادم (ربما عملية بيع أو شيء تتوقع الكثير من النشاط) ، فقد ترغب في زيادة المستويات التي ينبهك فيها استخدام وحدة المعالجة المركزية المرتفع لمسؤولي النظام. إذا كنت تستخدم فحوصات NRPE ، فستحتاج إلى الانتقال إلى كل خادم وتعديل /etc/nrpe.d/common_commands.cfgالمستند على كل خادم . في نموذج العميل الرئيسي ، يمكنك ببساطة تعديل تعريفات المضيف الخاصة بهم في /etc/icinga2/repository.d/hosts/المجلد ، ثم إعادة تحميل Icinga. سيتم نشر الشيكات لكل خادم وسيتم استلامها تلقائيًا. يمكنك أيضًا إضافة الفحوصات بسهولة كبيرة عن طريق تعديل /etc/icinga2/repository.d/services/الملفات ، وسيتم نشرها تلقائيًا والتعرف عليها ، طالما أن المكونات الإضافية موجودة على خوادم العميل.
icinga2master.example.com.icinga2client.example.com.سيعكس بعض هذا الدليل تعليمات التثبيت المذكورة أعلاه ، ولكن يجب أن يتم ذلك على جهاز العميل وليس على جهاز الخادم.
إضافة الريبو "ICINGA" إلى نظام العميل لتثبيت حزم Icinga.
sudo cat > /etc/yum.repos.d/ICINGA-release.repo << 'EOF'
[icinga-stable-release]
name=ICINGA (stable release for epel)
baseurl=http://packages.icinga.org/epel/$releasever/release/
enabled=1
gpgcheck=1
gpgkey=http://packages.icinga.org/icinga.key
EOF
قم بتثبيت الحزم المطلوبة.
# CentOS 6
sudo yum -y install icinga2 mysql-server mysql icinga2-ido-mysql nagios-plugins-disk nagios-plugins-load nagios-plugins-procs nagios-plugins-ssh nagios-plugins-users nagios-plugins-swap nagios-plugins-ping icingacli
# CentOS 7
sudo yum -y install icinga2 mariadb-server mysql icinga2-ido-mysql nagios-plugins-disk nagios-plugins-load nagios-plugins-procs nagios-plugins-ssh nagios-plugins-users nagios-plugins-swap nagios-plugins-ping icingacli
يستخدم CentOS 7 MariaDB بدلاً من MySQL ، لذلك تختلف الحزم الضرورية قليلاً. ابدأ تشغيل الخدمات واضبطها لبدء التشغيل.
sudo chkconfig icinga2 on
sudo service icinga2 start
قم بتعيين خدمة MySQL للبدء في التمهيد وابدأ الآن حتى نتمكن من تأمينها.
# CentOS 6
sudo chkconfig mysqld on
sudo service mysqld start
#CentOS 7
sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service
تأمين تثبيت MySQL / MariaDB. يستخدم كل من CentOS 6 و 7 نفس الأمر.
sudo mysql_secure_installation
أثناء العملية ، أجب عن الأسئلة كما هو موضح:
Enter current password for root (enter for none): Enter
Set root password? [Y/n]: Y
New password: $newRootPassword
Re-enter new password: $newRootPassword
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y
قم بتدوين الملاحظات $newRootPasswordحيث ستحتاج إليها عدة مرات ، ومن الصعب إعادة ضبطها.
تحتاج إلى إنشاء icingaاسم المستخدم ، واستيراد المخطط إلى قاعدة البيانات. يتم ذلك بنفس الطريقة على كل من CentOS 6 و 7.
sudo mysql -u root -p
>CREATE DATABASE icinga;
>GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY '$someIcingaPassword';
>exit
بعد ذلك ، قم باستيراد المخطط إلى قاعدة البيانات التي أنشأتها للتو.
sudo mysql -u root -p icinga < /usr/share/icinga2-ido-mysql/schema/mysql.sql
سوف تحتاج إلى إدخال $newRootPasswordماي / MariaDB لكلمة المرور التي استخدمتها خلال mysql_secure_installationالأمر أعلاه، لا ل $someIcingaPasswordقمت بإنشائها فقط - يستخدم واحد في وقت لاحق.
تمكين وحدة ido(قاعدة البيانات).
sudo icinga2 feature enable ido-mysql
ستحتاج إلى تحرير /etc/icinga2/features-enabled/ido-mysql.confالملف لإضافة معلومات قاعدة البيانات. يمكنك القيام بذلك باستخدام الأمر التالي.
sudo vi /etc/icinga2/features-enabled/ido-mysql.conf
في هذا الملف ، ابحث عن الأسطر التي تم التعليق عليها (ابدأ بـ //).
//user = "icinga"
//password = "icinga"
//host = "localhost"
//database = "icinga"
... وقم بتحريرها باستخدام المستخدم / كلمة المرور التي أنشأتها للتو.
user = "icinga"
password = "$someIcingaPassword"
host = "localhost"
database = "icinga"
تأكد من إلغاء تعليق الخطوط عن طريق إزالة الخطين الأوليين.
بعد ذلك ، أعد تشغيل الخدمة لالتقاط التغييرات.
sudo service icinga2 restart
ستحتاج إلى إضافة اتصال بين خادم العميل و Icinga2 الرئيسي الذي تم تكوينه بالفعل. ستحتاج إلى القيام بذلك باستخدام جدار الحماية على CentOS 7 ، أو IPTables في CentOS 6 أو 7.
# CentOS 6
sudo vi /etc/sysconfig/iptables
...
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5665 -j ACCEPT
...
#Icinga2 Master
-A OUTPUT -p tcp -m state --state NEW -m tcp --dport 5665 -j ACCEPT
sudo iptables restart
# CentOS 7
sudo firewall-cmd --add-port=5665/tcp --permanent
sudo firewall-cmd --reload
الآن ، قم بتحرير ملف hosts لإضافة الرئيسي كاسم مجال محلي.
sudo vi /etc/hosts
...
$masterIP icinga2master icinga2master.example.com
يجب القيام بهذه الخطوة على Icinga2 الرئيسي. ستحتاج إلى تهيئتها على أنها رئيسية ، ثم إنشاء طلب توقيع شهادة سيستخدمه عميلك للتواصل.
sudo icinga2 node wizard
سيؤدي هذا إلى تشغيل معالج العقدة ، والذي سيسألك عدة أسئلة. ستبدو الشاشة كما يلي ، ويتم سرد الإجابات التي ستقدمها.
Welcome to the Icinga 2 Setup Wizard!
We'll guide you through all required configuration details.
Please specify if this is a satellite setup ('n' installs a master setup) [Y/n]: n
Starting the Master setup routine...
Please specify the common name (CN) [icinga2-master1.localdomain]: icinga2master.example.com
Checking for existing certificates for common name 'icinga2master.example.com'...
Certificates not yet generated. Running 'api setup' now.
information/cli: Generating new CA.
information/base: Writing private key to '/var/lib/icinga2/ca/ca.key'.
information/base: Writing X509 certificate to '/var/lib/icinga2/ca/ca.crt'.
information/cli: Generating new CSR in '/etc/icinga2/pki/icinga2master.example.com.csr'.
information/base: Writing private key to '/etc/icinga2/pki/icinga2master.example.com.key'.
information/base: Writing certificate signing request to '/etc/icinga2/pki/icinga2master.example.com.csr'.
information/cli: Signing CSR with CA and writing certificate to '/etc/icinga2/pki/icinga2master.example.com.crt'.
information/cli: Copying CA certificate to '/etc/icinga2/pki/ca.crt'.
Generating master configuration for Icinga 2.
information/cli: Adding new ApiUser 'root' in '/etc/icinga2/conf.d/api-users.conf'.
information/cli: Enabling the 'api' feature.
Enabling feature api. Make sure to restart Icinga 2 for these changes to take effect.
information/cli: Dumping config items to file '/etc/icinga2/zones.conf'.
information/cli: Created backup file '/etc/icinga2/zones.conf.orig'.
Please specify the API bind host/port (optional):
Bind Host []: <hit enter>
Bind Port []: <hit enter>
information/cli: Created backup file '/etc/icinga2/features-available/api.conf.orig'.
information/cli: Updating constants.conf.
information/cli: Created backup file '/etc/icinga2/constants.conf.orig'.
information/cli: Updating constants file '/etc/icinga2/constants.conf'.
information/cli: Updating constants file '/etc/icinga2/constants.conf'.
information/cli: Updating constants file '/etc/icinga2/constants.conf'.
Done.
Now restart your Icinga 2 daemon to finish the installation!
ثم أعد تشغيل Icinga2 لالتقاط التغييرات.
sudo service icinga2 restart
الآن بعد أن أصبح سيدًا ، يمكنك استخدامه لإنشاء سلسلة طلب توقيع الشهادة.
sudo icinga2 pki ticket --cn icinga2client.example.com
ستحصل على بعض الخيط $pkiString. انسخ هذه السلسلة ، حيث ستحتاجها على العميل.
قم بتشغيل معالج العقدة لإنشاء الشهادات والاتصال بالسيد.
sudo icinga2 node wizard
ستظهر صفحة مشابهة لما سبق. هذه الصفحة موضحة أدناه مع الإجابات المضمنة.
Welcome to the Icinga 2 Setup Wizard!
We'll guide you through all required configuration details.
Please specify if this is a satellite setup ('n' installs a master setup) [Y/n]: Y
Starting the Node setup routine...
Please specify the common name (CN) [icinga2client.example.com]:
Please specify the master endpoint(s) this node should connect to:
Master Common Name (CN from your master setup): icinga2master.example.com
Do you want to establish a connection to the master from this node? [Y/n]: Y
Please fill out the master connection information:
Master endpoint host (Your master's IP address or FQDN): icinga2master.example.com
Master endpoint port [5665]: 5665
Add more master endpoints? [y/N]: N
Please specify the master connection for CSR auto-signing (defaults to master endpoint host):
Host [icinga2master.example.com]: icinga2master.example.com
Port [5665]: 5665
information/cli: Created backup file '/etc/icinga2/pki/icinga2client.example.com.key.orig'.
information/cli: Created backup file '/etc/icinga2/pki/icinga2client.example.com.crt.orig'.
information/base: Writing private key to '/etc/icinga2/pki/icinga2client.example.com.key'.
information/base: Writing X509 certificate to '/etc/icinga2/pki/icinga2client.example.com.crt'.
information/cli: Fetching public certificate from master (icinga2master.example.com, 5665):
Certificate information:
Subject: CN = icinga2master.example.com
Issuer: CN = Icinga CA
Valid From: Jan 10 21:08:37 2017 GMT
Valid Until: Jan 7 21:08:37 2032 GMT
Fingerprint: FE 72 AB F3 18 A5 12 E0 0C 5D 94 8B 96 C4 57 3B 00 5C E0 04
Is this information correct? [y/N]: Y
information/cli: Received trusted master certificate.
Please specify the request ticket generated on your Icinga 2 master.
(Hint: # icinga2 pki ticket --cn 'icinga2client.example.com'): $pkiString
information/cli: Requesting certificate with ticket '$pkiString'.
warning/cli: Backup file '/etc/icinga2/pki/icinga2client.example.com.crt.orig' already exists. Skipping backup.
information/cli: Writing signed certificate to file '/etc/icinga2/pki/icinga2client.example.com.crt'.
information/cli: Writing CA certificate to file '/etc/icinga2/pki/ca.crt'.
Please specify the API bind host/port (optional):
Bind Host []: <enter key>
Bind Port []: <enter key>
Accept config from master? [y/N]: Y
Accept commands from master? [y/N]: Y
information/cli: Disabling the Notification feature.
Disabling feature notification. Make sure to restart Icinga 2 for these changes to take effect.
information/cli: Enabling the Apilistener feature.
warning/cli: Feature 'api' already enabled.
information/cli: Created backup file '/etc/icinga2/features-available/api.conf.orig'.
information/cli: Generating local zones.conf.
information/cli: Dumping config items to file '/etc/icinga2/zones.conf'.
information/cli: Created backup file '/etc/icinga2/zones.conf.orig'.
information/cli: Updating constants.conf.
information/cli: Created backup file '/etc/icinga2/constants.conf.orig'.
information/cli: Updating constants file '/etc/icinga2/constants.conf'.
information/cli: Updating constants file '/etc/icinga2/constants.conf'.
Done.
Now restart your Icinga 2 daemon to finish the installation!
المضي قدما وإعادة Icinga2 لالتقاط التغييرات.
sudo icinga2 restart
قد يتم ذلك بالفعل ، ولكن عليك التأكد من تمكين ميزات الأمر و API.
sudo icinga2 feature enable command
sudo icinga2 feature enable api
إذا لم يتم تمكينها ، فستظهر عبارة "تم تمكين الميزة" ، لذا ستحتاج إلى إعادة تشغيل البرنامج الخفي Icinga2. ولكن أولاً ، تحتاج إلى تغيير ملكية الملفات الموجودة في /etc/icinga2الدليل ، حيث يمتلك بعضها أذونات خاطئة بعد تشغيل معالج العقدة. يجب أن يكون لديهم مجموعة ومالك icinga. قم بتغيير الأذونات باستخدام الأمر التالي:
sudo chown -R icinga:icinga /etc/icinga2/
الآن ، يمكنك إعادة تشغيل البرنامج الخفي Icinga2.
sudo service icinga2 restart
يتطلب تكوين العميل تحرير بعض الملفات المختلفة.
/etc/icinga2/zones.conf: يحتوي على نقاط النهاية (الخوادم) والمناطق التي تحتوي عليها. هذه هي الطريقة التي يتم تقسيم الخوادم. تأكد من مطابقة أسماء العملاء لأسماء الخادم./etc/icinga2/icinga2.conf: أنت تقبل الأوامر والتكوينات من الرئيسي ، لذلك تحتاج إلى إجراء تعديل بسيط على هذا الملف لتجنب تعريفات الأوامر المكررة.أولاً ، سنقوم بتعديل zones.confالملف لتحديد الخادم والمنطقة التي يتواجد بها ، بالإضافة إلى إنشاء منطقة "عامة" لتعريفات الأوامر العامة لجميع الخوادم ، بدلاً من أن تكون فريدة لكل منها (مثل عمليات فحص القرص) .
sudo vi /etc/icinga2/zones.conf
object Zone clientZone {
endpoints = [ "icinga2master.example.com" ]
}
object Zone "global-templates" { # Add global templates zone
global = true
}
object Endpoint NodeName {
host = "$icinga2clientIP"
}
object Zone ZoneName {
endpoints = [ NodeName ]
parent = clientZone
}
من المهم أن تعرف أنه لا يمكن أن يكون هناك سوى عقدتين لكل منطقة في الوقت الحالي. يمكنك إنشاء العديد من المناطق كما يحلو لك ، ولكن إذا كان هناك أكثر من عقدتين لكل منطقة ، فهناك احتمال ألا تعمل خدمة Icinga2 بشكل صحيح. هذه ليست مشكلة على العميل ، إلا إذا كان لديك بالفعل عقدتين في المنطقة clientZone، وفي هذه الحالة ستحتاج إلى إنشاء اسم منطقة آخر.
الآن ، قم بإجراء التعديل في /etc/icinga2/icinga2.confالملف. تحتاج إلى التعليق خارج الخط include_recursive "conf.d".
sudo vi /etc/icinga2/icinga2.conf
...
//include_recursive "conf.d"
...
تحقق من التكوين لضمان تنسيق كل شيء بشكل صحيح.
sudo icinga2 daemon -C
إذا واجهت مشاكل في الأذونات ، فمن المحتمل أن هذا العنصر مملوك root:root. توصل icinga:icingaإلى حل.
sudo chown -R icinga:icinga /etc/icinga2/
هناك مشكلات أخرى تتعلق بالتكوينات ، بشكل عام تكون المعلومات المقدمة من إخراج sudo icinga2 daemon -Cالأمر مطولة بما يكفي لتعقبها. إن معالجة كل مشكلة محتملة تطرأ تقع خارج نطاق هذا الدليل.
إذا نجح التحقق ، فتابع وأعد تحميل الخدمة:
sudo service icinga2 restart
ستحتاج إلى منح icingaالمستخدم أذونات sudo حتى يمكن تشغيل الأوامر. سيتم تقييد أذونات sudo هذه إلى دليل البرنامج المساعد المحدد. يمكن وضع هذا في نهاية الملف.
sudo vi /etc/sudoers
...
Defaults:icinga !requiretty
icinga ALL=(ALL) NOPASSWD: /usr/lib64/nagios/plugins/
الآن تم الانتهاء من تكوين العميل رسميًا. لا تحتاج إلى إجراء أي تعديلات أخرى ، سيتم تكوين أي عمليات فحص للخدمة على الرئيسي وسيتم نشرها إلى العميل. ومع ذلك ، ستحتاج إلى تثبيت أي مكونات إضافية قد تحتاجها. يمكن أيضًا كتابة المكونات الإضافية باستخدام python و perl و BASH و PHP ولغات كتابية أخرى.
ستحتاج إلى العودة إلى الرئيسي لتكوين العميل بحيث يمكن توصيله. هناك بعض الخطوات التي يجب اتخاذها:
repository.d.سيتم إدخال تكوين المضيف في /etc/icinga2/repository.d/hosts/icinga2client.example.com.confالملف.
sudo vi /etc/icinga2/repository.d/hosts/icinga2client.example.com.conf
object Host "icinga2client.example.com" {
import "satellite-host"
address = "$icinga2clientIP"
vars.os = "Linux"
}
sudo chown icinga:icinga /etc/icinga2/repository.d/hosts/icinga2client.example.com.conf
الآن المضيف موجود في تكوين العميل ، ولكن يجب وضعه في منطقة. ستكون هذه المنطقة في /etc/icinga2/repository.d/zonesالمجلد ، بنفس اسم اسم المنطقة لتسهيل تتبعها.
sudo vi /etc/icinga2/repository.d/zones/clientZone.conf
object Zone "clientZone" {
endpoints = [ "icinga2client.example.com" ]
parent = "icinga2master.example.com"
}
بعد ذلك ، تحتاج إلى إضافة global-templatesالمنطقة.
sudo vi /etc/icinga2/repository.d/zones/global-templates.conf
object Zone "global-templates" {
global = true
}
وأخيرًا ، أضف نقطة نهاية العميل بحيث يتم تع��ئة صفيف نقاط النهاية "clientZone" عند تشغيله.
sudo vi /etc/icinga2/repository.d/endpoints/icinga2client.example.com.conf
#Change values to match the host you're adding
object Endpoint "icinga2client.example.com" {
host = "$icinga2clientIP"
}
من أجل التأكد من عدم وجود مشكلات في الأذونات ، تابع وقم بتغيير المالك / المجموعة مرة أخرى.
sudo chown -R icinga:icinga /etc/icinga2
تحقق من تغييرات التكوين للتأكد من عدم وجود المزيد من المشكلات.
sudo icinga2 daemon -C
إذا نجح التحقق ، فانتقل إلى إعادة التحميل.
sudo service icinga2 restart
إذا قمت بزيارة موقع ويب Icinga2 الخاص بك ، فسترى أن الخادم يمكن الوصول إليه.
قد تواجه أخطاء حول "الأمر غير موجود" أو "التحقق غير محدد". هنا يأتي دور منطقة القوالب العالمية. ستحتاج إلى نسخ التكوين في /etc/icinga2/conf.d/الملفات ووضعها في /etc/icinga2/zones.d/global-templates/الملفات. على سبيل المثال ، لإنشاء أمر "check_software" ، ستحتاج إلى القيام بما يلي.
sudo mkdir /etc/icinga2/zones.d/global-templates
sudo vi /etc/icinga2/zones.d/global-templates/commands.conf
object CheckCommand "check_software" {
import "plugin-check-command"
command = [ "/usr/bin/sudo", PluginDir + "/software_service_check.sh" ]
}
يجب أن يكون software_service_check.shالملف موجودًا في /usr/lib64/nagios/pluginsالمجلد الموجود على العميل .
بعد ذلك ، أضف فحص الخدمة إلى /etc/icinga2/repository.d/hosts/services.confالملف.
sudo vi /etc/icinga2/repository.d/hosts/services/services.conf
apply Service "Check Software Service" {
import "mail-service"
check_command = "check_software" # This check command is the same name as the one you defined in global-templates/commands.conf
assign where host.vars.client_endpoint # This will apply to every client server. If you need it to be more restrictive, you should look into custom variables
}
ستحتاج إلى تغيير الأذونات مرة أخرى.
sudo chown -R icinga:icinga /etc/icinga2
ثم أعد التحقق من التكوين.
sudo icinga2 daemon -C
أخيرًا ، إذا نجحت ، فأعد تحميل:
sudo service icinga2 restart
تهانينا! أنت الآن تستخدم Icinga2 في نموذج عميل رئيسي ويمكنك الآن تجنب الاضطرار إلى استخدام اختبارات NRPE غير الآمنة!
استخدام نظام مختلف؟ مقدمة تعد CyberPanel واحدة من أولى لوحات التحكم في السوق مفتوحة المصدر وتستخدم OpenLiteSpeed. ما هذا
أكتوبر هو نظام إدارة محتوى مفتوح المصدر يعتمد على Laravel PHP Framework. مع واجهة أنيقة وبنية وحدات موجزة
RockMongo هي أداة إدارة MongoDB على الويب تشبه أداة إدارة MySQL: phpMyAdmin. سيغطي هذا البرنامج التعليمي عملية التثبيت
Lets Chat هو تطبيق دردشة مفتوح المصدر مصمم لتوفير خدمة الرسائل ذاتية الاستضافة للفرق الصغيرة. يعتمد Lets Chat على NodeJS و MongoDB
استخدام نظام مختلف؟ Taiga هو تطبيق مجاني ومفتوح المصدر لإدارة المشاريع. على عكس أدوات إدارة المشاريع الأخرى ، يستخدم Taiga زيادة
استخدام نظام مختلف؟ المتطلبات الأساسية مثيل خادم Vultr CentOS 7. مستخدم sudo. الخطوة 1: تحديث النظام أولاً ، قم بتحديث خادم النظام الخاص بك إلى th
استخدام نظام مختلف؟ Netdata هي نجمة صاعدة في مجال مراقبة مقاييس النظام في الوقت الفعلي. مقارنة بالأدوات الأخرى من نفس النوع ، Netdata:
DreamFactory هو برنامج مفتوح المصدر يمكنه تحويل أي قاعدة بيانات إلى منصة RESTful API. يمكن نشر DreamFactory على منصات مختلفة. في ثي
استخدام نظام مختلف؟ في هذا البرنامج التعليمي ، سأشرح لك كيفية إعداد خادم Starbound على CentOS 7. المتطلبات الأساسية يجب أن تمتلك هذه اللعبة عليك
Go (تُعرف أيضًا باسم Golang) هي لغة برمجة مكتوبة بشكل ثابت ومجمعة على شكل حرف C تم تطويرها بواسطة Google. جعلت البساطة وتعدد الاستخدامات ب
Django هو إطار Python شائع لكتابة تطبيقات الويب. مع Django ، يمكنك بناء التطبيقات بشكل أسرع ، دون إعادة اختراع العجلة. إذا كنت تريد
مرحبًا بك في برنامج تعليمي Vultr آخر. هنا ، ستتعلم كيفية تثبيت خادم SAMP وتشغيله. تمت كتابة هذا الدليل الخاص بـ CentOS 6. المتطلبات الأساسية التي ستحتاج إليها
Revive Adserver هو نظام عرض إعلانات مجاني ومفتوح المصدر يمكن استخدامه لإدارة الإعلانات على مواقع الويب و / أو التطبيقات و / أو مشغلات الفيديو. في هذه المقالة ،
استخدام نظام مختلف؟ Elgg هو محرك تواصل اجتماعي مفتوح المصدر يسمح بإنشاء بيئات اجتماعية مثل الشبكات الاجتماعية في الحرم الجامعي
استخدام نظام مختلف؟ الشتات هو شبكة اجتماعية مفتوحة المصدر تدرك الخصوصية. في هذا البرنامج التعليمي ، ستتعلم كيفية إعداد وتكوين po Diaspora po
نظرة عامة تهدف هذه المقالة إلى مساعدتك في إنشاء مجموعة Kubernetes وتشغيلها باستخدام kubeadm في لمح البصر. سيقوم هذا الدليل بنشر خادمين في
استخدام نظام مختلف؟ مقدمة Sails.js هو إطار عمل MVC لـ Node.js ، مشابه لـ Ruby on Rails. يجعل لتطوير التطبيقات الحديثة ver
استخدام نظام مختلف؟ يمكن استخدام NGINX كخادم HTTP / HTTPS أو خادم وكيل عكسي أو خادم وكيل بريد أو موازن تحميل أو فاصل TLS أو ذاكرة تخزين مؤقت
استخدام نظام مختلف؟ dotCMS هو نظام إدارة محتوى من فئة مفتوحة المصدر مفتوح بلغة جافا. أنه يحتوي تقريبا على كل ميزة مطلوبة ر
مقدمة في هذا البرنامج التعليمي ، سيتم تثبيت PufferPanel على Vultr VPS. PufferPanel هي لوحة تحكم مفتوحة المصدر مجانية للاستخدام لإدارتك
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".
هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.
اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.
اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.
لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟
مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.
ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!
ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.
أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد