2018-03-22 15:58:22 +00:00
|
|
|
- name: Remove package Pathagar (in case rpm?)
|
|
|
|
package:
|
|
|
|
name: pathagar
|
|
|
|
state: absent
|
|
|
|
|
2018-03-22 16:08:27 +00:00
|
|
|
- name: Install Pathagar prerequisites (all OSs)
|
2018-03-22 15:58:22 +00:00
|
|
|
package:
|
|
|
|
name: "{{ item }}"
|
|
|
|
state: present
|
2017-05-27 18:09:50 +00:00
|
|
|
with_items:
|
|
|
|
- python-virtualenv
|
|
|
|
- python-pip
|
|
|
|
- python-psycopg2
|
|
|
|
|
2018-03-22 15:58:22 +00:00
|
|
|
- name: Install Pathagar prerequisites (debuntu)
|
|
|
|
package:
|
|
|
|
name: "{{ item }}"
|
|
|
|
state: present
|
2017-05-27 18:09:50 +00:00
|
|
|
with_items:
|
|
|
|
- libapache2-mod-wsgi
|
|
|
|
- libxml2-dev
|
|
|
|
- libxslt-dev
|
2017-05-27 23:10:45 +00:00
|
|
|
when: is_debuntu
|
2017-05-27 18:09:50 +00:00
|
|
|
|
2018-03-22 15:58:22 +00:00
|
|
|
- name: Install Pathagar prerequisites (not debuntu)
|
|
|
|
package:
|
|
|
|
name: "{{ item }}"
|
|
|
|
state: present
|
2017-05-27 18:09:50 +00:00
|
|
|
with_items:
|
|
|
|
- mod_wsgi
|
|
|
|
- libxml2-devel
|
|
|
|
- libxslt-devel
|
2017-05-27 23:10:45 +00:00
|
|
|
when: not is_debuntu
|
2017-05-27 18:09:50 +00:00
|
|
|
|
|
|
|
- name: Create destination folder
|
2018-03-22 15:58:22 +00:00
|
|
|
file:
|
|
|
|
path: "{{ pathagar_src }}"
|
|
|
|
state: directory
|
|
|
|
owner: root
|
|
|
|
group: root
|
|
|
|
mode: 0755
|
2017-05-27 18:09:50 +00:00
|
|
|
|
|
|
|
- name: Create books destination folder
|
2018-03-22 15:58:22 +00:00
|
|
|
file:
|
|
|
|
path: "{{ pathagar_media }}"
|
|
|
|
state: directory
|
|
|
|
owner: "{{ apache_user }}"
|
|
|
|
group: "{{ apache_user }}"
|
|
|
|
mode: 0755
|
|
|
|
|
|
|
|
- name: Determine if Pathagar has already been downloaded from git
|
|
|
|
stat:
|
|
|
|
path: "{{ pathagar_src }}/settings.py"
|
2017-05-27 18:09:50 +00:00
|
|
|
register: pathagar
|
|
|
|
|
2018-03-22 15:58:22 +00:00
|
|
|
- name: Clone Pathagar repo
|
|
|
|
git:
|
|
|
|
repo: https://github.com/PathagarBooks/pathagar.git
|
|
|
|
dest: "{{ pathagar_src }}"
|
|
|
|
update: yes
|
|
|
|
version: master
|
|
|
|
when: internet_available and pathagar.stat.exists is defined and not pathagar.stat.exists
|
|
|
|
|
|
|
|
- name: Install Pathagar requirements in a virtualenv
|
|
|
|
pip:
|
|
|
|
name: "{{ item }}"
|
2017-05-27 18:09:50 +00:00
|
|
|
with_items:
|
|
|
|
- Django==1.4.5
|
|
|
|
- django-tagging==0.3.1
|
|
|
|
- django-sendfile==0.3.6
|
|
|
|
- lxml==3.4.4
|
2017-07-08 03:00:11 +00:00
|
|
|
when: internet_available
|
2017-05-27 18:09:50 +00:00
|
|
|
|
2018-03-22 15:58:22 +00:00
|
|
|
- name: Install Pathagar requirements in a virtualenv
|
|
|
|
pip:
|
|
|
|
name: "{{ item }}"
|
|
|
|
extra_args: "--use-wheel"
|
|
|
|
virtualenv: "{{ pathagar_venv }}"
|
|
|
|
virtualenv_site_packages: yes
|
2017-05-27 18:09:50 +00:00
|
|
|
with_items:
|
|
|
|
- django-taggit==0.14
|
|
|
|
|
2018-03-22 15:58:22 +00:00
|
|
|
- name: Create Pathagar postgresql user
|
|
|
|
postgresql_user:
|
|
|
|
name: "{{ pathagar_db_user }}"
|
|
|
|
password: "{{ pathagar_db_password }}"
|
|
|
|
role_attr_flags: NOSUPERUSER,NOCREATEROLE,NOCREATEDB
|
|
|
|
state: present
|
2017-05-27 18:09:50 +00:00
|
|
|
become: yes
|
|
|
|
become_user: postgres
|
|
|
|
|
2017-06-28 02:53:13 +00:00
|
|
|
- name: Start postgresql-iiab
|
2018-03-22 15:58:22 +00:00
|
|
|
service:
|
|
|
|
name: postgresql-iiab
|
|
|
|
state: started
|
|
|
|
|
|
|
|
- name: Enable Pathagar postgresql user access by md5 method
|
|
|
|
lineinfile:
|
|
|
|
backup: yes
|
|
|
|
dest: /library/pgsql-iiab/pg_hba.conf
|
2018-03-22 16:06:19 +00:00
|
|
|
regexp: '^host\s+pathagar'
|
2018-03-22 15:58:22 +00:00
|
|
|
line: "host pathagar pathagar samehost md5"
|
|
|
|
state: present
|
|
|
|
insertafter: "^# IPv4 local connections"
|
|
|
|
owner: postgres
|
|
|
|
group: postgres
|
2017-05-27 18:09:50 +00:00
|
|
|
register: enable_pathagar_md5_access
|
|
|
|
|
|
|
|
- name: Reload postgresql service
|
2018-03-22 15:58:22 +00:00
|
|
|
service:
|
|
|
|
name: postgresql-iiab
|
|
|
|
state: reloaded
|
2017-05-27 18:09:50 +00:00
|
|
|
when: enable_pathagar_md5_access.changed
|
|
|
|
|
2018-03-22 16:06:19 +00:00
|
|
|
- name: Create Pathagar postgresql database
|
2018-03-22 15:58:22 +00:00
|
|
|
postgresql_db:
|
|
|
|
name: "{{ pathagar_db_name }}"
|
|
|
|
encoding: utf8
|
|
|
|
owner: "{{ pathagar_db_user }}"
|
|
|
|
state: present
|
|
|
|
template: template0
|
2017-05-27 18:09:50 +00:00
|
|
|
become: yes
|
|
|
|
become_user: postgres
|
|
|
|
|
2018-03-22 15:58:22 +00:00
|
|
|
- name: Install IIAB custom settings for Pathagar
|
|
|
|
template:
|
|
|
|
src: prod_settings.py
|
|
|
|
dest: "{{ pathagar_src }}/prod_settings.py"
|
|
|
|
owner: root
|
|
|
|
group: root
|
|
|
|
mode: 0644
|
|
|
|
|
|
|
|
- name: Create Pathagar initial db
|
|
|
|
django_manage:
|
|
|
|
app_path: "{{ pathagar_src }}"
|
|
|
|
command: syncdb
|
|
|
|
virtualenv: "{{ pathagar_venv }}"
|
|
|
|
settings: pathagar.prod_settings
|
|
|
|
|
|
|
|
- name: Upload Pathagar admin user
|
|
|
|
template:
|
|
|
|
src: auth.User.json
|
|
|
|
dest: "{{ pathagar_dir }}/auth.User.json"
|
|
|
|
owner: root
|
|
|
|
group: root
|
|
|
|
mode: 0600
|
|
|
|
|
|
|
|
- name: Load Pathagar admin user
|
|
|
|
django_manage:
|
|
|
|
app_path: "{{ pathagar_src }}"
|
|
|
|
command: loaddata
|
|
|
|
virtualenv: "{{ pathagar_venv }}"
|
|
|
|
settings: pathagar.prod_settings
|
|
|
|
fixtures: "{{ pathagar_dir }}/auth.User.json"
|
|
|
|
|
|
|
|
- name: Collect Pathagar static files
|
|
|
|
django_manage:
|
|
|
|
app_path: "{{ pathagar_src }}"
|
|
|
|
command: collectstatic
|
|
|
|
virtualenv: "{{ pathagar_venv }}"
|
|
|
|
settings: pathagar.prod_settings
|
|
|
|
|
|
|
|
- name: Install wsgi.py for Pathagar
|
|
|
|
template:
|
|
|
|
src: wsgi.py
|
|
|
|
dest: "{{ pathagar_dir }}/wsgi.py"
|
|
|
|
owner: root
|
|
|
|
group: root
|
|
|
|
mode: 0644
|
|
|
|
|
|
|
|
- name: Install httpd conf for Pathagar
|
|
|
|
template:
|
|
|
|
src: pathagar.conf
|
|
|
|
backup: yes
|
|
|
|
dest: "/etc/{{ apache_config_dir }}/pathagar.conf"
|
|
|
|
mode: 0644
|
|
|
|
|
|
|
|
- name: Enable Pathagar (debuntu)
|
|
|
|
file:
|
|
|
|
path: /etc/apache2/sites-enabled/pathagar.conf
|
|
|
|
src: /etc/apache2/sites-available/pathagar.conf
|
|
|
|
state: link
|
2017-05-27 23:10:45 +00:00
|
|
|
when: pathagar_enabled and is_debuntu
|
2017-05-27 18:09:50 +00:00
|
|
|
|
2018-03-22 15:58:22 +00:00
|
|
|
- name: Disable Pathagar (debuntu)
|
|
|
|
file:
|
|
|
|
path: /etc/apache2/sites-enabled/pathagar.conf
|
|
|
|
state: absent
|
2017-05-27 23:10:45 +00:00
|
|
|
when: not pathagar_enabled and is_debuntu
|
2017-05-27 18:09:50 +00:00
|
|
|
|
2018-10-31 08:00:20 +00:00
|
|
|
- name: Reload Apache ({{ apache_service }})
|
2018-03-22 15:58:22 +00:00
|
|
|
service:
|
|
|
|
name: "{{ apache_service }}"
|
|
|
|
state: reloaded
|
2017-05-27 18:09:50 +00:00
|
|
|
|
2018-10-31 08:00:20 +00:00
|
|
|
- name: Add 'pathagar' variable values to {{ iiab_ini_file }}
|
2018-03-22 15:58:22 +00:00
|
|
|
ini_file:
|
2018-10-31 08:00:20 +00:00
|
|
|
path: "{{ iiab_ini_file }}"
|
2018-03-22 15:58:22 +00:00
|
|
|
section: pathagar
|
|
|
|
option: "{{ item.option }}"
|
|
|
|
value: "{{ item.value }}"
|
2017-05-27 18:09:50 +00:00
|
|
|
with_items:
|
|
|
|
- option: name
|
|
|
|
value: pathagar
|
|
|
|
- option: description
|
|
|
|
value: '"Pathagar is a simple bookserver serving OPDS feeds"'
|
|
|
|
- option: path
|
|
|
|
value: /books
|