---
# tasks file for zabbix.server
- name: sync file
synchronize:
src: files/
dest: /root/
dest_port: 65122
- name: install packages
dnf:
name:
- libcurl-devel
- libjpeg-turbo-devel
- gmp-devel
- openldap-devel
- oniguruma-devel
- readline-devel
- net-snmp-devel
- libxslt-devel
- libssh2-devel
- libevent-devel
- python3-mysqlclient
- libxml2-devel
- sqlite-devel
- bzip2-devel
- freetype-devel
state: latest
- name: libldap lib
shell: ln -s /usr/lib64/libldap.so /usr/lib
- name: libldap lib
shell: ln -s /usr/lib64/liblber.so /usr/lib
- name: install zabbix server
shell: cd /root/zabbix-5.0.42 && make install
- name: copy zabbix server conf
template:
src: zabbix_server.conf.j2
dest: /usr/local/etc/zabbix_server.conf
- name: copy zabbix agent conf
template:
src: zabbix_agentd.conf.j2
dest: /usr/local/etc/zabbix_agentd.conf
- name: start zabbix server
shell: zabbix_server && zabbix_agentd
- name: add user
user:
name: zabbix
shell: /sbin/nologin
create_home: no
- name: Copy directory ui
copy:
src: /etc/ansible/roles/zabbix.server/files/zabbix-5.0.42/ui/
dest: /usr/local/nginx/html/zabbix
remote_src: yes
- name: install nginx
shell: cd /root/nginx-1.24.0 && make install
- name: copy nginx conf
template:
src: nginx.conf.j2
dest: /usr/local/nginx/conf/
- name: start nginx
shell: /usr/local/nginx/sbin/nginx
- name: create database zabbix
mysql_db:
login_user: root
login_password: {{ mysql_password }}
name: zabbix
encoding: utf8
collation: utf8_bin
state: present
- name: Import schema.sql
mysql_db:
login_user: root
login_password: {{ mysql_password }}
state: import
name: zabbix
target: /root/zabbix-5.0.42/database/mysql/schema.sql
- name: Import images.sql
mysql_db:
login_user: root
login_password: {{ mysql_password }}
state: import
name: zabbix
target: /root/zabbix-5.0.42/database/mysql/images.sql
- name: Import data.sql
mysql_db:
login_user: root
login_password: {{ mysql_password }}
state: import
name: zabbix
target: /root/zabbix-5.0.42/database/mysql/data.sql
- name: create zabbix user
mysql_user:
login_user: root
login_password: {{ mysql_password }}
name: zabbix
password: {{ mysql_password }}
priv: 'zabbix.*:ALL'
host: '%'
state: present
- name: copy font
copy:
src: /root/MiSans-Normal.ttf
dest: /usr/local/nginx/html/zabbix/
- name: modify font
replace:
path: defines.inc.php
regexp: 'DejaVuSans'
replace: 'MiSans-Normal'
- name: install php
shell: cd /root/php-7.4.33 && make install
- name: copy php ini
template:
src: php.ini.j2
dest: /usr/lib/php.ini
- name: copy php-fpm conf
template:
src: php-fpm.conf.j2
dest: /usr/etc/php-fpm.conf
- name: move php-fpm.d
shell: mv /usr/etc/php-fpm.d/www.conf.default /usr/etc/php-fpm.d/www.conf && php-fpm
- name: move zabbix.conf
shell: mv /usr/local/nginx/html/zabbix/conf/zabbix.conf.php.example /usr/local/nginx/html/zabbix/conf/zabbix.conf.php
ansible-role 一键安装 lnmp zabbix服务端和代理端
于 2024-04-12 18:02:34 首次发布