Merge Institute. Update README.html.
authorMatt Birkholz <matt@birchwood-abbey.net>
Sat, 9 Mar 2024 16:53:40 +0000 (10:53 -0600)
committerMatt Birkholz <matt@birchwood-abbey.net>
Sat, 9 Mar 2024 16:54:28 +0000 (10:54 -0600)
Institute
README.html

index 9d2a13981ada62cdaea97e9dbb82c811dbba2b14..07607b9a071a812daf99d3972a51ef8069ca91a4 160000 (submodule)
--- a/Institute
+++ b/Institute
@@ -1 +1 @@
-Subproject commit 9d2a13981ada62cdaea97e9dbb82c811dbba2b14
+Subproject commit 07607b9a071a812daf99d3972a51ef8069ca91a4
index 25fe02bdcfe2e6ccd2d575ec280d43e7ea6d333c..79adba6b7aac19cad475370381f8e52c3069edbe 100644 (file)
@@ -3,7 +3,7 @@
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 <head>
-<!-- 2024-02-27 Tue 11:57 -->
+<!-- 2024-03-09 Sat 10:14 -->
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
 <meta name="viewport" content="width=device-width, initial-scale=1" />
 <title>Birchwood Abbey Networks</title>
@@ -64,7 +64,7 @@ map is very similar, with differences mainly in terminology,
 philosophy, attitude.
 </p>
 
-<pre class="example" id="orgaddf620">
+<pre class="example" id="org19dba2a">
                 |                                                   
                 =                                                   
               _|||_                                                 
@@ -136,8 +136,8 @@ with Apache2, spooling email with Postfix and serving it with
 Dovecot-IMAPd, and hosting a VPN with OpenVPN.
 </p>
 </div>
-<div id="outline-container-org94f285e" class="outline-3">
-<h3 id="org94f285e"><span class="section-number-3">3.1.</span> Install Emacs</h3>
+<div id="outline-container-org044dad2" class="outline-3">
+<h3 id="org044dad2"><span class="section-number-3">3.1.</span> Install Emacs</h3>
 <div class="outline-text-3" id="text-3-1">
 <p>
 The monks of the abbey are masters of the staff (bo) and Emacs.
@@ -266,34 +266,7 @@ like <code>git-tasks</code> and <code>git-handlers</code>.
 
 <div class="org-src-container">
 <q>roles_t/abbey-front/tasks/main.yml</q><pre class="src src-conf">
-- name: Install git daemon.
-  become: yes
-  <span class="org-variable-name">apt: pkg</span>=git-daemon-sysvinit
-
-- name: Configure git daemon.
-  become: yes
-  lineinfile:
-    path: /etc/default/git-daemon
-    regexp: <span class="org-string">"{{ item.patt }}"</span>
-    line: <span class="org-string">"{{ item.line }}"</span>
-  loop:
-  - patt: <span class="org-string">'^GIT_DAEMON_ENABLE *='</span>
-    line: <span class="org-string">'GIT_DAEMON_ENABLE=true'</span>
-  - patt: <span class="org-string">'^GIT_DAEMON_OPTIONS *='</span>
-    line: <span class="org-string">'GIT_DAEMON_OPTIONS="--user-path=Public/Git"'</span>
-  - patt: <span class="org-string">'^GIT_DAEMON_BASE_PATH *='</span>
-    line: <span class="org-string">'GIT_DAEMON_BASE_PATH="/var/www/git"'</span>
-  - patt: <span class="org-string">'^GIT_DAEMON_DIRECTORY *='</span>
-    line: <span class="org-string">'GIT_DAEMON_DIRECTORY=" "'</span>
-  notify: Restart git daemon.
-
-- name: Create /var/www/git/.
-  become: yes
-  file:
-    path: /var/www/git
-    state: directory
-    group: staff
-    <span class="org-variable-name">mode: u</span>=rwx,g=srwx,o=rx
+&lt;&lt;git-tasks&gt;&gt;
 </pre>
 </div>
 
@@ -331,10 +304,7 @@ like <code>git-tasks</code> and <code>git-handlers</code>.
 
 <div class="org-src-container">
 <q>roles_t/abbey-front/handlers/main.yml</q><pre class="src src-conf">
-
-- name: Restart git daemon.
-  become: yes
-  command: systemctl restart git-daemon
+&lt;&lt;git-handlers&gt;&gt;
 </pre>
 </div>
 
@@ -567,84 +537,21 @@ rest of the Let's Encrypt configuration is discussed in the following
     docroot: /home/www
   copy:
     content: |
-        &lt;Directory {{ docroot }}/Abbey/&gt;
-            AllowOverride Indexes FileInfo
-            Options +Indexes +FollowSymLinks
-        &lt;/Directory&gt;
-
-        RedirectMatch /Photos$ /Photos/
-        RedirectMatch /Photos/(20[0-9][0-9])_([0-9][0-9])_([0-9][0-9])$ \
-                      /Photos/$1_$2_$3/
-        AliasMatch /Photos/(20[0-9][0-9])_([0-9][0-9])_([0-9][0-9])/(.+)$ \
-                   {{ docroot }}/Photos/$1/$2/$3/$4
-        AliasMatch /Photos/(20[0-9][0-9])_([0-9][0-9])_([0-9][0-9])/$ \
-                   {{ docroot }}/Photos/$1/$2/$3/index.html
-        AliasMatch /Photos/$ {{ docroot }}/Photos/index.html
-
-        Alias /gitweb-static/ /usr/share/gitweb/static/
-        &lt;Directory <span class="org-string">"/usr/share/gitweb/static/"</span>&gt;
-            Options MultiViews
-        &lt;/Directory&gt;
-        RewriteEngine on
-        RewriteRule ^/gitweb(\.cgi)?(/.*)?$ \
-                    /cgi-bin/gitweb.cgi$2 [QSA,L,PT]
-        RewriteRule ^/\~([^\/]+)/gitweb(\.cgi)?(/.*)?$ \
-                    /cgi-bin/gitweb.cgi$3 \
-                    [<span class="org-type">QSA,E=GITWEB_PROJECTROOT:/home/$1/Public/Git/,L,PT</span>]
+        &lt;&lt;apache-abbey&gt;&gt;
+        &lt;&lt;apache-photos&gt;&gt;
+        &lt;&lt;apache-gitweb&gt;&gt;
+
         IncludeOptional /etc/letsencrypt/options-ssl-apache.conf
     dest: /etc/apache2/sites-available/{{ domain_name }}-vhost.conf
   notify: Restart Apache2.
 
-- name: Enable Apache2 rewrite module for Gitweb.
-  become: yes
-  <span class="org-variable-name">apache2_module: name</span>=rewrite
-  notify: Restart Apache2.
-
-- name: Enable Apache2 cgid module for Gitweb (Ubuntu).
-  become: yes
-  <span class="org-variable-name">apache2_module: name</span>=cgid
-  <span class="org-variable-name">when: ansible_distribution</span> == <span class="org-string">'Ubuntu'</span>
-  notify: Restart Apache2.
-
-- name: Enable Apache2 cgi module for Gitweb (Debian).
-  become: yes
-  <span class="org-variable-name">apache2_module: name</span>=cgi
-  <span class="org-variable-name">when: ansible_distribution</span> == <span class="org-string">'Debian'</span>
-  notify: Restart Apache2.
-
-- name: Install libcgi-pm-perl for Gitweb.
-  become: yes
-  <span class="org-variable-name">apt: pkg</span>=libcgi-pm-perl
-
-- name: Link Gitweb into /cgi-bin/.
-  become: yes
-  file:
-    state: link
-    path: /usr/lib/cgi-bin/{{ item }}
-    src: /usr/share/gitweb/{{ item }}
-  loop: [ gitweb.cgi, index.cgi ]
-
-- name: Override Gitweb assets location.
-  become: yes
-  copy:
-    content: |
-      <span class="org-variable-name">$projectroot</span> = $ENV{<span class="org-string">'GITWEB_PROJECTROOT'</span>} || <span class="org-string">"/var/www/git"</span>;
-      <span class="org-variable-name">@stylesheets</span> = (<span class="org-string">"/gitweb-static/gitweb.css"</span>);
-      <span class="org-variable-name">$logo</span> = <span class="org-string">"/gitweb-static/git-logo.png"</span>;
-      <span class="org-variable-name">$favicon</span> = <span class="org-string">"/favicon.ico"</span>;
-      <span class="org-variable-name">$javascript</span> = <span class="org-string">"/gitweb-static/gitweb.js"</span>;
-    dest: /etc/gitweb.conf
-    <span class="org-variable-name">mode: u</span>=rw,g=r,o=r
+&lt;&lt;apache-gitweb-tasks&gt;&gt;
 </pre>
 </div>
 
 <div class="org-src-container">
 <q>roles_t/abbey-front/handlers/main.yml</q><pre class="src src-conf">
-- name: Restart Apache2.
-  become: yes
-  systemd:
-    service: apache2
-    state: restarted
+&lt;&lt;apache-gitweb-handlers&gt;&gt;
 </pre>
 </div>
 </div>
@@ -789,7 +696,7 @@ certificate is a terminal session affair (with prompts and lines
 entered as shown below).
 </p>
 
-<pre class="example" id="orgfeb0456">
+<pre class="example" id="org8acfe85">
 $ sudo apt install python3-certbot-apache
 $ sudo certbot --apache -d birchwood-abbey.net
 ...
@@ -1008,8 +915,8 @@ with Postfix and Dovecot, and providing essential localnet services:
 NTP, DNS and DHCP.
 </p>
 </div>
-<div id="outline-container-org71e3f52" class="outline-3">
-<h3 id="org71e3f52"><span class="section-number-3">4.1.</span> Include Abbey Variables</h3>
+<div id="outline-container-org167a44e" class="outline-3">
+<h3 id="org167a44e"><span class="section-number-3">4.1.</span> Include Abbey Variables</h3>
 <div class="outline-text-3" id="text-4-1">
 <p>
 In this abbey specific document, most abbey particulars are not
@@ -1101,43 +1008,13 @@ services on Front and Core.  See <a href="#org31d6bbb">3.3</a> and
 
 <div class="org-src-container">
 <q>roles_t/abbey-core/tasks/main.yml</q><pre class="src src-conf">
-- name: Install git daemon.
-  become: yes
-  <span class="org-variable-name">apt: pkg</span>=git-daemon-sysvinit
-
-- name: Configure git daemon.
-  become: yes
-  lineinfile:
-    path: /etc/default/git-daemon
-    regexp: <span class="org-string">"{{ item.patt }}"</span>
-    line: <span class="org-string">"{{ item.line }}"</span>
-  loop:
-  - patt: <span class="org-string">'^GIT_DAEMON_ENABLE *='</span>
-    line: <span class="org-string">'GIT_DAEMON_ENABLE=true'</span>
-  - patt: <span class="org-string">'^GIT_DAEMON_OPTIONS *='</span>
-    line: <span class="org-string">'GIT_DAEMON_OPTIONS="--user-path=Public/Git"'</span>
-  - patt: <span class="org-string">'^GIT_DAEMON_BASE_PATH *='</span>
-    line: <span class="org-string">'GIT_DAEMON_BASE_PATH="/var/www/git"'</span>
-  - patt: <span class="org-string">'^GIT_DAEMON_DIRECTORY *='</span>
-    line: <span class="org-string">'GIT_DAEMON_DIRECTORY=" "'</span>
-  notify: Restart git daemon.
-
-- name: Create /var/www/git/.
-  become: yes
-  file:
-    path: /var/www/git
-    state: directory
-    group: staff
-    <span class="org-variable-name">mode: u</span>=rwx,g=srwx,o=rx
+&lt;&lt;git-tasks&gt;&gt;
 </pre>
 </div>
 
 <div class="org-src-container">
 <q>roles_t/abbey-core/handlers/main.yml</q><pre class="src src-conf">
-
-- name: Restart git daemon.
-  become: yes
-  command: systemctl restart git-daemon
+&lt;&lt;git-handlers&gt;&gt;
 </pre>
 </div>
 </div>
@@ -1160,30 +1037,9 @@ site on Front.  Their configurations include the same <a href="#org158c789"><cod
     docroot: /WWW/live
   copy:
     content: |
-        &lt;Directory {{ docroot }}/Abbey/&gt;
-            AllowOverride Indexes FileInfo
-            Options +Indexes +FollowSymLinks
-        &lt;/Directory&gt;
-
-        RedirectMatch /Photos$ /Photos/
-        RedirectMatch /Photos/(20[0-9][0-9])_([0-9][0-9])_([0-9][0-9])$ \
-                      /Photos/$1_$2_$3/
-        AliasMatch /Photos/(20[0-9][0-9])_([0-9][0-9])_([0-9][0-9])/(.+)$ \
-                   {{ docroot }}/Photos/$1/$2/$3/$4
-        AliasMatch /Photos/(20[0-9][0-9])_([0-9][0-9])_([0-9][0-9])/$ \
-                   {{ docroot }}/Photos/$1/$2/$3/index.html
-        AliasMatch /Photos/$ {{ docroot }}/Photos/index.html
-
-        Alias /gitweb-static/ /usr/share/gitweb/static/
-        &lt;Directory <span class="org-string">"/usr/share/gitweb/static/"</span>&gt;
-            Options MultiViews
-        &lt;/Directory&gt;
-        RewriteEngine on
-        RewriteRule ^/gitweb(\.cgi)?(/.*)?$ \
-                    /cgi-bin/gitweb.cgi$2 [QSA,L,PT]
-        RewriteRule ^/\~([^\/]+)/gitweb(\.cgi)?(/.*)?$ \
-                    /cgi-bin/gitweb.cgi$3 \
-                    [<span class="org-type">QSA,E=GITWEB_PROJECTROOT:/home/$1/Public/Git/,L,PT</span>]
+        &lt;&lt;apache-abbey&gt;&gt;
+        &lt;&lt;apache-photos&gt;&gt;
+        &lt;&lt;apache-gitweb&gt;&gt;
     dest: /etc/apache2/sites-available/live-vhost.conf
     <span class="org-variable-name">mode: u</span>=rw,g=r,o=r
   notify: Restart Apache2.
@@ -1194,84 +1050,20 @@ site on Front.  Their configurations include the same <a href="#org158c789"><cod
     docroot: /WWW/test
   copy:
     content: |
-        &lt;Directory {{ docroot }}/Abbey/&gt;
-            AllowOverride Indexes FileInfo
-            Options +Indexes +FollowSymLinks
-        &lt;/Directory&gt;
-
-        RedirectMatch /Photos$ /Photos/
-        RedirectMatch /Photos/(20[0-9][0-9])_([0-9][0-9])_([0-9][0-9])$ \
-                      /Photos/$1_$2_$3/
-        AliasMatch /Photos/(20[0-9][0-9])_([0-9][0-9])_([0-9][0-9])/(.+)$ \
-                   {{ docroot }}/Photos/$1/$2/$3/$4
-        AliasMatch /Photos/(20[0-9][0-9])_([0-9][0-9])_([0-9][0-9])/$ \
-                   {{ docroot }}/Photos/$1/$2/$3/index.html
-        AliasMatch /Photos/$ {{ docroot }}/Photos/index.html
-
-        Alias /gitweb-static/ /usr/share/gitweb/static/
-        &lt;Directory <span class="org-string">"/usr/share/gitweb/static/"</span>&gt;
-            Options MultiViews
-        &lt;/Directory&gt;
-        RewriteEngine on
-        RewriteRule ^/gitweb(\.cgi)?(/.*)?$ \
-                    /cgi-bin/gitweb.cgi$2 [QSA,L,PT]
-        RewriteRule ^/\~([^\/]+)/gitweb(\.cgi)?(/.*)?$ \
-                    /cgi-bin/gitweb.cgi$3 \
-                    [<span class="org-type">QSA,E=GITWEB_PROJECTROOT:/home/$1/Public/Git/,L,PT</span>]
+        &lt;&lt;apache-abbey&gt;&gt;
+        &lt;&lt;apache-photos&gt;&gt;
+        &lt;&lt;apache-gitweb&gt;&gt;
     dest: /etc/apache2/sites-available/test-vhost.conf
     <span class="org-variable-name">mode: u</span>=rw,g=r,o=r
   notify: Restart Apache2.
 
-- name: Enable Apache2 rewrite module for Gitweb.
-  become: yes
-  <span class="org-variable-name">apache2_module: name</span>=rewrite
-  notify: Restart Apache2.
-
-- name: Enable Apache2 cgid module for Gitweb (Ubuntu).
-  become: yes
-  <span class="org-variable-name">apache2_module: name</span>=cgid
-  <span class="org-variable-name">when: ansible_distribution</span> == <span class="org-string">'Ubuntu'</span>
-  notify: Restart Apache2.
-
-- name: Enable Apache2 cgi module for Gitweb (Debian).
-  become: yes
-  <span class="org-variable-name">apache2_module: name</span>=cgi
-  <span class="org-variable-name">when: ansible_distribution</span> == <span class="org-string">'Debian'</span>
-  notify: Restart Apache2.
-
-- name: Install libcgi-pm-perl for Gitweb.
-  become: yes
-  <span class="org-variable-name">apt: pkg</span>=libcgi-pm-perl
-
-- name: Link Gitweb into /cgi-bin/.
-  become: yes
-  file:
-    state: link
-    path: /usr/lib/cgi-bin/{{ item }}
-    src: /usr/share/gitweb/{{ item }}
-  loop: [ gitweb.cgi, index.cgi ]
-
-- name: Override Gitweb assets location.
-  become: yes
-  copy:
-    content: |
-      <span class="org-variable-name">$projectroot</span> = $ENV{<span class="org-string">'GITWEB_PROJECTROOT'</span>} || <span class="org-string">"/var/www/git"</span>;
-      <span class="org-variable-name">@stylesheets</span> = (<span class="org-string">"/gitweb-static/gitweb.css"</span>);
-      <span class="org-variable-name">$logo</span> = <span class="org-string">"/gitweb-static/git-logo.png"</span>;
-      <span class="org-variable-name">$favicon</span> = <span class="org-string">"/favicon.ico"</span>;
-      <span class="org-variable-name">$javascript</span> = <span class="org-string">"/gitweb-static/gitweb.js"</span>;
-    dest: /etc/gitweb.conf
-    <span class="org-variable-name">mode: u</span>=rw,g=r,o=r
+&lt;&lt;apache-gitweb-tasks&gt;&gt;
 </pre>
 </div>
 
 <div class="org-src-container">
 <q>roles_t/abbey-core/handlers/main.yml</q><pre class="src src-conf">
-- name: Restart Apache2.
-  become: yes
-  systemd:
-    service: apache2
-    state: restarted
+&lt;&lt;apache-gitweb-handlers&gt;&gt;
 </pre>
 </div>
 </div>
@@ -1297,17 +1089,7 @@ directives that enable user Git publishing with Gitweb (defined <a href="#org119
       &lt;Directory /usr/share/doc/&gt;
           Options Indexes
       &lt;/Directory&gt;
-
-      Alias /gitweb-static/ /usr/share/gitweb/static/
-      &lt;Directory <span class="org-string">"/usr/share/gitweb/static/"</span>&gt;
-          Options MultiViews
-      &lt;/Directory&gt;
-      RewriteEngine on
-      RewriteRule ^/gitweb(\.cgi)?(/.*)?$ \
-                  /cgi-bin/gitweb.cgi$2 [QSA,L,PT]
-      RewriteRule ^/\~([^\/]+)/gitweb(\.cgi)?(/.*)?$ \
-                  /cgi-bin/gitweb.cgi$3 \
-                  [<span class="org-type">QSA,E=GITWEB_PROJECTROOT:/home/$1/Public/Git/,L,PT</span>]
+      &lt;&lt;apache-gitweb&gt;&gt;
     dest: /etc/apache2/sites-available/www-vhost.conf
     <span class="org-variable-name">mode: u</span>=rw,g=r,o=r
   notify: Restart Apache2.
@@ -1332,8 +1114,8 @@ The abbey uses the Apt-Cacher:TNG package cache on Core.  The
 </div>
 </div>
 </div>
-<div id="outline-container-org5b2da2f" class="outline-3">
-<h3 id="org5b2da2f"><span class="section-number-3">4.8.</span> Use Cloister Apt Cache</h3>
+<div id="outline-container-orga4f8ac2" class="outline-3">
+<h3 id="orga4f8ac2"><span class="section-number-3">4.8.</span> Use Cloister Apt Cache</h3>
 <div class="outline-text-3" id="text-4-8">
 <p>
 Core itself will benefit from using the package cache.
@@ -1987,8 +1769,8 @@ clients: Android, Debian and Campus.  The last type never roams, and
 is not associated with a member of the small institute.
 </p>
 </div>
-<div id="outline-container-orga4f8ac2" class="outline-3">
-<h3 id="orga4f8ac2"><span class="section-number-3">6.1.</span> Use Cloister Apt Cache</h3>
+<div id="outline-container-org4d680ac" class="outline-3">
+<h3 id="org4d680ac"><span class="section-number-3">6.1.</span> Use Cloister Apt Cache</h3>
 <div class="outline-text-3" id="text-6-1">
 <p>
 The Apt-Cacher:TNG program does not work well on the frontier, so is
@@ -2058,8 +1840,8 @@ Raspberry Pis (architecture <code>aarch64</code>) only.
 </div>
 </div>
 </div>
-<div id="outline-container-org044dad2" class="outline-3">
-<h3 id="org044dad2"><span class="section-number-3">6.3.</span> Install Emacs</h3>
+<div id="outline-container-org69d7b4c" class="outline-3">
+<h3 id="org69d7b4c"><span class="section-number-3">6.3.</span> Install Emacs</h3>
 <div class="outline-text-3" id="text-6-3">
 <p>
 The monks of the abbey are masters of the staff and Emacs.
@@ -2126,7 +1908,7 @@ Listing them (e.g. running <code>owdir /26.nnnnnnnn</code> or <code>owdir
 below.  A test session is shown below.
 </p>
 
-<pre class="example" id="org8e89bd8">
+<pre class="example" id="orge3426d6">
 monkey@new$ owdir
 ...
     /26.2153B6000000/
@@ -2562,8 +2344,8 @@ described in the final section, <a href="#org1115114">Configure Cameras</a>, bel
 </p>
 </div>
 </div>
-<div id="outline-container-org14ac2dc" class="outline-3">
-<h3 id="org14ac2dc"><span class="section-number-3">8.4.</span> Include Abbey Variables</h3>
+<div id="outline-container-orgb786582" class="outline-3">
+<h3 id="orgb786582"><span class="section-number-3">8.4.</span> Include Abbey Variables</h3>
 <div class="outline-text-3" id="text-8-4">
 <p>
 Private variables in <q>private/vars-abbey.yml</q> are needed, and included
@@ -2989,8 +2771,8 @@ machine simply by adding it to the <code>tvrs</code> group.
 </p>
 </div>
 </div>
-<div id="outline-container-org167a44e" class="outline-3">
-<h3 id="org167a44e"><span class="section-number-3">9.3.</span> Include Abbey Variables</h3>
+<div id="outline-container-org6615595" class="outline-3">
+<h3 id="org6615595"><span class="section-number-3">9.3.</span> Include Abbey Variables</h3>
 <div class="outline-text-3" id="text-9-3">
 <p>
 Private variables in <q>private/vars-abbey.yml</q> are needed, as in the
@@ -3535,7 +3317,7 @@ the list of "inputs" available in a postal code typically ends with
 the OTA (over the air) broadcasts.
 </p>
 
-<pre class="example" id="org445795b">
+<pre class="example" id="org47edab2">
 $ tv_grab_zz_sdjson --configure --config-file .mythtv/Mr.Antenna.xmltv
 Cache file for lineups, schedules and programs.
 Cache file: [/home/mythtv/.xmltv/tv_grab_zz_sdjson.cache]
@@ -3952,6 +3734,7 @@ except the roles are found in <q>Institute/roles/</q> as well as <q>roles/</q>.
       hosts:
         anoat:
         devaron:
+        kamino:
         kessel:
     weather:
       hosts:
@@ -3970,6 +3753,7 @@ except the roles are found in <q>Institute/roles/</q> as well as <q>roles/</q>.
       hosts:
         devaron:
         geonosis:
+        kamino:
 </pre>
 </div>
 </div>
@@ -5038,7 +4822,7 @@ to <q>private/db.campus_vpn</q>.)
 </div>
 <div id="postamble" class="status">
 <p class="author">Author: Matt Birkholz</p>
-<p class="date">Created: 2024-02-27 Tue 11:57</p>
+<p class="date">Created: 2024-03-09 Sat 10:14</p>
 <p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
 </div>
 </body>