mirror of
https://github.com/iiab/iiab.git
synced 2025-02-13 03:32:12 +00:00
140 lines
5.3 KiB
YAML
140 lines
5.3 KiB
YAML
# Fixes search @ http://box/modules/es-wikihow (for young Spanish speakers)
|
|
|
|
# README & Code: https://github.com/iiab/php-stem
|
|
|
|
# Source Code also here: http://download.iiab.io/packages/php-stem.src.tar
|
|
# June 2018 debugging & compilation thanks to Tim Moody & George Hunt
|
|
# Original bug: https://github.com/iiab/iiab/issues/829
|
|
|
|
|
|
- name: Install apt package php{{ php_version }}-sqlite3 -- nec for http://box/modules/es-wikihow search -- can also be installed by osm-vector-maps/tasks/install.yml
|
|
package:
|
|
state: present
|
|
name: php{{ php_version }}-sqlite3
|
|
|
|
|
|
- name: Populate php_extensions dictionary (lookup table of recent PHP versions and their corresponding YYYYMMDD, for /usr/lib/php/YYYYMMDD/stem.so)
|
|
set_fact:
|
|
php_extensions: # Dictionary keys (left side) are always strings, e.g. "7.2"
|
|
7.2: 20170718 # Dictionary values (right side) can be of type int here, as it's auto-cast to string just below. Strings would also work e.g. 7.2: "20170718"
|
|
7.3: 20180731
|
|
7.4: 20190902
|
|
8.0: 20200930
|
|
8.1: 20210902
|
|
|
|
- name: Set php_extension to "{{ php_extensions[php_version] }}" using php_extensions[php_version]
|
|
set_fact:
|
|
php_extension: "{{ php_extensions[php_version] }}"
|
|
|
|
# Auto-lookup would also work...
|
|
# php -i | grep 'PHP Extension =>' | cut -d' ' -f4
|
|
#
|
|
# Or...
|
|
# ls -d /usr/lib/php/20?????? | cut -d/ -f5
|
|
#
|
|
# (Or in PHP code...)
|
|
# phpinfo()
|
|
|
|
# Or consider https://github.com/iiab/php-stem/issues/2 in future?
|
|
# "Current practice is to put the stem.so file in a different place for each php version.
|
|
# Would it be better to create a directory /usr/local/lib/php-stem and always put it there.
|
|
# Then put that location in stem.ini"
|
|
|
|
|
|
- name: Populate php_stem_arches dictionary (lookup table of CPU architectures for https://github.com/iiab/php-stem/raw/main/so/stem-[ARCH]-[PHP VERSION].so)
|
|
set_fact:
|
|
php_stem_arches:
|
|
armv6l: armhf
|
|
armv7l: armhf
|
|
aarch64: aarch64
|
|
x86_64: x86
|
|
|
|
- name: Set php_stem_arch to "{{ php_stem_arches[ansible_machine] }}" using php_stem_arches[ansible_machine]
|
|
set_fact:
|
|
php_stem_arch: "{{ php_stem_arches[ansible_machine] }}"
|
|
|
|
|
|
- name: Download https://github.com/iiab/php-stem/raw/main/so/stem-{{ php_stem_arch }}-{{ php_version }}.so to /usr/lib/php/{{ php_extension }}/stem.so
|
|
get_url:
|
|
url: https://github.com/iiab/php-stem/raw/main/so/stem-{{ php_stem_arch }}-{{ php_version }}.so
|
|
dest: /usr/lib/php/{{ php_extension }}/stem.so
|
|
timeout: "{{ download_timeout }}"
|
|
|
|
# https://en.wikipedia.org/wiki/Here_document
|
|
- name: Install "extension=stem.so" in /etc/php/{{ php_version }}/mods-available/stem.ini
|
|
shell: |
|
|
cat > /etc/php/{{ php_version }}/mods-available/stem.ini << EOF
|
|
; configuration for php common module
|
|
; priority=20
|
|
extension=stem.so
|
|
EOF
|
|
|
|
- name: Symlink /etc/php/{{ php_version }}/fpm/conf.d/20-stem.ini -> /etc/php/{{ php_version }}/mods-available/stem.ini
|
|
file:
|
|
src: /etc/php/{{ php_version }}/mods-available/stem.ini
|
|
path: /etc/php/{{ php_version }}/fpm/conf.d/20-stem.ini
|
|
state: link
|
|
|
|
- debug:
|
|
msg: YOU MAY NEED TO 'systemctl reload php{{ php_version }}-fpm' -- whereas during an IIAB install, roles/www_options restarts it for you
|
|
|
|
|
|
# - name: Set fact stem available php 7.2 - includes x86_64 only
|
|
# set_fact:
|
|
# stem_available: True
|
|
# when: ansible_machine == "x86_64" and php_version == 7.2
|
|
|
|
# - name: Set fact stem available php 7.3 - excludes i386
|
|
# set_fact:
|
|
# stem_available: True
|
|
# when: not ansible_machine == "i386" and php_version == 7.3
|
|
|
|
# - name: Set fact stem available php 7.4
|
|
# set_fact:
|
|
# stem_available: True
|
|
# when: php_version == 7.4 and (ansible_machine == "aarch64" or ansible_machine == "x86_64")
|
|
|
|
# - name: Unarchive http://download.iiab.io/packages/php{{ php_version }}-stem.rpi.tar to / (rpi)
|
|
# unarchive:
|
|
# src: http://download.iiab.io/packages/php{{ php_version }}-stem.rpi.tar
|
|
# dest: /
|
|
# owner: root
|
|
# group: root
|
|
# #mode: ????
|
|
# remote_src: yes
|
|
# when: (ansible_machine == "armv7l" or ansible_machine == "armv6l") and stem_available is defined
|
|
|
|
# - name: Unarchive http://download.iiab.io/packages/php{{ php_version }}-stem.aarch64.tar to / (rpi)
|
|
# unarchive:
|
|
# src: http://download.iiab.io/packages/php{{ php_version }}-stem.aarch64.tar
|
|
# dest: /
|
|
# owner: root
|
|
# group: root
|
|
# #mode: ????
|
|
# remote_src: yes
|
|
# when: ansible_machine == "aarch64" and stem_available is defined
|
|
|
|
# - name: Unarchive http://download.iiab.io/packages/php{{ php_version }}-stem.x64.tar to / (x64)
|
|
# unarchive:
|
|
# src: http://download.iiab.io/packages/php{{ php_version }}-stem.x64.tar
|
|
# dest: /
|
|
# owner: root
|
|
# group: root
|
|
# #mode: ????
|
|
# remote_src: yes
|
|
# when: ansible_machine == "x86_64" and stem_available is defined
|
|
|
|
# - name: Symlink /etc/php/{{ php_version }}/fpm/conf.d/20-stem.ini -> /etc/php/{{ php_version }}/mods-available/stem.ini
|
|
# file:
|
|
# src: "/etc/php/{{ php_version }}/mods-available/stem.ini"
|
|
# path: "/etc/php/{{ php_version }}/fpm/conf.d/20-stem.ini"
|
|
# state: link
|
|
# when: stem_available is defined
|
|
|
|
|
|
# Not sure what to do for apache, so do nothing for now
|
|
|
|
# The following are probably no longer true 2020-01-25
|
|
# Presumably fails on Debian 8 & 10?
|
|
# Fails on Debian i686 as of 2018-08-07: https://github.com/iiab/iiab/issues/983
|
|
# Fails on Ubuntu 18.04 as of 2018-07-28: https://github.com/iiab/iiab/issues/829
|