You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

189 lines
4.9 KiB

  1. ---
  2. ## Installation and configuration for Xymon server ##
  3. # Binaries
  4. - name: install xymon server binaries - download
  5. get_url: url=http://sourceforge.net/projects/xymon/files/latest/download?source=directory dest=/tmp/xymon_server.tar.gz
  6. tags:
  7. - xymon-server
  8. - server-packages
  9. - name: install xymon server binaries - untar
  10. unarchive: src=/tmp/xymon_server.tar.gz dest=/tmp/ copy=no
  11. tags:
  12. - xymon-server
  13. - server-packages
  14. - name: install xymon server binaries - register release
  15. shell: ls -d /tmp/xymon-* | awk -F'-' '{print $2}'
  16. register: xymon_release
  17. tags:
  18. - xymon-server
  19. - server-packages
  20. - name: install xymon server binaries - display release
  21. fail: msg="Using xymon server version {{ xymon_release.stdout }}."
  22. ignore_errors: yes
  23. tags:
  24. - xymon-server
  25. - server-packages
  26. - name: install xymon server binaries - display warning
  27. fail: msg="Now building packages. WARN! It may take some time."
  28. ignore_errors: yes
  29. tags:
  30. - xymon-server
  31. - server-packages
  32. ## Debian
  33. - name: Debian, install xymon server dependencies
  34. apt: pkg={{item}} state=present update_cache=yes
  35. tags:
  36. - server-packages
  37. - server-configuration
  38. - xymon-server
  39. with_items:
  40. - apache2
  41. - rrdtool
  42. - librrd-dev
  43. - libpcre3-dev
  44. - libssl-dev
  45. - ldap-utils
  46. - libldap2-dev
  47. - fping
  48. - libc-ares-dev
  49. - python-passlib
  50. when: ansible_distribution == 'Debian'
  51. - name: Debian, install xymon server binaries - make deb
  52. shell: ./build/makedeb.sh {{ xymon_release.stdout }}
  53. args:
  54. executable: /bin/bash
  55. chdir: /tmp/xymon-{{ xymon_release.stdout }}/
  56. tags:
  57. - xymon-server
  58. - server-packages
  59. when: ansible_distribution == 'Debian'
  60. - name: Debian, install xymon server binaries - create pid directory
  61. file:
  62. path=/var/run/xymon
  63. state=directory mode=0755
  64. owner=xymon
  65. group=xymon
  66. tags:
  67. - xymon-server
  68. - server-packages
  69. - name: Debian, install xymon server binaries - install deb server
  70. apt: deb=/tmp/xymon-{{ xymon_release.stdout }}/debbuild/xymon_{{ xymon_release.stdout }}_amd64.deb
  71. tags:
  72. - xymon-server
  73. - server-packages
  74. when: ansible_distribution == 'Debian'
  75. notify: restart apache
  76. - name: Debian, install xymon server binaries - install deb client
  77. apt: deb=/tmp/xymon-{{ xymon_release.stdout }}/debbuild/xymon-client_{{ xymon_release.stdout }}_amd64.deb
  78. tags:
  79. - xymon-server
  80. - server-packages
  81. when: ansible_distribution == 'Debian'
  82. ## Centos NOT READY YET
  83. #- name: Centos, add xymon group
  84. #group:
  85. #name=xymon
  86. #state=present
  87. #tags:
  88. #- xymon-server
  89. #- server-packages
  90. #when: ansible_distribution == 'CentOS' or ansible_distribution == 'CloudLinux'
  91. #- name: Centos, add xymon user
  92. #user:
  93. #name=xymon
  94. #group=xymon
  95. #createhome=yes
  96. #tags:
  97. #- xymon-server
  98. #- server-packages
  99. #when: ansible_distribution == 'CentOS' or ansible_distribution == 'CloudLinux'
  100. #- name: Centos, install xymon server dependencies
  101. #yum: pkg={{item}} state=installed
  102. #with_items:
  103. #- gcc
  104. #- make
  105. #- fping
  106. #- pcre-devel
  107. #- openssl-devel
  108. #- openldap-devel
  109. #- rrdtool-devel
  110. #tags:
  111. #- xymon-server
  112. #- server-packages
  113. #when: ansible_distribution == 'CentOS' or ansible_distribution == 'CloudLinux'
  114. #- name: Centos, install xymon server binaries - configure
  115. #shell: ./configure --server
  116. #args:
  117. #executable: /bin/bash
  118. #chdir: /tmp/xymon-{{ xymon_release.stdout }}/
  119. #tags:
  120. #- xymon-server
  121. #- server-packages
  122. #when: ansible_distribution == 'CentOS' or ansible_distribution == 'CloudLinux'
  123. #- name: Centos, install xymon server binaries - make & make install
  124. #shell: make && make install
  125. #args:
  126. #executable: /bin/bash
  127. #chdir: /tmp/xymon-{{ xymon_release.stdout }}/
  128. #tags:
  129. #- xymon-server
  130. #- server-packages
  131. #when: ansible_distribution == 'CentOS' or ansible_distribution == 'CloudLinux'
  132. #- name: Centos, install xymon server binaries - init file
  133. #shell: mv /tmp/xymon-{{ xymon_release.stdout }}/rpm/xymon-init.d /etc/init.d/xymon
  134. #args:
  135. #executable: /bin/bash
  136. #tags:
  137. #- xymon-server
  138. #- server-packages
  139. #when: ansible_distribution == 'CentOS' or ansible_distribution == 'CloudLinux'
  140. ## Xymon server configuration
  141. - name: enable global group Server in conf
  142. lineinfile: dest=/etc/xymon/hosts.cfg
  143. regexp="^#group Servers$"
  144. line="group Servers"
  145. backrefs=yes
  146. tags:
  147. - xymon-server
  148. - server-configuration
  149. ## Apache for xymon server
  150. - name: generate htpasswd file for xymon-server
  151. htpasswd:
  152. path="/usr/local/xymon/server/etc/xymonpasswd"
  153. name={{xymon_htname}}
  154. password={{xymon_htpasswd}}
  155. create=yes
  156. state=present
  157. tags:
  158. - xymon-server
  159. - server-configuration
  160. when: ansible_distribution == 'Debian'
  161. - name: Apache configuration done
  162. fail: msg="You can now connect to http://yourserver/xymon/"
  163. ignore_errors: yes
  164. tags:
  165. - xymon-server
  166. - server-configuration