Yêu cầu:
I. Chuẩn bị
1. Thiết lập quyền cho SELinux
2. Cài đặt và cấu hình Apache HTTP Server
3. Cài đặt và cấu hình PHP
4. Cài đặt MariaDB Database server
II. Cài đặt Zabbix 5.0 trên CentOS 7
III. Cấu hình Zabbix
IV. Thiết lập cài đặt ban đầu cho Zabbix
Tham khảo
cách cài đặt CentOS trước khi xem bài lab này.
Thực hiện:
I. Chuẩn bị
- Máy đã cài CentOS 7
-
Phần mềm SSH Secure Shell Client (trong Lab này chúng tôi dùng SecuriCRT) để
SSH vào CentOS tiện cho việc copy & dán các dòng lệnh
1. Thiết lập quyền cho SELinux
Dùng SSH Secure Shell Client kết nối vào CentOS -> thiết lập quyền cho
SELinux và khởi động CentOS
sudo setenforce 0
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config
reboot
2. Cài đặt và cấu hình Apache HTTP Server
[root@CentOS ~]# sudo yum -y install httpd
- Khởi động Http server và cài đặt tự động chạy khi khởi động
[root@CentOS ~]# sudo systemctl start httpd.service
[root@CentOS ~]# sudo systemctl enable httpd
Created symlink from
/etc/systemd/system/multi-user.target.wants/httpd.service to
/usr/lib/systemd/system/httpd.service.
[root@CentOS ~]#
- Kiểm trạng thái của Http đã hoạt động chưa
[root@CentOS ~]# sudo systemctl status httpd.service
â— httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service;
enabled; vendor preset: disabled)
Active:
active (running) since Mon
2020-06-15 15:52:52 +07; 2min 6s ago
Docs: man:httpd(8)
man:apachectl(8)
Main PID: 11539 (httpd)
Status: "Total requests: 0; Current requests/sec: 0; Current
traffic: 0 B/sec"
CGroup: /system.slice/httpd.service
├─11539 /usr/sbin/httpd
-DFOREGROUND
├─11541 /usr/sbin/httpd
-DFOREGROUND
├─11542 /usr/sbin/httpd
-DFOREGROUND
├─11543 /usr/sbin/httpd
-DFOREGROUND
├─11544 /usr/sbin/httpd
-DFOREGROUND
└─11545 /usr/sbin/httpd
-DFOREGROUND
Jun 15 15:52:52 CentOS.ForZabbix.LAB systemd[1]: Starting The Apache HTTP
Server...
Jun 15 15:52:52 CentOS.ForZabbix.LAB systemd[1]: Started The Apache HTTP
Server.
Chúng ta thấy Service Http đang
Active/running hoặc dùng lệnh
netstat -plntu
[root@CentOS ~]# sudo netstat -plntu | grep http
tcp6
0 0 :::80
:::*
LISTEN 11539/httpd
[root@CentOS ~]#
Port 80 đang sử dụng cho http service
-
Đảm bảo firewall trên CentOS cho phép truy cập http và https dùng
lệnh
sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload
[root@CentOS ~]#
sudo firewall-cmd --add-service={http,https} --permanent
success
- Reload lại firewall trên CentOS
[root@CentOS ~]# sudo firewall-cmd --reload
success
Dùng máy trong LAN truy cập vào http://192.168.0.222 (máy đang cài) thấy kết
quả
Testing 123 là thành công.
3. Cài đặt và cấu hình PHP
sudo yum -y install epel-release
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Kết quả thực hiện
[root@CentOS ~]# sudo yum -y install epel-release
[root@CentOS ~]# sudo yum install
http://rpms.remirepo.net/enterprise/remi-release-7.rpm
- Đảm bảo duy nhất PHP 7.2 được enable
[root@CentOS ~]# sudo yum-config-manager --disable remi-php54
[root@CentOS ~]# sudo yum-config-manager --enable remi-php72
[root@CentOS ~]#
sudo yum install php php-pear php-cgi php-common php-mbstring php-snmp
php-gd php-pecl-mysql php-xml php-mysql php-gettext php-bcmath
-
Điều chỉnh múi giờ trong file /etc/php.ini cho phù hợp, trong lab này
chúng tôi chọn là date.timezone = Asia/Ho_CHi_Minh
Noted:
khi thực hiện lệnh vim để sửa file, khi file php.ini mở lên chúng ta nhấn phím
/ hoặc ? và gõ tiếp từ cần tìm (ở đây chúng tôi gõ timezone) ->
enter -> nhấn chữ "i" để cho phép sửa file -> thay đổi là date.timezone = Asia/Ho_CHi_Minh. Đảm bảo KHÔNG CÓ dấu chấm phẩy ";" phía trước -> nhấn phím Esc + dấu
2 chấm ":" + w + q để lưu sự thay đổi và thoát khỏi chương trình soạn thảo
vim. Các bạn để ý sẽ thấy chữ written ở cuối có nghĩa là đã sửa và lưu file thành công.
[root@CentOS ~]# sudo vim /etc/php.ini
- Kiểm tra và đảm bảo http đang chạy
[root@CentOS ~]# sudo systemctl restart httpd
[root@CentOS ~]# sudo netstat -plntu | grep http
tcp6 0 0 :::80
:::*
LISTEN
23281/httpd
[root@CentOS ~]#
4. Cài đặt MariaDB Database server
Cài MariaDB Database, khởi động MariaDB và đặt MariaDB tự động chạy khi
khởi động bằng các lệnh:
sudo yum --enablerepo=remi install mariadb-server
sudo systemctl start mariadb.service
sudo systemctl enable mariadb
[root@CentOS ~]# sudo yum --enablerepo=remi install mariadb-server
- Khởi động MariaDB và đặt MariaDB tự động chạy khi khởi động
[root@CentOS ~]# sudo systemctl start mariadb.service
[root@CentOS ~]# sudo systemctl enable mariadb
Created symlink from
/etc/systemd/system/multi-user.target.wants/mariadb.service to
/usr/lib/systemd/system/mariadb.service.
[root@CentOS ~]#
- Thiết lập password cho user root
Cài đặt password cho user
root của
database là
P@ssw0rd bằng câu lệnh dưới và nhấn
Y tất cả các
yêu cầu
[root@CentOS ~]# mysql_secure_installation
-
Đăng nhập vào MariaDB với user root và
password là: P@ssw0rd vừa
tạo
[root@CentOS ~]# mysql -u root -p
Enter password: (<-- nhập P@ssw0rd)
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 12
Server version: 5.5.65-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input
statement.
MariaDB [(none)]> SELECT VERSION(); (<-- kiểm tra version hiện tại của Database)
+----------------+
| VERSION() |
+----------------+
| 5.5.65-MariaDB |
+----------------+
1 row in set (0.00 sec)
MariaDB [(none)]>
Đã kết nối đến Database thành
công!
- Tạo mới database có tên là:
zabbix_DB
- Tạo mới user có tên là:
zabbix_User và password:
P@ssw0rd
-
Cho phép user zabbix_User được phép
thực thi trên tất cả database bắt đầu là
zabbix_DB
create database zabbix_DB character set utf8 collate utf8_bin;
create user 'zabbix_User'@'localhost' identified BY 'P@ssw0rd';
grant all privileges on zabbix_DB.* to 'zabbix_User'@'localhost';
flush privileges;
quit;
Hoặc
create database zabbix_DB character set utf8 collate utf8_bin;
grant all privileges on zabbix_DB.* to zabbix_User@localhost identified by
'P@ssw0rd';
flush privileges;
quit;
MariaDB [(none)]>
create database zabbix_DB character set utf8 collate utf8_bin;
Query OK, 1 row affected
(0.00 sec)
MariaDB [(none)]>
grant all privileges on zabbix_DB.* to zabbix_User@localhost identified by
'P@ssw0rd';
Query OK, 0 rows affected
(0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected
(0.00 sec)
- Kiểm tra database đang tồn tại
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| zabbix_DB |
+--------------------+
4 rows in set (0.00 sec)
- Kiểm tra user đang tồn tại
MariaDB [(none)]> select user, password, host from mysql.user;
+------------------+-------------------------------------------------------------------------+-----------+
| user |
password
| host
|
+------------------+-------------------------------------------------------------------------+-----------+
| root |
*8232A1298A49F710DBEE0B330C42EEC825D4190A | localhost |
| root |
*8232A1298A49F710DBEE0B330C42EEC825D4190A | 127.0.0.1 |
| root |
*8232A1298A49F710DBEE0B330C42EEC825D4190A | ::1
|
| zabbix_User | *8232A1298A49F710DBEE0B330C42EEC825D4190A | localhost |
+-------------+-------------------------------------------------------------------------+-----------+
4 rows in set (0.00 sec)
MariaDB [(none)]>
- Kiểm tra quyền đã thiết lập cho user zabbix_User
MariaDB [(none)]> show grants for 'zabbix_User'@'localhost';
+--------------------------------------------------------------------------------------------------------------------+
| Grants for zabbix_User@localhost
|
+--------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'zabbix_User'@'localhost' IDENTIFIED BY PASSWORD
'*8232A1298A49F710DBEE0B330C42EEC825D4190A' |
| GRANT ALL PRIVILEGES ON `zabbix_DB`.* TO
'zabbix_User'@'localhost'
|
+--------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
MariaDB [(none)]> quit;
Bye
II. Cài đặt Zabbix 5.0 trên CentOS 7
[root@CentOS ~]#
sudo yum install -y
https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
[root@CentOS ~]#
sudo yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent
zabbix-get
[root@CentOS ~]# sudo yum-config-manager --enable zabbix-frontend
[root@CentOS ~]# sudo yum -y install centos-release-scl
[root@CentOS ~]#
sudo yum -y install zabbix-web-mysql-scl zabbix-apache-conf-scl
- Import dữ liệu mẫu cho zabbix server
cd /usr/share/doc/zabbix-server-mysql-5.0.1/
gunzip create.sql.gz
cd /
mysql -u zabbix_User -p zabbix_DB <
/usr/share/doc/zabbix-server-mysql-5.0.1/create.sql
Noted: NÊN GÕ "mysql -u zabbix_User -p zabbix_DB" thay vì copy
dán
[root@CentOS ~]#
cd /usr/share/doc/zabbix-server-mysql-5.0.1/
(<= chuyển vào thư mục zabbix-server-mysql-5.0.1)
[root@CentOS zabbix-server-mysql-5.0.1]# gunzip create.sql.gz
(<= Giải nén ra file create.sql từ file create.sql.gz)
[root@CentOS zabbix-server-mysql-5.0.1]# cd /
(<= ra thư mục gốc)
[root@CentOS /]#
mysql -u zabbix_User -p
zabbix_DB <
/usr/share/doc/zabbix-server-mysql-5.0.1/create.sql (<= Thực hiện import data vào zabbix_DB với user zabbix_User)
Enter password:
(<= nhập password của user zabbix_User là P@ssw0rd)
[root@CentOS /]#
III. Cấu hình Zabbix
Sửa thông tin trong file
/etc/zabbix/zabbix_server.conf là:
DBName=
zabbix_DB
DBUser=
zabbix_User
DBPassword=
P@ssw0rd
[root@CentOS /]# sudo vim /etc/zabbix/zabbix_server.conf
Chỉnh time.zone trong file
/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf là
php_value[date.timezone] = Asia/Ho_CHi_Minh
[root@CentOS ~]# sudo vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
{...}
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
php_value[max_input_vars] = 10000
php_value[date.timezone] = Asia/Ho_CHi_Minh
~
~
Khởi động zabbiz server, zabbix agent và cài đặt tự động chạy khi khởi
động
[root@CentOS /]#
sudo systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
Created symlink from
/etc/systemd/system/multi-user.target.wants/zabbix-server.service to
/usr/lib/systemd/system/zabbix-server.service.
Created symlink from
/etc/systemd/system/multi-user.target.wants/zabbix-agent.service to
/usr/lib/systemd/system/zabbix-agent.service.
Created symlink from
/etc/systemd/system/multi-user.target.wants/rh-php72-php-fpm.service to
/usr/lib/systemd/system/rh-php72-php-fpm.service.
[root@CentOS /]#
sudo systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
[root@CentOS /]#
Đảm bảo các port 10051, 10050 đã allow trên firewall
[root@CentOS /]#
sudo firewall-cmd --add-port={10051/tcp,10050/tcp} --permanent
success
[root@CentOS /]# sudo firewall-cmd --reload
success
[root@CentOS ~]# sudo firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens33
sources:
services: ssh dhcpv6-client http https
ports: 22/tcp 10051/tcp 10050/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
[root@CentOS ~]#
[root@CentOS /]# sudo systemctl restart httpd
[root@CentOS /]#
Cài đặt permission cho phép ghi vào folder /etc/zabbix/web/
sudo chmod 777 -R /etc/zabbix/web/
Noted: Nếu không thực hiện dòng lệnh trên chúng ta sẽ gặp lỗi ở mục IV
như hình dưới
IV. Thiết lập cài đặt ban đầu cho Zabbix
Truy cập vào địa chỉ
http://192.168.0.222/zabbix/setup.php
Nhấn Next Step -> Next Step
Điền thông tin:
-
Database name: zabbix_DB
-
User: zabbix_User
-
Password: P@ssw0rd
- Port: 10051
- Name: Zabbix.OnCentOS.LAB
Nhấn Next Step -> Next Step
Xác nhận lại thông tin nhấn Next Step -> Finish
Đăng nhập với thông tin mặt định là:
- User: Admin
- Password: zabbix
Đã đăng nhập thành công!
Xong!
Lỗi hay gặp:
- zabbix server is not running the information displayed
cách khắc phục:
Tăng Cache_Size on /etc/zabbix/zabbix_server.conf lên 32M