كيفية تثبيت وتكوين CyberPanel على خادم CentOS 7 الخاص بك
استخدام نظام مختلف؟ مقدمة تعد CyberPanel واحدة من أولى لوحات التحكم في السوق مفتوحة المصدر وتستخدم OpenLiteSpeed. ما هذا
LibreNMS هو نظام مراقبة شبكة مفتوح المصدر كامل المواصفات. يستخدم SNMP
للحصول على البيانات من أجهزة مختلفة. يتم دعم مجموعة متنوعة من الأجهزة في LibreNMS مثل Cisco و Linux و FreeBSD و Juniper و Brocade و Foundry و HP وغيرها الكثير. وهو يدعم العديد من آليات المصادقة ويدعم المصادقة الثنائية. لديها نظام تنبيه قابل للتخصيص يمكنه تنبيه مدير الشبكة عبر البريد الإلكتروني أو IRC أو slack.
في هذا البرنامج التعليمي ، سنستخدم nms.example.com
كاسم المجال الموجه نحو مثيل Vultr. يرجى التأكد من استبدال جميع حالات اسم النطاق المثال بالاسم الفعلي.
قم بتحديث نظامك الأساسي باستخدام الدليل كيفية تحديث CentOS 7 . بمجرد تحديث النظام الخاص بك ، انتقل إلى تثبيت التبعيات.
تمت كتابة الواجهة الأمامية لـ LibreNMS بشكل أساسي بلغة PHP ، وبالتالي سنحتاج إلى تثبيت خادم ويب و PHP. في هذا البرنامج التعليمي ، سنقوم بتثبيت Nginx مع PHP 7.2 للحصول على أقصى قدر من الأمان والأداء.
قم بتثبيت Nginx.
sudo yum -y install nginx
قم بتشغيل Nginx وتمكينه من بدء التشغيل تلقائيًا.
sudo systemctl start nginx
sudo systemctl enable nginx
قم بإضافة مستودع Remi وتمكينه ، حيث يحتوي مستودع YUM الافتراضي على إصدار قديم من PHP.
sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --enable remi-php72
قم بتثبيت PHP الإصدار 7.2 مع الوحدات المطلوبة من قبل LibreNMS.
sudo yum -y install php php-cli php-common php-curl php-fpm php-gd php-mcrypt php-mysql php-process php-snmp php-xml php-zip
افتح ملف التهيئة المحمل بواسطة PHP في محرر.
sudo nano /etc/php.ini
ابحث عن السطور التالية ، وغير التعليق وتغيير قيمتها كما هو موضح.
;cgi.fix_pathinfo=1
memory_limit = 128M
;date.timezone =
استخدم هذه القيم بدلاً من ذلك ، Asia/Kolkata
استبدل بالمنطقة الزمنية المحلية.
cgi.fix_pathinfo=0
memory_limit = -1
date.timezone = Asia/Kolkata
ستحتاج أيضًا إلى تغيير المنطقة الزمنية للنظام عن طريق تشغيل الأمر التالي.
sudo ln -sf /usr/share/zoneinfo/Asia/Kolkata /etc/localtime
الآن افتح ملف تكوين PHP-FPM.
sudo nano /etc/php-fpm.d/www.conf
ابحث عن السطر التالي.
listen = 127.0.0.1:9000
استبدلها بالسطر التالي.
listen = /var/run/php-fpm/php-fpm.sock
بشكل افتراضي ، يتم تكوين PHP-FPM لمستخدم خادم الويب Apache. قم بتغيير المستخدم إلى nginx
.
user = nginx
group = nginx
علاوة على ذلك ، قم بإلغاء تعليق الخطوط التالية.
listen.owner = nobody
listen.group = nobody
احفظ الملف واخرج من المحرر. أعد تشغيل PHP-FPM وتمكينه من البدء في وقت التمهيد.
sudo systemctl restart php-fpm
sudo systemctl enable php-fpm
قم بتعيين الملكية المناسبة لملف مأخذ التوصيل.
sudo chown nginx:nginx /var/run/php-fpm/php-fpm.sock
MariaDB هي شوكة في MySQL. أضف مستودع MariaDB إلى نظامك. yum
يحتوي المستودع الافتراضي على إصدار أقدم من MariaDB.
echo "[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1" | sudo tee /etc/yum.repos.d/mariadb.repo
قم بتثبيت MariaDB.
sudo yum -y install mariadb mariadb-server
الآن ، افتح ملف تكوين MySQL.
sudo nano /etc/my.cnf
أضف الأسطر التالية في نهاية الكتلة.
[mysqld]
innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0
أعد تشغيل MariaDB وتمكينه من البدء تلقائيًا في وقت التمهيد.
sudo systemctl restart mariadb
sudo systemctl enable mariadb
قبل تكوين قاعدة البيانات ، ستحتاج إلى تأمين MariaDB أولاً.
sudo mysql_secure_installation
ستتم مطالبتك بكلمة مرور جذر MariaDB الحالية. بشكل افتراضي ، لا توجد كلمة مرور جذرية في تثبيت MariaDB جديد. اضغط على Enter
مفتاح " " للمتابعة. قم بتعيين كلمة مرور قوية root
لمستخدم خادم MariaDB وأجب " Y
" على جميع الأسئلة الأخرى التي يتم طرحها. الأسئلة المطروحة ذاتيّة.
قم بتسجيل الدخول إلى هيكل MySQL كجذر.
mysql -u root -p
أدخل كلمة المرور لمستخدم الجذر MariaDB لتسجيل الدخول.
قم بتشغيل الاستعلامات التالية لإنشاء قاعدة بيانات ومستخدم قاعدة بيانات لتثبيت LibreNMS.
CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;
EXIT;
يمكنك استبدال اسم قاعدة البيانات واسم librenms
المستخدم librenms
وفقًا لاختيارك. يرجى التأكد من التغيير StrongPassword
إلى كلمة مرور قوية للغاية.
بصرف النظر عن التبعيات أعلاه ، يحتاج LibreNMS إلى عدد قليل من التبعيات. قم بتثبيتها عن طريق التشغيل.
sudo yum -y install cronie fping git ImageMagick jwhois mtr MySQL-python net-snmp net-snmp-utils nmap python-memcached rrdtool
إضافة مستخدم جديد غير مميز لتطبيق LibreNMS.
sudo useradd librenms -d /opt/librenms -M -r
sudo usermod -a -G librenms nginx
يمكن تثبيت LibreNMS مباشرة عن طريق استنساخ مستودع Github.
cd /opt
sudo git clone https://github.com/librenms/librenms.git librenms
قم بإصلاح الملكية.
sudo chown librenms:librenms -R /opt/librenms
يعتمد LibreNMS على SNMP في العديد من المهام. نظرًا لأننا قمنا بالفعل بتثبيت SNMP ، انسخ مثال ملف التكوين إلى موقعه.
sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
افتح ملف التكوين في المحرر.
sudo nano /etc/snmp/snmpd.conf
ابحث عن هذا الخط.
com2sec readonly default RANDOMSTRINGGOESHERE
قم بتحرير النص RANDOMSTRINGGOESHERE
واستبدال سلسلة المجتمع بأي سلسلة من اختيارك. فمثلا.
com2sec readonly default my-org
تذكر السلسلة لأنها ستكون مطلوبة لاحقًا عندما نضيف أول جهاز SNMP.
يحتاج SNMP أيضًا إلى معلومات حول إصدار التوزيع. قم بتنزيل وتثبيت البرنامج النصي للعثور على إصدار التوزيع.
sudo curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
sudo chmod +x /usr/bin/distro
ابدأ تشغيل خدمة SNMP daemon وتمكينها من البدء تلقائيًا في وقت التمهيد.
sudo systemctl enable snmpd
sudo systemctl restart snmpd
ستحتاج الآن إلى إضافة بعض إدخالات crontab لتشغيل المهام المجدولة. قم بإنشاء ملف مهمة cron جديد.
sudo nano /etc/cron.d/librenms
قم بملء الملف بالنص التالي.
33 */6 * * * librenms /opt/librenms/cronic /opt/librenms/discovery-wrapper.py 1
*/5 * * * * librenms /opt/librenms/discovery.php -h new >> /dev/null 2>&1
*/5 * * * * librenms /opt/librenms/cronic /opt/librenms/poller-wrapper.py 16
15 0 * * * librenms /opt/librenms/daily.sh >> /dev/null 2>&1
* * * * * librenms /opt/librenms/alerts.php >> /dev/null 2>&1
*/5 * * * * librenms /opt/librenms/poll-billing.php >> /dev/null 2>&1
01 * * * * librenms /opt/librenms/billing-calculate.php >> /dev/null 2>&1
*/5 * * * * librenms /opt/librenms/check-services.php >> /dev/null 2>&1
أعد تشغيل خدمة cron daemon.
sudo systemctl restart crond
قم بالإعداد logrotate
بحيث يتم تحديث ملفات السجل تلقائيًا بمرور الوقت.
sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
أخيرًا ، قم بتعيين الملكية والأذونات المناسبة.
sudo chown -R librenms:nginx /opt/librenms
sudo chmod g+w -R /opt/librenms
sudo setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs
sudo setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs
لا يتم تأمين تسجيلات الدخول والمعلومات الأخرى المرسلة من خلال واجهة الويب الخاصة بـ LibreNMS إذا لم يتم تشفير الاتصال باستخدام SSL. سنقوم بتكوين Nginx لاستخدام SSL الذي تم إنشاؤه باستخدام Let's Encrypt free SSL.
قم بتثبيت Certbot ، وهو تطبيق العميل لـ Let's Encrypt CA.
sudo yum -y install certbot
قبل أن تتمكن من طلب الشهادات، سوف تحتاج للسماح للميناء 80
و 443
، أو معيار HTTP
و HTTPS
الخدمات من خلال جدار الحماية.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload
ملاحظة : للحصول على شهادات من Let's Encrypt CA ، يجب توجيه النطاق الذي سيتم إنشاء الشهادات من أجله إلى الخادم. إذا لم يكن الأمر كذلك ، قم بإجراء التغييرات اللازمة على سجلات DNS للمجال وانتظر DNS للنشر قبل إجراء طلب الشهادة مرة أخرى. يتحقق Certbot من سلطة المجال قبل تقديم الشهادات.
إنشاء شهادات SSL:
sudo certbot certonly --webroot -w /usr/share/nginx/html -d nms.example.com
من المرجح أن يتم تخزين الشهادات التي تم إنشاؤها في /etc/letsencrypt/live/nms.example.com/
الدليل. سيتم تخزين شهادة SSL كـ وسيتم تخزين fullchain.pem
المفتاح الخاص كـ privkey.pem
.
تنتهي صلاحية شهادات التشفير في غضون 90 يومًا ، وبالتالي يوصى بإعداد التجديد التلقائي للشهادات باستخدام وظيفة cron.
افتح ملف مهمة كرون.
sudo crontab -e
أضف السطر التالي في نهاية الملف.
30 5 * * 1 /usr/bin/certbot renew --quiet
سيتم تشغيل وظيفة cron المذكورة أعلاه كل يوم إثنين الساعة 5:30 صباحًا بالتوقيت المحلي. إذا كانت الشهادة ستنتهي صلاحيتها ، فسيتم تجديدها تلقائيًا.
إنشاء مضيف افتراضي جديد.
sudo nano /etc/nginx/conf.d/nms.example.com.conf
تعبئة الملف.
server {
listen 80;
server_name nms.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name nms.example.com;
ssl_certificate /etc/letsencrypt/live/nms.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/nms.example.com/privkey.pem;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /opt/librenms/logs/librenms.nginx.access.log;
root /opt/librenms/html;
index index.php;
charset utf-8;
gzip on;
gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location /api/v0 {
try_files $uri $uri/ /api_v0.php?$query_string;
}
location ~ \.php {
include fastcgi.conf;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
استبدل nms.example.com
بنطاقك الفعلي في التكوين أعلاه.
أعد تشغيل Nginx.
sudo chown nginx:nginx /var/lib/php/session
sudo systemctl restart nginx
لإنهاء التثبيت ، افتح https://nms.example.com
المتصفح المفضل لديك. سترى تلبية المتطلبات. قدم تفاصيل قاعدة البيانات الخاصة بك وإنشاء حساب إداري جديد. بمجرد التثبيت ، ستحصل على رسالة للتحقق من التثبيت. انقر فوق الارتباط وقم بتسجيل الدخول باستخدام حساب المسؤول. سترى أن كل شيء ما عدا الحالة " Poller
" له حالة " Ok
".
الآن ، انقر على الرابط لإضافة جهاز. على Add Device
واجهة " " ، قدم اسم المضيف مثل المضيف المحلي واترك كل شيء كما هو. قدم سلسلة المجتمع الخاص بك في مجال المجتمع. يجب أن تكون نفس السلسلة التي قدمتها بالضبط snmpd.conf
أثناء تكوين SNMP.
بمجرد إضافة الجهاز ، يمكنك رؤية التفاصيل بالانتقال إلى Devices
علامة التبويب "".
وبالمثل ، يمكنك إضافة المزيد من الأجهزة إلى تطبيق LibreNMS لرصد "على مدار الساعة".
استخدام نظام مختلف؟ مقدمة تعد 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. قراءة هذه المادة لمعرفة المزيد