mirror of
https://github.com/iiab/iiab.git
synced 2025-02-15 04:32:11 +00:00
Might need full path ie {{ osm_path }} in place of {{ osm_venv }} With the push by the distros to python3 we took the step to use virtual environments to better contain python 2.7 based programs.
153 lines
4.5 KiB
YAML
153 lines
4.5 KiB
YAML
- name: Install IIAB required packages
|
||
package: name={{ item }}
|
||
state=present
|
||
with_items:
|
||
- gcc
|
||
- python-dev
|
||
- liblzma-dev
|
||
- libapache2-mod-wsgi
|
||
- libapache2-mod-xsendfile
|
||
when: is_debuntu
|
||
|
||
- name: Install IIAB required packages
|
||
package: name={{ item }}
|
||
state=present
|
||
with_items:
|
||
- python-pip
|
||
- gcc
|
||
- python-devel
|
||
- xz-devel
|
||
- mod_wsgi
|
||
- mod_xsendfile
|
||
when: not is_debuntu
|
||
|
||
# IIAB wants a specific version do that first
|
||
- name: Install Whoosh 2.6
|
||
pip: name=whoosh
|
||
virtualenv={{ osm_venv }}
|
||
virtualenv_site_packages=no
|
||
version=2.6
|
||
extra_args="--no-cache-dir"
|
||
when: internet_available and is_debuntu
|
||
|
||
- name: Install IIAB with dependencies
|
||
pip: name={{ item }}
|
||
virtualenv={{ osm_venv }}
|
||
virtualenv_site_packages=no
|
||
extra_args="--no-cache-dir"
|
||
with_items:
|
||
- MarkupSafe
|
||
- pytz
|
||
- Internet-in-a-Box
|
||
when: internet_available and is_debuntu
|
||
|
||
# IIAB wants a specific version do that first
|
||
- name: Install Whoosh 2.6
|
||
pip: name=whoosh
|
||
virtualenv={{ osm_venv }}
|
||
virtualenv_site_packages=no
|
||
version=2.6
|
||
# extra_args="--no-cache-dir"
|
||
when: internet_available and not is_debuntu
|
||
|
||
- name: Install IIAB with dependencies
|
||
pip: name={{ item }}
|
||
virtualenv={{ osm_venv }}
|
||
virtualenv_site_packages=no
|
||
# extra_args="--no-cache-dir"
|
||
with_items:
|
||
- MarkupSafe
|
||
- pytz
|
||
- Internet-in-a-Box
|
||
when: internet_available and not is_debuntu
|
||
|
||
- name: Set osm_path
|
||
set_fact:
|
||
osm_path: "{{ osm_venv }}/{{ python_path }}/iiab"
|
||
when: osm_enabled and is_redhat
|
||
|
||
- name: Set osm_path
|
||
set_fact:
|
||
osm_path: "{{ osm_venv }}/lib/python2.7/site-packages/iiab"
|
||
when: osm_enabled and is_debuntu
|
||
|
||
- name: All - Point wsgi to virtual environment
|
||
lineinfile: dest={{ osm_venv }}/bin/iiab.wsgi
|
||
regexp='path_to_virtualenv*'
|
||
line='path_to_virtualenv = /usr/local/osm'
|
||
state=present
|
||
|
||
- name: All - Copy IIAB config file
|
||
template: backup=no
|
||
src=osm.conf.j2
|
||
dest=/etc/{{ apache_config_dir }}/osm.conf
|
||
owner=root
|
||
group=root
|
||
mode=0644
|
||
when: osm_enabled
|
||
|
||
- name: Debuntu - Create a link from sites-enabled to sites-available
|
||
file: src=/etc/{{ apache_config_dir }}/osm.conf
|
||
dest=/etc/apache2/sites-enabled/osm.conf
|
||
state=link
|
||
when: osm_enabled and is_debuntu
|
||
|
||
- name: Debuntu - Remove the link from sites-enabled to sites-available
|
||
file: dest=/etc/apache2/sites-enabled/osm.conf
|
||
state=absent
|
||
when: not osm_enabled and is_debuntu
|
||
|
||
- name: Redhat - Remove the osm.conf
|
||
file: dest=/{{ apache_config_dir }}/osm.conf
|
||
state=absent
|
||
when: not osm_enabled and is_redhat
|
||
|
||
- name: All - Remove link to cgi
|
||
file: dest={{ doc_root }}/osm.wsgi
|
||
state=absent
|
||
when: not osm_enabled
|
||
|
||
- name: All - Create link to cgi
|
||
file: src={{ osm_venv }}/bin/iiab.wsgi
|
||
dest={{ doc_root }}/osm.wsgi
|
||
owner=root
|
||
group=root
|
||
state=link
|
||
when: osm_enabled
|
||
|
||
- name: Create the knowledge data set folders
|
||
file: path=/library/knowledge/modules
|
||
state=directory
|
||
owner={{ apache_user }}
|
||
group={{ apache_user }}
|
||
|
||
# the following was brought into OSM playbook from iiab-factory osm-fix script
|
||
- name: Copy the files
|
||
template: src={{ item.src }} dest={{ item.dest }}
|
||
with_items:
|
||
- { src: 'defaults.ini', dest: "{{ osm_path }}/" }
|
||
- { src: 'etc.iiab.conf', dest: '/etc/iiab.conf' }
|
||
- { src: 'map_search.py', dest: "{{ osm_path }}/map_search.py" }
|
||
- { src: 'map.html', dest: "{{ osm_path }}/static/map.html" }
|
||
- { src: 'l.control.geosearch.js', dest: "{{ osm_path }}/static/lib/leaflet/geosearch/l.control.geosearch.js" }
|
||
- { src: '{{ osm_path }}/static/map.html', dest: "{{ osm_path }}/static/index.html" }
|
||
when: osm_enabled
|
||
|
||
- name: Restart httpd service
|
||
service: name={{ apache_service }}
|
||
state=restarted
|
||
|
||
- name: add osm to service list
|
||
ini_file: dest='{{ service_filelist }}'
|
||
section=osm
|
||
option='{{ item.option }}'
|
||
value='{{ item.value }}'
|
||
with_items:
|
||
- option: name
|
||
value: Internet-in-a-Box
|
||
- option: description
|
||
value: '"The Internet-in-a-Box is a small, inexpensive device which provides essential Internet resources without any Internet connection. It provides a local copy of half a terabyte of the world’s Free information."'
|
||
- option: path
|
||
value: /osm
|
||
- option: enabled
|
||
value: "{{ osm_enabled }}"
|