هذا هو النوع الدبياني من الدرس السابق: (تنصيب الحد الأدنى من LAMP لـ LogAnalyzer على CentOS-8) التي تهدف لتخزين جميع السجلات لأجهزتك في مكان واحد (او اكثر اذا ترغب في ذلك) لعرضها و تحليلها كلها في واجهة مستخدم واحد.
ملاحظات:
و كلعادة، لتسجيل دخول كالجذر استعمل su -
، او ابدأ جمبع الأوامر الآتية بــ sudo
.
قد قمنا بكتابة سكربت BASH
لتنفيذ كل مايلي تلقائياً:
إذا كنت ترغب في استخدامها ، فبدلاً من القيام بكل شيء بنفسك ، قم بتنفيذ الأوامر التالية. او، انتقل إلى قسم التثبيت.
root@debian10:~# apt update ; apt install -y git root@debian10:~# git clone https://gitlab.com/unix.cafe/loganalyzer.git root@debian10:~# cd loganalyzer ; git checkout Debian-10 ; bash debian10-setup.sh
التثبيت:
كما هو الحال دائمًا ، تأكد من تحديث خادمنا:
root@debian10:~# apt update && apt upgrade -y
نحتاج ان نضع مخزونة الــ buster-backports
، لنحل مشكلة التبعية لحزمةphp-twig
عندما نريد ان نثبت phpmyadmin
، فهيا لنفعلها:
root@debian10:~# echo 'deb http://deb.debian.org/debian buster-backports main contrib non-free' > /etc/apt/sources.list.d/backports.list && apt update
اذاً يجب علينا ان نثبت الحزم الملزومة:
root@debian10:~# apt install -y mariadb-client mariadb-server apache2 php libapache2-mod-php php-gd php-mysql root@debian10:~# apt install -y rsyslog-mysql ; apt -t buster-backports install php-twig -y root@debian10:~# apt install -y phpmyadmin
دعونا نُفعل ونُشغل Apache و MariaDB:
root@debian10:~# systemctl enable --now apache2.service root@debian10:~# systemctl enable --now mariadb.service
اعداد الــ rsyslog
:
أولاً ، دعنا ننسخ ملف التكوين احتياطيًا ، في حالة فشلنا في بعض الأمور:
root@debian10:~# cp -p /etc/rsyslog.conf{,.def}
في هذه المرحلة ، نحتاج ان نخبر rsyslog
ان يتلقى السجلات المرسلة من أجهزتنا على منفذ 514
لكل من البروتوكولات TCP
و UDP
. لذا دعنا نحرر الملف: /etc/rsyslog.conf
:
نحتاج الآن إلى إلغاء التعليق على الأسطر أعلاه: 16
, 17
, 20
و 21
, لتصبح كتالي:
الآن ، نحتاج إلى إعادة تشغيل خدمة rsyslog
:
root@debian10:~# systemctl restart rsyslog.service
إنشاء قواعد بيانات ومستخدم MariaDB المطلوبة:
عندما ثبتنا rsyslog-mysql
قد أنشأت قاعدة بيانات تسمى “Syslog” بالإضافة إلى المستخدم “rsyslog”. لذا ، نحتاج إلى إنشاء قاعدة بيانات لـ LogAnalyzer ، ومنح كل الإذن للمستخدم “rsyslog” في قاعدتي بيانات “Syslog” و “Loganalyzer”. هيا بنا:
root@debian10:~# mariadb -u root -e "CREATE DATABASE IF NOT EXISTS Loganalyzer;" root@debian10:~# mariadb -u root -e "GRANT ALL ON Syslog.* TO 'rsyslog'@'localhost';" root@debian10:~# mariadb -u root -e "GRANT ALL ON Loganalyzer.* TO 'rsyslog'@'localhost';" root@debian10:~# mariadb -u root -e "FLUSH PRIVILEGES;"
التغير الى ‘mysql_native_password’ ل “root” المستخدم في MariaDB:
تلقيائاً ديبيان يستعلمل “unix_socket” المساعد لمصادقة تسجيل الدخول إلى MariaDB باسم “root”. مما يسمح لك بتسجيل الدخول إلى MariaDB من الطرفية دون الحاجة إلى إدخال أي كلمة مرور طالما قمت بتسجيل الدخول باستخدام “root”. بمعنى آخر ، إذا كانت لديك جلسة طرفية نهائية بإمتيازات “الجذر” ، فيمكنك تسجيل الدخول كمستخدم “الجذر” إلى MariaDB بدون أي كلمات مرور. ومع ذلك ، لا يمكنك استخدام مستخدم MariaDB “الجذر” لتسجيل الدخول عبر phpMyAdmin. لأنه يتطلب كلمة مرور للمصادقة ضد.
اذا ما زلت تريد ان تستخدم “unix_socket“، يمكنك فقط تجاهل ما يلي والقفز إلى قسم “إعداد الجدار الناري (Firewall)
“. إذا لا تريد ذلك ، فقد ترغب في تنفيذ الأوامر التالية (لا تنسَ استبدال toor
بكلمة المرور التي تريد استخدامها لحساب “root”):
root@debian10:~# mariadb -u root -e 'UPDATE mysql.user SET plugin = "mysql_native_password" WHERE User = "root";' root@debian10:~# mariadb -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'toor';" root@debian10:~# mysql_secure_installation
Now let’s restart our MariaDB server:
الآن لنعيد تشغيل الخادم MariaDB:
root@debian10:~# systemctl restart mariadb.service
إعداد الجدار الناري (Firewall):
ديبيان لا تثبت جدار ناري تلقائاً ولكن المفضل في مشتقات دبيان هو ufw
(جدار حماية غير معقد (Uncomplicated FireWall).اذا لا ترغب في استعمال الجدار الناري اذاً اذهب الى قسم “تنزيل وإعداد LogAnalyzer للتثبيت” إذا لا تريد ذلك، اذاً ثبت ufw
:
root@debian10:~# apt install -y ufw
لنقم ب تمكينها
root@debian10:~# systemctl enable --now ufw.service root@debian10:~# ufw enable
نحتاج الآن إلى إبلاغ الجدار الناري الخاص بنا بأننا نريد أن نكون قادرين على تلقي اتصالات على HTTP
و HTTPS
و SSH
و 514/tcp
و 514/UDP
:
root@debian10:~# ufw allow in "WWW Full" comment 'http & https' root@debian10:~# ufw allow in SSH root@debian10:~# ufw allow in 514/tcp comment 'rsyslog (tcp)' root@debian10:~# ufw allow in 514/udp comment 'rsyslog (udp)' root@debian10:~# ufw reload
تنزيل وإعداد LogAnalyzer للتثبيت:
نظرًا لأنني لم أستطع أبدًا الحصول على حزمة loganalyzer
في مستودع دبيان للعمل بشكل صحيح ، فقد نحتاج إلى تنزيلها يدويًا ، ثم نستخرجها إلى المجلد الصحيح.
root@debian10:~# wget http://download.adiscon.com/loganalyzer/loganalyzer-4.1.10.tar.gz -P /tmp root@debian10:~# tar -xzvf /tmp/loganalyzer-*.tar.gz -C /tmp/ root@debian10:~# mkdir /var/www/html/loganalyzer root@debian10:~# cp -pr /tmp/loganalyzer-*/src/ /var/www/html/loganalyzer root@debian10:~# cp -p /tmp/loganalyzer-*/contrib/configure.sh /var/www/html/loganalyzer root@debian10:~# cd /var/www/html/loganalyzer root@debian10:/var/www/html/loganalyzer# bash configure.sh
الآن ، دعنا نزور http://your-server-ip/loganalyzer
، ونبدأ عملية التثبيت.
تذكر فقط ان:
في الخطوة 3:
- تمكين قاعدة بيانات المستخدم: (Enable User Database): yes
- مضيف قاعدة البيانات: (Database Host): localhost
- المنفذ: (Port): 3306
- اسم قاعدة البيانات: (Database Name): Loganalyzer
- بادئة الجدول: (Table prefix):
- مستخدم قاعدة البيانات: (Database User): rsyslog
- كلمة مرور قاعدة البيانات: (Database Password): (مهما اخترت)
في الخطوة 7:
- نوع المصدر: (Source Type): MYSQL Native
- حدد طريقة العرض: (Select View): Syslog Fields
- نوع الجدول: (Table type): MonitorWare
- مضيف قاعدة البيانات: (Database Host): localhost
- اسم قاعدة البيانات: (Database Name): Syslog
- اسم جدول قاعدة البيانات: (Database Tablename): SystemEvents
- مستخدم قاعدة البيانات: (Database User): rsyslog
- كلمة مرور قاعدة البيانات: (Database Password): (مهما اخترت)
- تمكين عد الصفوف: (Enable Row Counting): yes
أو استخدم نص الــ BASH
الذي كتبته لتشغيل كل ما سبق تلقائاً:
root@debian10:~# apt update ; apt install -y git root@debian10:~# git clone https://gitlab.com/unix.cafe/loganalyzer.git root@debian10:~# cd loganalyzer ; git checkout Debian-10 ; bash debian10-setup.sh
استمتع بتوزيعتك الدبيانية 😎