1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-03-09 15:40:17 +00:00

Merge pull request #466 from holta/master

make Ansible's 9 install stages understandable

closes #441
This commit is contained in:
A Holt 2017-10-27 08:34:34 -04:00 committed by GitHub
commit 712c68902f
46 changed files with 680 additions and 452 deletions

View file

@ -8,6 +8,6 @@
- vars/local_vars.yml
roles:
- { role: 0-init, tags: ['init'] }
- { role: 1-prep, tags: ['prep','platform','base'] }
- { role: 0-init, tags: ['0-init'] }
- { role: 1-prep, tags: ['1-prep','platform','base'] }
- { role: openvpn, tags: ['openvpn'] }

View file

@ -9,10 +9,10 @@
- /etc/iiab/config_vars.yml
roles:
- { role: 0-init, tags: ['init'] }
- { role: 4-server-options, tags: ['options'] }
- { role: 5-xo-services, tags: ['xo-services'] }
- { role: 6-generic-apps, tags: ['generic-apps'] }
- { role: 7-edu-apps, tags: ['edu-apps'] }
- { role: 8-mgmt-tools, tags: ['tools'] }
- { role: 9-local-addons, tags: ['addons'] }
- { role: 0-init, tags: ['0-init'] }
- { role: 4-server-options, tags: ['4-server-options'] }
- { role: 5-xo-services, tags: ['5-xo-services'] }
- { role: 6-generic-apps, tags: ['6-generic-apps'] }
- { role: 7-edu-apps, tags: ['7-edu-apps'] }
- { role: 8-mgmt-tools, tags: ['8-mgmt-tools'] }
- { role: 9-local-addons, tags: ['9-local-addons'] }

View file

@ -9,13 +9,13 @@
- /etc/iiab/config_vars.yml
roles:
- { role: 0-init, tags: ['init'] }
- { role: 1-prep, tags: ['prep','platform','base'] }
- { role: 2-common, tags: ['common','base'] }
- { role: 3-base-server, tags: ['base'] }
- { role: 4-server-options, tags: ['options'] }
# - { role: 5-xo-services, tags: ['xo-services'] }
- { role: 6-generic-apps, tags: ['generic-apps'] }
- { role: 7-edu-apps, tags: ['edu-apps'] }
- { role: 8-mgmt-tools, tags: ['tools'] }
- { role: 9-local-addons, tags: ['addons'] }
- { role: 0-init, tags: ['0-init'] }
- { role: 1-prep, tags: ['1-prep','platform','base'] }
- { role: 2-common, tags: ['2-common','base'] }
- { role: 3-base-server, tags: ['3-base-server','base'] }
- { role: 4-server-options, tags: ['4-server-options'] }
- { role: 5-xo-services, tags: ['5-xo-services'] }
- { role: 6-generic-apps, tags: ['6-generic-apps'] }
- { role: 7-edu-apps, tags: ['7-edu-apps'] }
- { role: 8-mgmt-tools, tags: ['8-mgmt-tools'] }
- { role: 9-local-addons, tags: ['9-local-addons'] }

View file

@ -1,3 +1,8 @@
# Initialize
- name: ...IS BEGINNING ============================================
command: echo
- name: Determine if runansible was run
stat: path=/etc/iiab/iiab.env
register: NewInstall
@ -13,3 +18,6 @@
when: first_run
# Now load the computed vars
- include: roles/1-prep/tasks/computed_vars.yml
- name: ...HAS COMPLETED ===========================================
command: echo

View file

@ -2,5 +2,6 @@
Prep README
===========
This role is a sort on init or startup. It includes preliminaries like hostname and is where things
that are specific to a particular platform, such as the XO, are done before the bulk of the install.
This role is primarily hardware-focused, prior to OS additions/mods. Traditionally it included
preliminaries like hostname and things specific to a particular platform, such as the XO laptop,
done before the bulk of the install.

View file

@ -9,7 +9,7 @@
xo_model: '{{ ansible_local["local_facts"]["xo_model"] }}'
phplib_dir: '{{ ansible_local["local_facts"]["phplib_dir"] }}'
- name: Set exFAT enabled for XOs
- name: Set exFAT enabled for XO laptops
set_fact:
exFAT_enabled: True
when: xo_model != "none"
@ -88,7 +88,7 @@
gui_port: 443
when: adm_cons_force_ssl
- name: Turn on mysql if elgg or rachel enabled
- name: Require MySQL to be on
set_fact:
mysql_install: True
mysql_enabled: True
@ -104,13 +104,13 @@
# when: sugarizer_enabled
# There might be other db's
- name: Turn on postgresql if moodle or pathagar enabled
- name: Turn on PostgreSQL if Moodle or Pathagar enabled
set_fact:
postgresql_install: True
postgresql_enabled: True
when: moodle_enabled or pathagar_enabled
- name: Turn on docker if schooltool is to be installed
- name: Turn on Docker if SchoolTool is to be installed
set_fact:
docker_install: True
docker_enabled: True
@ -130,18 +130,18 @@
# but 'mariadb', which is its real name can
# on fedora 18 we need to use 'mysqld'
- name: Set mysqld service name to mariadb by default
- name: Set mysqld_service to mariadb by default
set_fact:
mysql_service: mariadb
- name: Set mysqld service name to mysqld for fedora 18
- name: Set mysqld_service to mysqld for Fedora 18
set_fact:
mysql_service: mysqld
no_NM_reload: True
is_F18: True
when: ansible_distribution_release == "based on Fedora 18" or ansible_distribution_version == "18"
- name: Set mysql service name to mysql for debian
- name: Set mysql_service to mysql for Debian
set_fact:
mysql_service: mysql
when: is_debuntu

View file

@ -1,3 +1,8 @@
# Preparations (Hardware Level)
- name: ...IS BEGINNING ============================================
command: echo
- name: get the uuidgen program
package: name=uuid-runtime
state=present
@ -82,3 +87,6 @@
get_url: dest=/lib/firmware
url={{ iiab_download_url }}/iwlwifi-8000C-13.ucode
when: first_run and usb_NUC6.stdout|int > 0
- name: ...HAS COMPLETED ===========================================
command: echo

View file

@ -1,7 +1,11 @@
# Common OS-Level Additions & Mods (that only need to be performed once)
- name: ...IS BEGINNING ==========================================
command: echo
#- include: iiab_ini.yml
# create the directory structure for XSCE
# create the directory structure for IIAB
- include: fl.yml
- include: xo.yml
@ -43,3 +47,6 @@
when: not is_debuntu and not is_F18
- include: udev.yml
- name: ...HAS COMPLETED =========================================
command: echo

View file

@ -6,7 +6,6 @@ This role is a place to aggregate roles that are required to create a basic web
The functionality here is not packages that are not directly consumed by users, which are in common,
nor specific applications, such as those found in the apps and tools roles.
The difference between this aggregate and server-options is that the roles here are required.
The difference between this aggregate (3-base-server) and 4-server-options is that the roles here are required.
Eventually a graphical configuration console will be added here.

View file

@ -1,3 +0,0 @@
dependencies:
- { role: httpd, tags: ['services','httpd','base'] }
- { role: iiab-admin, tags: ['services','iiab-admin','base'] }

View file

@ -1,3 +1,20 @@
# Base Server
- name: ...IS BEGINNING =====================================
command: echo
- name: HTTPD
include_role:
name: httpd
# has no "when: XXXXX_install" flag
tags: base, httpd
- name: IIAB-ADMIN
include_role:
name: iiab-admin
# has no "when: XXXXX_install" flag
tags: base, iiab-admin
- name: Make sure there is a content directory
file: dest={{ doc_root }}/local_content
state=directory
@ -16,3 +33,6 @@
# regexp='^BASE_VERSION=*'
# line='BASE_VERSION="{{ gui_version }}"'
# state=present
- name: ...HAS COMPLETED ====================================
command: echo

View file

@ -1,10 +0,0 @@
dependencies:
- { role: home-page, tags: ['home-page'] }
- { role: sshd, tags: ['services','sshd','base'] }
- { role: network, tags: ['services','base','network'] }
- { role: postgresql, tags: ['services','postgresql','base'], when: postgresql_install }
- { role: authserver, tags: ['services','authserver','base'], when: authserver_install }
- { role: openvpn, tags: ['options','openvpn'], when: openvpn_install }
- { role: samba, tags: ['services','samba','options'], when: samba_install }
- { role: usb-lib, tags: ['services','usb-lib','options'], when: usb_lib_install }
- { role: cups, tags: ['services','cups','options'], when: cups_install }

View file

@ -1,5 +1,55 @@
- name: Server Options Installed
command: echo Server Options Installed
# Server Options
- name: ...IS BEGINNING ==================================
command: echo
- name: SSHD
include_role:
name: sshd
# has no "when: XXXXX_install" flag
tags: base, sshd
- name: OPENVPN
include_role:
name: openvpn
when: openvpn_install
tags: openvpn
- name: NETWORK
include_role:
name: network
# has no "when: XXXXX_install" flag
tags: base, network
- name: HOMEPAGE
include_role:
name: homepage
# has no "when: XXXXX_install" flag
tags: base, homepage
- name: AUTHSERVER
include_role:
name: authserver
when: authserver_install
tags: olpc, authserver
- name: CUPS
include_role:
name: cups
when: cups_install
tags: cups
- name: SAMBA
include_role:
name: samba
when: samba_install
tags: samba
- name: USB-LIB
include_role:
name: usb-lib
when: usb_lib_install
tags: usb-lib
# this script can be sourced to get iiab location
- name: Create iiab.env file
@ -17,24 +67,5 @@
command: /usr/bin/iiab-refresh-wiki-docs
when: not nodocs
- name: Stop postgresql service
command: "/etc/init.d/postgresql stop"
ignore_errors: True
when: postgresql_install and is_debuntu
- name: Start postgresql service
service: name=postgresql-iiab
state=restarted
enabled=yes
when: postgresql_enabled
- name: Stop authserver service
service: name=xs-authserver
state=stopped
enabled=no
when: not authserver_enabled and authserver_install
- name: Start xs-authserver service
service: name=xs-authserver
state=restarted
when: authserver_enabled
- name: ...HAS COMPLETED =================================
command: echo

View file

@ -2,5 +2,4 @@
XO Services README
==================
This role is a place to aggregate roles that provide XO specific services.
This role is a place to aggregate roles that provide specific services for One Laptop Per Child's XO laptops.

View file

@ -1,4 +0,0 @@
dependencies:
- { role: ejabberd_xs, tags: ['olpc','ejabberd-xs','xo-services'], when: ejabberd_xs_install }
- { role: idmgr, tags: ['olpc','idmgr','xo-services'], when: idmgr_install }
- { role: activity-server, tags: ['olpc','activity-server','xo-services'], when: activity_server_install }

View file

@ -1,3 +1,25 @@
- name: XO Services Installed
command: echo XO Services Installed
# XO Services
- name: ...IS BEGINNING =====================================
command: echo
- name: ACTIVITY-SERVER
include_role:
name: activity-server
when: activity_server_install
tags: olpc, activity-server
- name: EJABBERD_XS
include_role:
name: ejabberd_xs
when: ejabberd_xs_install
tags: olpc, ejabberd-xs
- name: IDMGR
include_role:
name: idmgr
when: idmgr_install
tags: olpc, idmgr
- name: ...HAS COMPLETED ====================================
command: echo

View file

@ -2,6 +2,6 @@
Generic Apps README
===================
This role is a place to aggregate roles that install apps of a more generic nature, as opposed to educational or managment.
Content Management Systems or Chat or Wiki applications would go here.
This role is a place to aggregate roles that install apps of a more generic or collaborative nature,
as opposed to educational or managment. Content Management Systems or Chat or Wiki applications
would go here.

View file

@ -1,9 +0,0 @@
dependencies:
- { role: mysql, tags: ['generic','mysql'], when: mysql_install }
- { role: elgg, tags: ['generic','elgg'], when: elgg_install }
- { role: owncloud, tags: ['generic','owncloud'], when: owncloud_install }
- { role: nextcloud, tags: ['generic','nextcloud'], when: nextcloud_install }
- { role: dokuwiki, tags: ['generic','dokuwiki'], when: dokuwiki_install }
- { role: wordpress, tags: ['generic','wordpress'], when: wordpress_install }
- { role: calibre, tags: ['generic','calibre'], when: calibre_install }
- { role: ejabberd, tags: ['generic','ejabberd'], when: ejabberd_install }

View file

@ -1,3 +1,49 @@
- name: Generic Apps Installed
command: echo Generic Apps Installed
# Generic Apps
- name: ...IS BEGINNING ====================================
command: echo
- name: CALIBRE
include_role:
name: calibre
when: calibre_install
tags: calibre
- name: DOKUWIKI
include_role:
name: dokuwiki
when: dokuwiki_install
tags: dokuwiki
- name: ELGG
include_role:
name: elgg
when: elgg_install
tags: elgg
- name: EJABBERD
include_role:
name: ejabberd
when: ejabberd_install
tags: ejabberd
- name: NEXTCLOUD
include_role:
name: nextcloud
when: nextcloud_install
tags: nextcloud
- name: OWNCLOUD
include_role:
name: owncloud
when: owncloud_install
tags: owncloud
- name: WORDPRESS
include_role:
name: wordpress
when: wordpress_install
tags: wordpress
- name: ...HAS COMPLETED ===================================
command: echo

View file

@ -3,4 +3,4 @@ Educational Apps and Content README
===================================
This role is a place to aggregate roles that provide Educational Content or
are specifically targetted at pedagogical activities.
are specifically targetted at pedagogical activities.

View file

@ -1,9 +0,0 @@
dependencies:
- { role: moodle, tags: ['olpc','moodle','edu-apps'], when: moodle_install }
- { role: osm, tags: ['osm','edu-apps'], when: osm_install }
- { role: pathagar, tags: ['pathagar','edu-apps'], when: pathagar_install }
- { role: rachel, tags: ['rachel','edu-apps'], when: rachel_install }
- { role: kalite, tags: ['kalite','edu-apps'], when: kalite_install }
- { role: kiwix, tags: ['kiwix','edu-apps'], when: kiwix_install }
- { role: sugarizer, tags: ['sugarizer','edu-apps'], when: sugarizer_install }
# - { role: debian_schooltool, tags: ['schooltool','debian_schooltool','edu-apps'], when: debian_schooltool_install and is_debuntu }

View file

@ -1,3 +1,43 @@
- name: Educational Apps and Content Installed
command: echo Educational Apps and Content Installed
# Educational Apps
- name: ...IS BEGINNING ========================================
command: echo
- name: KALITE
include_role:
name: kalite
when: kalite_install
tags: kalite
- name: KIWIX
include_role:
name: kiwix
when: kiwix_install
tags: kiwix
- name: MOODLE
include_role:
name: moodle
when: moodle_install
tags: olpc, moodle
- name: OSM
include_role:
name: osm
when: osm_install
tags: osm
- name: PATHAGAR
include_role:
name: pathagar
when: pathagar_install
tags: pathagar
- name: SUGARIZER
include_role:
name: sugarizer
when: sugarizer_install
tags: sugarizer
- name: ...HAS COMPLETED =======================================
command: echo

View file

@ -1,10 +0,0 @@
dependencies:
# - { role: sugar-stats, tags: ['olpc','sugar-stats','tools'], when: sugar_stats_install and ansible_distribution != "CentOS" }
# - { role: ajenti, tags: ['services','ajenti','tools'], when: ajenti_install }
- { role: munin, tags: ['services','munin','tools'], when: munin_install }
- { role: monit, tags: ['services','monit','tools'], when: monit_install }
- { role: vnstat, tags: ['services','vnstat','tools'], when: vnstat_install }
# - { role: xovis, tags: ['services','xovis','tools'], when: xovis_install and ansible_distribution != "CentOS" }
- { role: phpmyadmin, tags: ['services','phpmyadmin','tools'], when: phpmyadmin_install }
- { role: awstats, tags: ['services','awstats','tools'], when: awstats_install }
- { role: teamviewer, tags: ['services','teamviewer','tools'], when: teamviewer_install }

View file

@ -1,3 +1,55 @@
- name: Assessment and Monitoring Tools Installed
command: echo Assessment and Monitoring Tools Installed
# Assessment and Monitoring Tools
- name: ...IS BEGINNING ======================================
command: echo
- name: AWSTATS
include_role:
name: awstats
when: awstats_install
tags: awstats
- name: MONIT
include_role:
name: monit
when: monit_install
tags: monit
- name: MUNIN
include_role:
name: munin
when: munin_install
tags: munin
- name: PHPMYADMIN
include_role:
name: phpmyadmin
when: phpmyadmin_install
tags: phpmyadmin
- name: SUGAR-STATS
include_role:
name: sugar-stats
when: sugar_stats_install and ansible_distribution != "CentOS"
tags: olpc, sugar-stats
- name: TEAMVIEWER
include_role:
name: teamviewer
when: teamviewer_install
tags: teamviewer
- name: VNSTAT
include_role:
name: vnstat
when: vnstat_install
tags: vnstat
- name: XOVIS
include_role:
name: xovis
when: xovis_install and ansible_distribution != "CentOS"
tags: xovis
- name: ...HAS COMPLETED =====================================
command: echo

View file

@ -7,15 +7,15 @@ This role is a place to aggregate roles developed by various contributors or loc
Development
-----------
Create the role you wish to add to the XSCE School Server by following the pattern of another role or any other means.
Create the role you wish to add to Internet-in-a-Box by following the pattern of another role or any other means.
Packaging
---------
Add your role into the main.yml file in the meta directory of the 7-local-addons role. It will now get installed as part of
Add your role into the main.yml file in the tasks directory of the 9-local-addons role. It will now get installed as part of
the next ansible run.
More Info
---------
Have a look at the docs section of this git repo for more detailed information.
Have a look at https://github.com/iiab/iiab/wiki/IIAB-Architecture (offline at http://box/info/IIAB-Architecture.html) for more detailed information.

View file

@ -1,2 +0,0 @@
# Add your role to this list and then uncomment dependencies. Adding a tag is handy for testing.
#dependencies:

View file

@ -1,3 +1,7 @@
- name: Addon services installed
command: echo Addon services installed
# Local Add-ons
- name: ...IS BEGINNING ====================================
command: echo
- name: ...HAS COMPLETED ===================================
command: echo

View file

@ -38,8 +38,15 @@
environment:
XS_AUTHSERVER_DATABASE: /var/lib/xs-authserver/data.db
- name: Enable xs-authserver service
- name: Stop authserver service
service: name=xs-authserver
state=stopped
enabled=no
when: not authserver_enabled
- name: Start xs-authserver service
service: name=xs-authserver
state=restarted
enabled=yes
when: authserver_enabled

View file

@ -1,4 +1,4 @@
- name: Install awstats package
- name: Install AWStats package
package: name={{ item }}
state=present
with_items:
@ -8,7 +8,7 @@
tags:
- download
- name: Install awstats package
- name: Install AWStats package
package: name={{ item }}
state=present
with_items:
@ -22,7 +22,7 @@
command: a2enmod cgi
when: is_debuntu
- name: Create directory for awstat to use as intermediate summary storage
- name: Create directory for AWStats to use as intermediate summary storage
file: path={{ item }}
mode=0750
owner={{ apache_user }}
@ -33,7 +33,7 @@
- "{{ awstats_data_dir }}"
- "{{ apache_log_dir }}"
- name: Install the Apache config for Advanced Web Statistics
- name: Install the Apache config for AWStats
template: src=apache.conf
dest=/etc/{{ apache_config_dir }}/awstats.conf
owner=root
@ -41,7 +41,7 @@
mode=0644
when: awstats_enabled and is_debuntu
- name: Install the Apache config for Advanced Web Statistics
- name: Install the Apache config for AWStats
template: src=apache-awstats.conf
dest=/etc/{{ apache_config_dir }}/awstats.conf
owner=root
@ -63,18 +63,18 @@
command: mv /etc/awstats/awstats.conf /etc/awstats/awstats.conf.dist
when: awstats.stat.islnk is defined and not awstats.stat.islnk
- name: Enable Awstats
- name: Enable AWStats
file: src=/etc/apache2/sites-available/awstats.conf
path=/etc/apache2/sites-enabled/awstats.conf
state=link
when: awstats_enabled and is_debuntu
- name: Disable Awstats
- name: Disable AWStats
file: path=/etc/apache2/sites-enabled/awstats.conf
state=absent
when: not awstats_enabled and is_debuntu
- name: Install the awstats config for Advanced Web Statistics
- name: Install the AWStats config
template: src=awstats.schoolserver.conf.j2
dest=/etc/awstats/awstats.schoolserver.conf
owner=root
@ -82,16 +82,16 @@
mode=0644
when: awstats_enabled
- name: Create a symbolic link to use when access is by ip address
- name: Create a symbolic link to use when access is by IP address
file: src=/etc/awstats/awstats.schoolserver.conf
dest=/etc/awstats/awstats.conf
state=link
when: awstats_enabled
- name: On first enabling of awstats, summarize httpd logs up to now
- name: On first enabling of AWStats, summarize httpd logs up to now
shell: /bin/perl /usr/share/awstats/wwwroot/cgi-bin/awstats.pl -config=schoolserver -update
when: awstats_enabled and not is_debuntu
- name: On first enabling of awstats, summarize httpd logs up to now
- name: On first enabling of AWStats, summarize httpd logs up to now
shell: /usr/bin/perl /usr/lib/cgi-bin/awstats.pl -config=schoolserver -update
when: awstats_enabled and is_debuntu

View file

@ -1,7 +1,7 @@
- include: install.yml
when: awstats_install
- name: Add awstats to service list
- name: Add AWStats to service list
ini_file: dest='{{ service_filelist }}'
section=awstats
option='{{ item.option }}'
@ -10,7 +10,7 @@
- option: name
value: awstats
- option: description
value: '"Awstats is Advanced Web Statistics package written in perl which generates static or dynamic html summaries based upon web server logs"'
value: '"AWStats is Advanced Web Statistics package written in Perl which generates static or dynamic html summaries based upon web server logs"'
- option: installed
value: "{{ awstats_install }}"
- option: enabled

View file

@ -31,7 +31,7 @@
- cups-browsed
when: cups_enabled and not is_F18
- name: Enable services for cups for xo's
- name: Enable services for cups for XO laptops
service: name=cups
state=started
enabled=yes
@ -50,7 +50,7 @@
- cups-browsed
when: not cups_enabled and not is_F18
- name: Disable services for cups for xo's
- name: Disable services for cups for XO laptops
service: name=cups
state=stopped
enabled=no

View file

@ -1,16 +0,0 @@
- name: Create home directory
file: path={{ doc_root }}/home
mode=0755
owner={{ apache_user }}
group={{ apache_user }}
state=directory
- name: Install admin home page into apache2
template: src=iiab-home-page.conf
dest=/etc/{{ apache_config_dir }}/iiab-home-page.conf
- name: Enable the home page
file: src=/etc/{{ apache_config_dir }}/iiab-home-page.conf
dest=/etc/apache2/sites-enabled/iiab-home-page.conf
state=link
when: is_debuntu

View file

@ -0,0 +1,16 @@
- name: Create home directory
file: path={{ doc_root }}/home
mode=0755
owner={{ apache_user }}
group={{ apache_user }}
state=directory
- name: Install admin homepage into apache2
template: src=iiab-homepage.conf
dest=/etc/{{ apache_config_dir }}/iiab-homepage.conf
- name: Enable the home page
file: src=/etc/{{ apache_config_dir }}/iiab-homepage.conf
dest=/etc/apache2/sites-enabled/iiab-homepage.conf
state=link
when: is_debuntu

View file

@ -1,9 +1,9 @@
# XSCE Home Page
# IIAB Home Page
# Redirect to home page on School Server
# Default is xs-portal
# Default [was] xs-portal [and is now generally] home
# RedirectMatch of root to home page
# RedirectMatch of root to homepage
# See the note in default_vars.yml
RedirectMatch ^/$ {{ iiab_home_url }}

View file

@ -146,7 +146,7 @@
tags:
- base
- name: place the script to generate home pages
- name: place the script to generate homepages
template: src=refresh-wiki-docs.sh
dest=/usr/bin/iiab-refresh-wiki-docs
mode=0755

View file

@ -1,4 +1,2 @@
phpMyAdmin: "phpMyAdmin-4.2.7.1-all-languages.zip"
mysql_install: True
mysql_enabled: False
phpmyadmin_enabled: False

View file

@ -84,7 +84,7 @@
when: blacklist_wifi is defined and discovered_wireless_iface != iiab_wan_iface and num_wifi_interfaces >= "2"
# LAN - pick non WAN's
- name: Create list of LAN (non wan) ifaces
- name: Create list of LAN (non wan) ifaces
shell: ls /sys/class/net | grep -v -e wwlan -e ppp -e lo -e br0 -e tun -e {{ device_gw }} -e {{ ap_device }}
register: lan_list_result
ignore_errors: True

View file

@ -19,7 +19,7 @@
- { src: 'dhcp/dhcpd-env.j2' , dest: '/etc/sysconfig/dhcpd' , mode: '0644' }
when: dhcpd_enabled
- name: Copy named file
- name: Copy named file
template: src={{ item.src }}
dest={{ item.dest }}
owner=root

View file

@ -1,6 +1,6 @@
---
- name: Install openvpn packages
- name: Install OpenVPN packages
package: name={{ item }}
state=present
with_items:
@ -27,7 +27,7 @@
file: path=/usr/lib/iiab
state=directory
- name: Configure openvpn
- name: Configure OpenVPN
template: src={{ item.src }}
dest={{ item.dest }}
owner={{ item.owner }}
@ -49,59 +49,60 @@
- { src: 'iiab-remote-on', dest: '/usr/bin/iiab-remote-on', owner: "root" , mode: '0755' }
- { src: 'iiab-remote-off', dest: '/usr/bin/iiab-remote-off', owner: "root" , mode: '0755' }
- name: put up_wan in place for debian
- name: Put up_wan in place for Debian
template: src=up_wan dest=/usr/lib/iiab/up_wan
when: is_debuntu
- name: put dispatcher up for NM
- name: Put dispatcher up for NM
template: src=15-openvpn dest=/etc/NetworkManager/dispatcher.d/
when: not is_debuntu
- name: check for manually configured openvpn tunnel
- name: Check for manually configured OpenVPN tunnel
stat: path=/etc/openvpn/iiab-vpn.conf
register: stat
# note that ansible does not currently handle @ in a service name
- name: enable the openvpn tunnel at boot time
- name: Enable the OpenVPN tunnel at boot time
shell: systemctl enable openvpn@xscenet.service
when: openvpn_enabled and not stat.exists is defined and is_debuntu
- name: enable the openvpn tunnel at boot time for Debian
- name: Enable the OpenVPN tunnel at boot time for Debian
shell: update-rc.d openvpn enable
when: openvpn_enabled and not stat.exists is defined and is_debuntu
- name: start the openvpn tunnel now
- name: Start the OpenVPN tunnel now
shell: systemctl start openvpn@xscenet.service
when: openvpn_enabled and not stat.exists is defined and not installing
- name: make openvpn connection automatic
- name: Make OpenVPN connection automatic
lineinfile: dest=/etc/crontab
line="25 * * * * root (/usr/bin/systemctl start openvpn@xscenet.service) > /dev/null"
when:
openvpn_enabled and openvpn_cron_enabled and not stat.exists is defined
when: openvpn_enabled and openvpn_cron_enabled and not stat.exists is defined
- name: make openvpn connection manual
- name: Make OpenVPN connection manual
lineinfile: dest=/etc/crontab
regexp=".*/usr/bin/systemctl*"
state=absent
when:
not openvpn_enabled or not openvpn_cron_enabled
when: not openvpn_enabled or not openvpn_cron_enabled
- name: stop starting the openvpn tunnel at boot time
shell: systemctl disable openvpn@xscenet.service
when: not openvpn_enabled and not is_debuntu
- name: Stop starting the OpenVPN tunnel at boot time
shell: systemctl disable openvpn@xscenet.service
when: not openvpn_enabled and not is_debuntu
- name: stop starting the openvpn tunnel at boot time for Debian
shell: update-rc.d openvpn disable
when: not openvpn_enabled and is_debuntu
- name: Stop starting the OpenVPN tunnel at boot time for Debian
shell: update-rc.d openvpn disable
when: not openvpn_enabled and is_debuntu
- name: stop openvpn tunnel immediately
shell: systemctl stop openvpn@xscenet.service
- name: Stop OpenVPN tunnel immediately
shell: systemctl stop openvpn@xscenet.service
ignore_errors: True
when: not openvpn_enabled and not installing
when: not openvpn_enabled and not installing
- name: Add openvpn to service list
- name: Add OpenVPN to service list
ini_file: dest='{{ service_filelist }}'
section=openvpn
option='{{ item.option }}'
@ -110,7 +111,7 @@
- option: name
value: "openvpn"
- option: description
value: '"Openvpn is a means of Contacting a server anywhere on the internet via a middleman server"'
value: '"OpenVPN is a means of connecting to a server anywhere on the internet via a middleman server"'
- option: middleman_url
value: "{{ vpn_presence }}"
- option: port

View file

@ -1,4 +1,4 @@
- name: Install IIAB required packages
- name: Install OSM required packages
package: name={{ item }}
state=present
with_items:
@ -9,7 +9,7 @@
- libapache2-mod-xsendfile
when: is_debuntu
- name: Install IIAB required packages
- name: Install OSM required packages
package: name={{ item }}
state=present
with_items:
@ -21,7 +21,7 @@
- mod_xsendfile
when: not is_debuntu
# IIAB wants a specific version do that first
# OSM wants a specific version do that first
- name: Install Whoosh 2.6
pip: name=whoosh
virtualenv={{ osm_venv }}
@ -30,7 +30,7 @@
extra_args="--no-cache-dir"
when: internet_available and is_debuntu
- name: Install IIAB with dependencies
- name: Install OSM with dependencies
pip: name={{ item }}
virtualenv={{ osm_venv }}
virtualenv_site_packages=no
@ -41,7 +41,7 @@
- Internet-in-a-Box
when: internet_available and is_debuntu
# IIAB wants a specific version do that first
# OSM wants a specific version do that first
- name: Install Whoosh 2.6
pip: name=whoosh
virtualenv={{ osm_venv }}
@ -50,7 +50,7 @@
# extra_args="--no-cache-dir"
when: internet_available and not is_debuntu
- name: Install IIAB with dependencies
- name: Install OSM with dependencies
pip: name={{ item }}
virtualenv={{ osm_venv }}
virtualenv_site_packages=no
@ -77,7 +77,7 @@
line="path_to_virtualenv = '/usr/local/osm'"
state=present
- name: All - Copy IIAB config file
- name: All - Copy OSM config file
template: backup=no
src=osm.conf.j2
dest=/etc/{{ apache_config_dir }}/osm.conf
@ -137,7 +137,7 @@
service: name={{ apache_service }}
state=restarted
- name: add osm to service list
- name: Add OSM to service list
ini_file: dest='{{ service_filelist }}'
section=osm
option='{{ item.option }}'

View file

@ -1,2 +1,3 @@
phpmyadmin_install: True
phpmyadmin_install: False
phpmyadmin_enabled: False
phpMyAdmin: "phpMyAdmin-4.7.5-all-languages.zip"

View file

@ -6,7 +6,7 @@
unarchive: src={{ downloads_dir }}/phpMyAdmin.zip dest=/opt/
- name: Create a symbolic link to the folder of the current version phpmyadmin
file: path=/opt/phpmyadmin src=phpMyAdmin-4.2.7.1-all-languages state=link
file: path=/opt/phpmyadmin src=phpMyAdmin-4.7.5-all-languages state=link
- name: Copy the phpmyadmin config file into place
template: src=config.inc.php dest=/opt/phpmyadmin/config.inc.php

View file

@ -64,6 +64,11 @@
group=postgres
mode=0640
- name: Stop postgresql service
command: "/etc/init.d/postgresql stop"
ignore_errors: True
when: postgresql_install and is_debuntu
- name: Stop and disable stock postgresql service
service: name=postgresql
state=stopped
@ -75,6 +80,12 @@
enabled=yes
when: postgresql_enabled
- name: Stop and disable postgresql-iiab service
service: name=postgresql
state=stopped
enabled=no
when: not postgresql_enabled
- name: Add postgresql to service list
ini_file: dest='{{ service_filelist }}'
section=postgresql

View file

@ -35,7 +35,7 @@ found="N"
for tag in $tags
do
if [ "$tag" == "init" ]
if [ "$tag" == "0-init" ]
then
found="Y"
fi
@ -47,7 +47,7 @@ taglist=$1
if [ "$found" == "N" ]
then
taglist="init,"$taglist
taglist="0-init,"$taglist
fi
export ANSIBLE_LOG_PATH="$CWD/iiab-debug.log"

View file

@ -38,24 +38,17 @@ language_priority: en es
# Time Zone (php needs timezone to be set)
local_tz: "{{ ansible_date_time.tz }}"
# Network Parameters
# Read https://github.com/iiab/iiab/wiki/IIAB-Networking
# Also readable offline @ http://box/info/IIAB-Networking.html
# NETWORK PARAMETERS FOLLOW ACROSS THE NEXT 60 LINES, as enabled by Ansible's
# NETWORK role (/opt/iiab/iiab/roles/network/*) in 4-SERVER-OPTIONS.
iiab_hostname: box
iiab_domain: lan
lan_ip: 172.18.96.1
lan_netmask: 255.255.224.0
# Read https://github.com/iiab/iiab/wiki/IIAB-Networking
# Also readable offline @ http://box/info/IIAB-Networking.html
# Gateway mode
iiab_lan_enabled: True
iiab_wan_enabled: True
ssh_port: 22
gui_wan: True
adm_cons_force_ssl: False
adm_cons_allow_downloads: False
# Internal Wi-Fi Access Point
# Values are used if there is an internal Wi-Fi adapter and hostapd is enabled
# The platform variable adapts install to specific hardware (raspberry pi=rpi2)
@ -66,32 +59,18 @@ host_channel: 6
hostapd_secure: False
hostapd_password: changeme
# Intended for developers
exFAT_enabled: False
user_wan_iface: auto
user_lan_iface: auto
wan_ip: dhcp
wan_netmask:
wan_gateway:
wan_nameserver:
#only change these if you know what you are doing
# Gateway mode
iiab_lan_enabled: True
iiab_wan_enabled: True
ssh_port: 22
gui_wan: True
adm_cons_force_ssl: False
adm_cons_allow_downloads: False
# Parameters by Aggregate Roles
# Each Role must have the following variables which are either True or False:
# <role-name>_install
# <role-name>_enabled
# Our current convention is to install everything in all aggregates
# And to enable everything in 1-PREP, 2-COMMON, and 3-BASE
# 1-PREP
# 2-COMMON
# 3-BASE-SERVER
# Apache
allow_apache_sudo: False
# Gateway and Filters
iiab_gateway_enabled: True
gw_squid_whitelist: False
gw_block_https: False
# dhcpd
dhcpd_install: True
@ -102,35 +81,68 @@ named_install: True
named_enabled: True
block_DNS: False
# DansGuardian
dansguardian_install: False
dansguardian_enabled: False
# Squid
squid_install: False
squid_enabled: False
# DansGuardian
dansguardian_install: False
dansguardian_enabled: False
# Wonder Shaper
# Unmaintained as of October 2017: https://github.com/iiab/iiab/pull/382
wondershaper_install: False
wondershaper_enabled: False
# Gateway and Filters
gw_squid_whitelist: False
gw_block_https: False
iiab_gateway_enabled: True
# Intended for developers
user_wan_iface: auto
user_lan_iface: auto
wan_ip: dhcp
wan_netmask:
wan_gateway:
wan_nameserver:
exFAT_enabled: False
#only change these if you know what you are doing
# Home page
# Default to the gui where the selection is made or override in local_vars.yml
iiab_home_url: /home
# Parameters by Aggregate Roles
# Each Role must have the following variables which are either True or False:
# <role-name>_install
# <role-name>_enabled
# You can change iiab_home_url in local_vars.yml in order to get a different home page.
# For example one of the following: (assuming they are enabled)
# Our past convention was to install everything in all aggregates
# And to enable everything in 1-PREP, 2-COMMON, and 3-BASE-SERVER
# iiab_home_url: /home
# iiab_home_url: /xs-portal - the alternate home page
# iiab_home_url: /wordpress
# iiab_home_url: /wiki - either dokuwiki or mediawiki
# 1-PREP
# Docker (lesser-supported)
docker_install: False
docker_enabled: False
# SchoolTool - unmaintained
schooltool_install: False
schooltool_enabled: False
# 2-COMMON
# 3-BASE-SERVER
# Needed if you want http://box/common/services/power_off.php to work
allow_apache_sudo: False
# HTTPD role runs here.
# IIAB-ADMIN role runs here.
# MySQL - SEE roles/1-prep/tasks/computed_vars.yml for de facto defaults
mysql_install: True
mysql_enabled: True
# password is fixmysql
# mysql_root_password: $6$iiab51$3ICIW0CLWxxMW2a3yrHZ38ukZItD5tcadL4rWcE9D.qIGStxhh8rRsaSxoj3b.MYxI/VRDNjpzSYK/V6zkWFI0
mysql_root_password: fixmysql
# PostgreSQL
postgresql_install: False
postgresql_enabled: False
# 4-SERVER-OPTIONS
@ -144,43 +156,51 @@ openvpn_cron_enabled: False
openvpn_install: True
openvpn_enabled: False
# Samba. Take a security audit seriously before deploying this.
samba_install: False
samba_enabled: False
# NETWORK role runs here.
# PostgreSQL
postgresql_install: False
postgresql_enabled: False
# Homepage
# Default to the GUI where the selection is made or override in local_vars.yml
iiab_home_url: /home
# You can change iiab_home_url in local_vars.yml in order to get a different
# homepage. For example one of the following: (assuming they are enabled)
# iiab_home_url: /home
# iiab_home_url: /wordpress
# iiab_home_url: /wiki - either dokuwiki or mediawiki
# authserver
authserver_install: False
authserver_enabled: False
# Common UNIX Printing System (CUPS)
cups_install: True
cups_enabled: False
# Samba. Take a security audit seriously before deploying this.
samba_install: False
samba_enabled: False
# usb-lib
usb_lib_install: True
usb_lib_enabled: True
# Docker
docker_install: False
docker_enabled: False
# Common UNIX Printing System
cups_install: True
cups_enabled: False
# Toggle iiab-refresh-wiki-docs scraping for offline docs (http://box/info)
nodocs: False
# 5-XO-SERVICES
# Lesser-supported XO services need additional testing. Please uncomment
# the line containing 5-xo-services within /opt/iiab/iiab/iiab.yml and contact
# Lesser-supported XO services need additional testing. Please contact
# http://lists.laptop.org/pipermail/server-devel/ if you're able to help test.
xo_services_install: False
xo_services_enabled: False
# ejabberd
ejabberd_install: False
ejabberd_enabled: False
# activity-server
activity_server_install: False
activity_server_enabled: False
# ejabberd-xs
ejabberd_xs_install: False
ejabberd_xs_enabled: False
@ -188,11 +208,115 @@ ejabberd_xs_enabled: False
idmgr_install: False
idmgr_enables: False
# activity-server
activity_server_install: False
activity_server_enabled: False
# 6-GENERIC-APPS
# XOVis
# Calibre
calibre_install: True
calibre_enabled: False
calibre_port: 8080
# DokuWiki
dokuwiki_install: False
dokuwiki_enabled: False
# Elgg
elgg_install: True
elgg_enabled: False
# elgg_mysql_password: $6$iiab51$jeTwnATcbaa92xo0QBTgjLBU.5aVDDrbKeNyyC99R/TAWz6pvfzj.L7lfnOVVjD78nxqT.gkNn6XZmuRV0W3o1
elgg_mysql_password: elgg4kids
# ejabberd
ejabberd_install: False
ejabberd_enabled: False
# Nextcloud
nextcloud_install: True
nextcloud_enabled: False
# ownCloud
owncloud_install: False
owncloud_enabled: False
# WordPress
wordpress_install: True
wordpress_enabled: False
# 7-EDU-APPS
# KA Lite
kalite_install: True
kalite_root: "/library/ka-lite"
kalite_user: kalite
kalite_password_hash: $6$<salt>$KHET0XRRsgAY.wOWyTOI3W7dyDh0ESOr48uI5vtk2xdzsU7aw0TF4ZkNuM34RmHBGMJ1fTCmOyVobo0LOhBlJ/
kalite_password: kalite
kalite_server_name: kalite
kalite_server_port: 8008
kalite_enabled: False
kalite_cron_enabled: False
# Kiwix
kiwix_install: True
kiwix_enabled: True
kiwix_port: 3000
iiab_zim_path: /library/zims
# Moodle
moodle_install: False
moodle_enabled: False
# OpenStreetMap (OSM)
osm_install: True
osm_enabled: False
# changed in June 2017 from:
# iiab_install: True
# iiab_enabled: False
# Pathagar - similar to Calibre, but unmaintained
pathagar_install: False
pathagar_enabled: False
# Sugarizer
sugarizer_install: True
sugarizer_enabled: False
# 8-MGMT-TOOLS
# AWStats -- sumarizes http access logs
awstats_install: True
awstats_enabled: False
# Monit
monit_install: False
monit_enabled: False
watchdog:
- sshd
- idmgr
- ejabberd
- httpd
- postgresql
- squid
# Munin
munin_install: True
munin_enabled: False
# Handy for maintaining tables, but DANGEROUS if not locked down
phpmyadmin_install: False
phpmyadmin_enabled: False
# sugar-stats - unmaintained
sugar_stats_install: False
sugar_stats_enabled: False
# TeamViewer - unmaintained (better to install from http://teamviewer.com)
teamviewer_install: False
teamviewer_enabled: False
# vnStat
vnstat_install: True
vnstat_enabled: False
# XOVis - unmaintained
xovis_install: False
xovis_enabled: False
xovis_target_host: "127.0.0.1:5984"
@ -206,134 +330,18 @@ xovis_root: "/opt/xovis"
xovis_backup_dir: "/library/users"
xovis_chart_heading: "My School: Usage Data Visualization"
# sugar-stats
sugar_stats_install: False
sugar_stats_enabled: False
# ================================================================
# 6-GENERIC-APPS
# Ajenti - unmaintained
# ajenti_install: False
# ajenti_enabled: False
# MySQL
mysql_install: True
mysql_enabled: False
# password is fixmysql
# mysql_root_password: $6$iiab51$3ICIW0CLWxxMW2a3yrHZ38ukZItD5tcadL4rWcE9D.qIGStxhh8rRsaSxoj3b.MYxI/VRDNjpzSYK/V6zkWFI0
mysql_root_password: fixmysql
# Handy for maintaining tables, but DANGEROUS if not locked down
phpmyadmin_install: False
phpmyadmin_enabled: False
# Elgg
elgg_install: True
elgg_enabled: False
# elgg_mysql_password: $6$iiab51$jeTwnATcbaa92xo0QBTgjLBU.5aVDDrbKeNyyC99R/TAWz6pvfzj.L7lfnOVVjD78nxqT.gkNn6XZmuRV0W3o1
elgg_mysql_password: elgg4kids
# OwnCloud
owncloud_install: False
owncloud_enabled: False
# Nextcloud
nextcloud_install: True
nextcloud_enabled: False
# WordPress
wordpress_install: True
wordpress_enabled: False
# DokuWiki
dokuwiki_install: False
dokuwiki_enabled: False
# 7-EDU-APPS
# Moodle
moodle_install: False
moodle_enabled: False
# Internet-in-a-Box
#iiab_install: True
#iiab_enabled: False
# above 2 variables changed in June 2017 to:
osm_install: True
osm_enabled: False
# Pathagar
pathagar_install: False
pathagar_enabled: False
# Calibre
calibre_install: True
calibre_enabled: False
calibre_port: 8080
# RACHEL
rachel_install: False
rachel_enabled: False
rachel_content_found: False
#rachel_url: /rachel
rachel_doc_root: "{{ doc_root }}/modules"
# Kiwix-serve
kiwix_install: True
kiwix_enabled: True
kiwix_port: 3000
iiab_zim_path: /library/zims
# KA Lite
kalite_install: True
kalite_root: "/library/ka-lite"
kalite_user: kalite
kalite_password_hash: $6$<salt>$KHET0XRRsgAY.wOWyTOI3W7dyDh0ESOr48uI5vtk2xdzsU7aw0TF4ZkNuM34RmHBGMJ1fTCmOyVobo0LOhBlJ/
kalite_password: kalite
kalite_server_name: kalite
kalite_server_port: 8008
kalite_enabled: False
kalite_cron_enabled: False
# Sugarizer
sugarizer_install: True
sugarizer_enabled: False
# 8-MGMT-TOOLS
# Munin
munin_install: True
munin_enabled: False
# Monit
monit_install: False
monit_enabled: False
watchdog:
- sshd
- idmgr
- ejabberd
- httpd
- postgresql
- squid
# vnStat
vnstat_install: True
vnstat_enabled: False
# AWStats -- sumarizes http access logs
awstats_install: True
awstats_enabled: False
# SchoolTool
schooltool_install: False
schooltool_enabled: False
# Ajenti
ajenti_install: False
ajenti_enabled: False
# TeamViewer - unmaintained (better to install from http://teamviewer.com)
teamviewer_install: False
teamviewer_enabled: False
# Toggle iiab-refresh-wiki-docs scraping for offline docs (http://box/info)
nodocs: False
# RACHEL - no longer in use
# rachel_install: False
# rachel_enabled: False
# rachel_content_found: False
# #rachel_url: /rachel
# rachel_doc_root: "{{ doc_root }}/modules"
# ================================================================
# Platforms - turn all off and let <OS>.yml turn on as appropriate

View file

@ -14,6 +14,7 @@ iiab_admin_user: iiab-admin
iiab_hostname: box
iiab_domain: lan
# Set to /home or /wordpress or /wiki (for DokuWiki or MediaWiki)
iiab_home_url: /home
host_ssid: "Internet in a Box"
host_wifi_mode: g
@ -34,18 +35,20 @@ iiab_gateway_enabled: False
# Make this False to disable http://box/common/services/power_off.php button:
allow_apache_sudo: True
# 3-BASE-SERVER
squid_install: False
squid_enabled: False
dansguardian_install: False
dansguardian_enabled: False
# Unmaintained
# Unmaintained as of October 2017: https://github.com/iiab/iiab/pull/382
# wondershaper_install: False
# wondershaper_enabled: False
# 3-BASE-SERVER
# MySQL & PostgreSQL are auto-installed around here as necessary.
# 4-SERVER-OPTIONS
# SECURITY WARNING: See http://wiki.laptop.org/go/IIAB/Security
@ -55,6 +58,10 @@ openvpn_enabled: False
# openvpn_cron_enabled: True
# If changing the above, remember to run "cd /opt/iiab/iiab; ./runtags openvpn"
# Unmaintained
# authserver_install: False
# authserver_enabled: False
# Common UNIX Printing System
cups_install: True
cups_enabled: False
@ -63,18 +70,13 @@ cups_enabled: False
samba_install: False
samba_enabled: False
# Handy for maintaining tables, but DANGEROUS if not locked down
phpmyadmin_install: False
phpmyadmin_enabled: False
# 5-XO-SERVICES
# Lesser-supported XO services need additional testing. Please uncomment
# the line containing 5-xo-services within /opt/iiab/iiab/iiab.yml and contact
# Lesser-supported XO services need additional testing. Please contact
# http://lists.laptop.org/pipermail/server-devel/ if you're able to help test.
# authserver_install: False
# authserver_enabled: False
# xo_services_install: False
# xo_services_enabled: False
# activity_server_install: False
# activity_server_enabled: False
@ -83,44 +85,51 @@ phpmyadmin_enabled: False
# idmgr_install: False
# idmgr_enabled: False
# ejabberd_install: False
# ejabberd_enabled: False
# xo_services_install: False
# xo_services_enabled: False
# sugar_stats_install: False
# sugar_stats_enabled: False
# xovis_install: False
# xovis_enabled: False
# ejabberd_xs_install: False
# ejabberd_xs_enabled: False
# 6-GENERIC-APPS
calibre_install: True
calibre_enabled: True
# Change calibre_port to 8010 if you're using XO laptops needing above idmgr
calibre_port: 8080
dokuwiki_install: False
dokuwiki_enabled: False
elgg_install: True
elgg_enabled: True
ejabberd_install: False
ejabberd_enabled: False
nextcloud_install: True
nextcloud_enabled: True
wordpress_install: True
wordpress_enabled: True
elgg_install: True
elgg_enabled: True
dokuwiki_install: False
dokuwiki_enabled: False
# 7-EDU-APPS
kalite_install: True
kalite_enabled: True
kalite_cron_enabled: True
kiwix_install: True
kiwix_enabled: True
# Warning: Moodle is a serious LMS, that takes a while to install
moodle_install: False
moodle_enabled: False
# OpenStreetMap: renamed from {iiab_install, iiab_enabled} in June 2017
osm_install: True
osm_enabled: True
kiwix_install: True
kiwix_enabled: True
kalite_install: True
kalite_enabled: True
kalite_cron_enabled: True
# Similar to Calibre, but unmaintained
pathagar_install: False
pathagar_enabled: False
# Might stall MongoDB on Power Failure: github.com/xsce/xsce/issues/879
sugarizer_install: True
@ -129,33 +138,36 @@ sugarizer_enabled: True
# https://github.com/iiab/iiab/issues/193 Subsequent "./runtags sugarizer" fail
# https://github.com/iiab/iiab/issues/240 Sugarizer 0.8 to 0.9 ongoing issues
calibre_install: True
calibre_enabled: True
# Change calibre_port to 8010 if you're using XO laptops needing above idmgr
calibre_port: 8080
# Similar to Calibre, but unmaintained
pathagar_install: False
pathagar_enabled: False
# Warning: Moodle is a serious LMS, that takes a while to install
moodle_install: False
moodle_enabled: False
# 8-MGMT-TOOLS
munin_install: True
munin_enabled: True
vnstat_install: True
vnstat_enabled: True
awstats_install: True
awstats_enabled: True
monit_install: False
monit_enabled: False
munin_install: True
munin_enabled: True
# Handy for maintaining tables, but DANGEROUS if not locked down
phpmyadmin_install: False
phpmyadmin_enabled: False
# Unmaintained (better to install from http://teamviewer.com)
teamviewer_install: False
teamviewer_enabled: False
vnstat_install: True
vnstat_enabled: True
# Unmaintained
# sugar_stats_install: False
# sugar_stats_enabled: False
# Unmaintained
# xovis_install: False
# xovis_enabled: False
# Unmaintained
# schooltool_install: False
# schooltool_enabled: False