1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-02-12 19:22:24 +00:00
iiab/roles/nginx/README.md
2021-05-21 13:58:54 -04:00

3.8 KiB

Transition to NGINX

  1. Initial testing strategy (December 2019 - February 2020) is to move NGINX to port 80, and proxy everything to Apache on port 8090 — creating "Shims" for each IIAB App/Service in Section iii. below.

    Until "Native" NGINX is later implemented for that IIAB App/Service — allowing it to move up to Section ii. below.

    And potentially later moving it up to Section i. if its Apache support is dropped!

    (Background: IIAB Apps/Services are generally Ansible roles that live in /opt/iiab/iiab/roles)

  2. Without PHP available via FastCGI, any function at all for PHP-based applications validates NGINX.

  3. Current state of IIAB App/Service migrations as of 2021-05-21: (SEE ALSO #2762)

    1. These support "Native" NGINX but NOT Apache

      • Admin Console
      • captiveportal
      • IIAB documentation (http://box/info)
      • jupyterhub
      • osm-vector-maps
      • OER2Go/RACHEL modules
      • usb_lib
    2. These support "Native" NGINX AND Apache, a.k.a. "dual support" for legacy testing (if suitable "Shims" from Section iii. below are preserved!) Both "Native" NGINX and "Shim" proxying from NGINX to Apache port 8090 cannot be enabled simultaneously for these IIAB Apps/Service:

      • awstats
      • calibre-web
      • gitea
      • kiwix
      • kolibri
      • lokole
      • mediawiki
      • munin
      • nextcloud
      • sugarizer
      • wordpress
    3. These support Apache but NOT "Native" NGINX. They use a "Shim" to proxy_pass from NGINX to Apache on port 8090. See roles/3-base-server/tasks/main.yml#L11 for a list of ~6 IIAB Apps/Services that auto-enable Apache.

      • elgg
      • moodle [*, PLEASE HELP IF YOU CAN: #2785]
      • nodered
    4. These each run their own web server or non-web / backend services, e.g. off of their own unique port(s) (IIAB home pages link directly to these destinations). In future we'd like mnemonic URL's for all of these: (e.g. http://box/calibre, http://box/archive, http://box/kalite)

      • bluetooth
      • calibre (menu goes directly to port 8080)
      • cups (menu goes directly to port 631) [*, shim not yet in place, PR #2775]
      • internetarchive (menu goes directly to port 4244) [*, PR #2120]
      • kalite (menu goes directly to ports 8006-8008)
      • minetest
      • mosquitto
      • openvpn
      • pbx [*, requires Apache for now, as in Section iii.]
      • phpmyadmin [*, requires Apache for now, as in Section iii.]
      • samba
      • sshd
      • transmission
      • vnstat

[*] The 5 above starred roles could use improvement, as of 2021-05-21.