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