یکی از چالش بر انگیزترین روشهای نصب زبیکس ، نصب کردن زبیکس از سورس است. شما در این روش نصب ، مجبور هستید همه فرآیندهایی که بصورت خودکار در نصب زبیکس در حالت عادی انجام می شده است را بصورت دستی انجام دهید. قبل از نوشتن این مقاله ، خیلی در اینترنت برای پیدا کردن یک راهنمای جامع نصب زبیکس از سورس جستجو کردم و در نهایت به نتیجه خاص و درستی نرسیدم ، تصمیم گرفتم کل فرآیند نصبی که خودم بصورت موفقیت آمیز انجام داده بودم را برای شما به زبان ساده در قالب این مقاله آماده کنم پس با دقت به مراحل دقت کنید و چیزی را از قلم نیندازید.
فرآیند نصب زبیکس از سورس کد از نظر من به 13 مرحله تقسیم بندی می شود که در ابتدا شما باید این 20 مرحله را بشناسید و طبق آن جلو بروید تا به مشکلی در نصب بر نخورید ، این مراحل شامل موارد زیر هستند :
ما تمامی مراحل را بر روی سیستم عامل CentOS 8 انجام می دهیم ، شما می توانید بر روی Rocky Linux یا RHEL نیز تمامی مراحل را دنبال کنید. توصیه شخصی من این است که برای اینکه طی فرآیند پیکربندی زبیکس به مشکل نخورید ، ابتدا پکیج های نرم افزاری را به روز رسانی کنید ، بنابراین دستور زیر را وارد کنید :
sudo dnf update
sudo dnf upgrade
ممکن است فایروال و SELinux برای شما مشکل ساز شوند ، آنها را بصورت موقتی غیرفعال می کنیم و در انتها و بعد از اینکه فرآیند نصب کامل شد ، مجددا پیکربندی می کنیم ، برای غیرفعال کردن فایروال دستور زیر را وارد کنید :
systemctl stop firewalld.service
systemctl disable firewalld
برای غیرفعال کردن SELinux باید فایل /etc/sysconfig/selinux را باز کرده و مطمئن شوید SELINUX=disabled است .
سپس فایل را ببندید و خارج شوید و یکبار سیستم عامل را Reboot کنید تا تغییرات اعمال شود.
-------------------------------------------------
برای دسترسی به مجموعه بهترین دوره های آموزش شبکه های کامپیوتری ( مبانی شبکه ، نتورک پلاس ، مانیتورینگ و ... ) مقدماتی تا پیشرفته با ارائه گواهینامه و فیلم رایگان همین الان کلیک کن
--------------------------------------------------
برای اینکه زبیکس شما به درستی کار کند شما نیاز به نصب کردن وب سرور آپاچی و بانک اطلاعاتی MySQL دارید ، با استفاده از دستور زیر شما می توانید آپاچی را نصب کنید :
dnf install httpd httpd-tools
بعد از نصب شدن آپاچی ، شما سرویس آن را باید ابتدا start و سپس enable کنید تا بعد از reboot شدن سیستم عامل سرور ، همچنان فعال باشد ، اینکار از طریق وارد کردن دستور زیر انجام می شود :
systemctl enable httpd.service
systemctl start httpd.service
در مرحله بعدی شما باید بانک اطلاعاتی MySQL را با استفاده از دستور زیر نصب کنید :
dnf -y install @mysql
مشابه کاری که برای سرویس آپاچی انجام دادیم ، برای سرویس MySQL نیز انجام می دهیم و سرویس آن را start و enable می کنیم ، اینکار از طریق وارد کردن دستور زیر انجام می شود :
systemctl enable mysqld.service
systemctl start mysqld.service
یکی از مشکلاتی که در حین نصب زبیکس از سورس خواهید داشت این است که به دلیل عدم استفاده از Package Manager وابستگی های نرم افزاری هر یک از بسته های نرم افزاری بصورت خودکار نصب نخواهند شد و زمانیکه شما برای کامپایل کردن سورس اقدام می کنید ، به شما بابت هر یک از این وابستگی ها خطا داده خواهد شد ، من لیستی از کلیه وابستگی های مورد نیاز برای نصب زبیکس از سورس را تهیه کرده ام و با زدن دستورات زیر ، در بیشتر موارد شما برای کامپایل کردن نیاز به هیچ چیز اضافه ای نخواهید داشت ، دستوراتی را که در ادامه قرار می دهیم به ترتیب در خط فرمان وارد کنید :
dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf module reset php
dnf module enable php:remi-7.4
dnf install php php-mysqlnd
dnf install php-gd php-zip php-mcrypt php-json php-xml php-gettext php-curl php-intl
dnf install gcc mysql-devel libxml2-devel net-snmp-devel curl-devel unixODBC-devel OpenIPMI-devel libssh2-devel iksemel-devel openldap-devel
dnf install mariadb-devel
dnf install libxml2-devel
dnf install net-snmp-devel
dnf --enablerepo=powertools install OpenIPMI-devel
dnf install libevent-devel
dnf install curl curl-devel
dnf install pcre-devel
dnf install libxml2-devel --nobest
yum install php-bcmath
بیشتر سورس کدهای زبیکس به زبان C نوشته شده است و شما برای اینکه بتوانید آنها را کامپایل کنید ، به ابزارهای کامپایلر کد نیاز دارید ، در این قسمت شما باید Development Tools را نصب کنید تا ابزارهای کامپایل کد نیز همراه به آنها نصب شوند ، برای اینکار کافیست دستور زیر را وارد کنید :
dnf group install "Development Tools"
زبیکس هم برای اجرا شدن نیاز به دسترسی دارد ، برای ارائه این دسترسی نیاز به ایجاد کردن گروه و کاربر است. در این مرحله ما یک گروه و یک کاربر برای زبیکس بصورت سیستمی ایجاد میکنیم تا سرویس زبیکس دسترسی های لازم برای اجرا شدن را داشته باشد ، برای اینکار کافیست دو دستور زیر را وارد کنید :
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
کاربرهای سرویس سیستم معمولا نیازی به داشتن Home Directory ندارند ، این قسمت از نصب زبیکس از سورس کاملا انتخابی است . ممکن است برخی اوقات نیاز به نگهداری داده های موقتی برای بانک اطلاعاتی یا در قالب فایل های Temporary باشد که تعریف کردن این Home Directory ممکن است در چنین شرایطی به شما کمک کند ، اما قطعا الزامی نیست. با استفاده از دو دستور زیر می توانید اینکار را انجام دهید :
mkdir -m u=rwx,g=rwx,o= -p /usr/lib/zabbix
chown zabbix:zabbix /usr/lib/zabbix
حالا نوبت به ساخت بانک اطلاعاتی زبیکس در MySQL می رسید ، برای اینکار کافیست دستورات زیر را به ترتیب وارد کنید :
mysql –u root -p
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user 'zabbix'@'localhost' identified by 'password';
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost';
mysql> SET GLOBAL log_bin_trust_function_creators = 1;
mysql> quit;
حالا شما باید فایل های سورس زبیکس را دانلود کنید ، ما اینجا از زبیکس نسخه 6.0 استفاده می کنیم ، برای دانلود کافیست دستور زیر را وارد کنید :
wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.23.tar.gz
فایل zip شده زبیکس در مسیر فعلی دانلود می شود. برای استفاده از محتویات فایل ها باید آنها را در مسیر فعلی Extract کنید ، برای اینکار کافیست دستور زیر را وارد کنید :
tar -zxvf zabbix-6.4.0.tar.gz
زمانیکه زبیکس را بصورت معمولی نصب می کنید ، داده هایی بصورت پیشفرض در بانک اطلاعاتی آن ثبت میشوند ، این اتفاق در زمانیکه فرآیند نصب بصورت نصب از سورس اتفاق می افتد ، صورت نمی گیرد و شما باید داده های پیشفرض بانک اطلاعاتی را بصورت دستی وارد کنید ، برای اینکار ابتدا وارد دایرکتوری سورس زبکیس و دایرکتوری databases شوید و سپس وارد پوشه mysql شده و دستورات زیر را به ترتیب وارد کنید :
cd database/mysql
mysql -uzabbix -p zabbix < schema.sql
mysql -uzabbix -p zabbix < images.sql
mysql -uzabbix -p --default-character-set=utf8mb4 zabbix < data.sql
در حال حاضر بانک اطلاعاتی زبیکس شما یک سری داده های پیشفرض درون خودش دارد. در ادامه یکی از قابلیت های MySQL باید غیرفعال شود که عینا دستور زیر را در خط فرمان برای اینکار باید وارد کنید :
mysql -uroot -p
mysql> SET GLOBAL log_bin_trust_function_creators = 0;
mysql> quit;
در این مرحله باید بررسی شود که آیا همه پیشنیازها برای شروع فرآیند کامپایل زبکیس آماده شده است یا خیر ، برای اینکار دستور زیر را عینا در خط فرمان وارد کنید :
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi
برای اینکه دستور به درستی کار کند ، حتما وارد دایرکتوری سورس زبیکس شده سپس دستور را وارد کنید. با وارد کردن دستور بالا ، همه وابستگی ها و کتابخانه های مورد نیاز برای کامپایل زبیکس بررسی می شوند و اگر همه چیز بدون مشکل اجرا شود با تصویر زیر مواجه خواهید شد:
اگر دستوراتی که قبلا گفتیم را به درستی وارد نکرده باشید ، در اینجا قطعا به خطاهایی بر می خورید که باید آنها را برطرف کنید ، اگر با پیغام تصویر بالا یعنی Now run make install مواجه شدید ، یعنی زبیکس شما آماده کامپایل شدن است.
همه چیز برای کامپایل شدن آماده است ، کافیست دستور زیر را وارد کنید تا فرآیند کامپایل سورس زبیکس شروع شود :
make install
همه چیز بدون مشکل انجام می شود ، اما این تازه شروع ماجراست و فرآیند نصب اصلی همچنان ادامه دارد.
در این مرحله شما باید تنظیمات بانک اطلاعاتی زبیکس هم برای Agent هم برای سرور را در فایل های پیکربندی انجام دهید ، برای اینکار ابتدا فایل zabbix_agentd.conf را باز می کنیم که با دستور زیر انجام می شود :
nano /usr/local/etc/zabbix_agentd.conf
در این فایل به دنبال مقدار Hostname بگردید و به شکل Hostname=centos-linux-01 آن را تغییر دهید.
سپس فایل را ذخیره کرده و اینبار فایل zabbix_server.conf را با دستور زیر باز کنید :
nano /usr/local/etc/zabbix_server.conf
در این فایل به دنبال مقادیر زیر بگردید و آنها را طبق اطلاعات زیر تغییر بدهید :
DBname=zabbix
DBpassword=password
DBhost=127.0.0.1
سپس تغییرات را ذخیره کرده و از فایل خارج شوید ، سپس با استفاده از دستور زیر سرویس زبیکس و سرویس Agent زبیکس را را Start کنید تا تغییرات اعمال شود :
zabbix_server
zabbix_agentd
دیگر کاری با سرویس زبیکس نداریم ، نوبت به تنظیمات وب سرور و مشاهده رابط گرافیکی زبیکس است. ابتدا شما باید یک دایرکتوری در آپاچی ایجاد کنید که با دستور زیر اینکار را انجام می دهید :
mkdir /var/www/html/zabbix
سپس وارد دایرکتوری سورس های زبیکس که دانلود کردیم می شویم و وارد دایرکتوری ui می شویم و محتویات آن را به داخل دایرکتوری که در آپاچی ساختیم منتقل می کنیم ، اینکار با دو دستور زیر انجام می شود :
cd zabbix-6.0.23/ui/
cp -a . /var/www/html/zabbix
برای اینکه همه چیز به خوبی کار کند ، باید به گروه و کاربر زبیکسی که ساختیم ، دسترسی لازم به پوشه ای که در وب سرور محتویات زبیکس در آن قرار گرفته است را باید بدهیم ، اینکار با دستور زیر انجام می شود :
chown -R apache:apache /var/www/html/zabbix
کار ما دیگر با زبیکس تقریبا تمام شده است ، تنها کاری که باقی مانده است ، تغییر دادن مقادیر پیشفرض فایل php.ini است که این فایل را با استفاده از دستور زیر باید ویرایش کنیم :
edit php.ini in /etc/php.ini
درون فایل php.ini مقادیر زیر را پیدا کنید و آنها را دقیقا به عددی که در پایین می بینید تغییر دهید :
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
فایل را ذخیره کنید و خارج شوید ، یکبار بصورت کامل سرور CentOS را ری استارت کنید . و بعد از بوت شدن سیستم عامل ، شما می توانید از طریق آدرس IP سرور ب استفاده از آدرس زیر در مرورگر به زبیکس متصل شوید و رابط گرافیکی را مشاهده کنید :
همه چیز درست است و شما زبیکس را براحتی با این روش از سورس نصب کردید. امیدوارم مورد توجه شما قرار گرفته باشد.
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات
محمد نصیری هستم ، بنیانگذار انجمن تخصصی فناوری اطلاعات ایران و مجموعه توسینسو ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 80 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر و ناظر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود