diff --git a/_deploy/debian-server/serversetup b/_deploy/debian-server/serversetup
index 1c54546..7707a90 100644
--- a/_deploy/debian-server/serversetup
+++ b/_deploy/debian-server/serversetup
@@ -1,15 +1,105 @@
Instructions for setting up new expo debian server/VM
-For Debian Stretch, June 2019.
-
-[Note added March 2021:
-See also http://expo.survex.com/handbook/troggle/serverconfig.html
-and troggle/README.txt
]
+=======
+See also http://expo.survex.com/handbook/troggle/serverconfig.html
+and troggle/README.txt
+
+For Debian Bullseye (Debian 11) June 2022
adduser expo
apt install openssh-server mosh tmux mc zile emacs-nox mc most ncdu
-apt install python-django apache2 mysql-server survex make rsync
-apt install libjs-openlayers make
+apt install python-django apache2 certbot mysql-server survex make rsync
+apt install libjs-openlayers
+apt install git mercurial
+(certbot does https certs)
+
+for boe:
+apt install libcgi-session-perl libcrypt-passwdmd5-perl libfile-slurp-perl libgit-wrapper-perl libhtml-template-perl libhtml-template-pro-perl libmime-lite-perl libtext-password-pronounceable-perl libtime-parsedate-perl libuuid-tiny-perl libcrypt-cracklib-perl
+
+setup apache configs for cucc and expo
+#disable default website
+a2dissite 000-default
+a2ensite cucc-ssl
+a2ensite expo-ssl
+#a2enmod cgid
+
+Boe config:
+Alias /boe /home/expo/boe/boc/boc.pl
+
+ AddHandler cgi-script .pl
+ SetHandler cgi-script
+ Options +ExecCGI
+ Require all granted
+
+And remember to set both program and data dir to be
+www-data:www-data
+(optionally make file group read/write by treasurer account)
+create empty repo by clicking create in boe interface
+then set names in 'settings'
+
+Set up mysql (as root)
+mysql -p
+CREATE DATABASE troggle;
+GRANT ALL PRIVILEGES ON troggle.* TO 'expo'@'localhost' IDENTIFIED BY 'somepassword';
+
+install django:
+sudo apt install python3-django python3-django-registration python3-django-imagekit python3-django-tinymce fonts-freefont-ttf libapache2-mod-wsgi-py3
+
+python-django-imagekit comes from https://salsa.debian.org/python-team/modules/python-django-imagekit
+python-django-tinymce comes from https://salsa.debian.org/python-team/modules/python-django-tinymce
+(both modified for stretch/python2). packages under /home/wookey/packages/
+
+need fonts-freefont-ttf (to have truetype freesans available for troggle via PIL)
+need libapache2-mod-wsgi for apache wsgi support.
+
+To keep bots from overloading server use mpm_event intead of mpm_worker
+sudo a2dismod mpm_prefork
+sudo a2enmod mpm_event
+
+Also adjust the numbers in the config file (~/config/apache/mods-available/mpm_event.conf)
+ for our tiddly server:
+ StartServers 1
+ MinSpareThreads 2
+ MaxSpareThreads 15
+ ThreadLimit 25
+ ThreadsPerChild 5
+ MaxRequestWorkers 25
+ MaxConnectionsPerChild 500
+
+Kanboard:
+debian python3-kanboard is a bit too simple, so use http://kanboard.org/ instead
+unpack release files into /home/expo/kanboard
+add this stanza to ~/config/apache/expo.conf
+Alias /kanboard /home/expo/kanboard
+
+ AllowOverride All
+ Require all granted
+
+
+Dependencies are php and php-bcmath
+php with mpm_worker and cgi is simple, but we are not using
+mpm_worker any more so this is not possible anyway.
+
+php with mpm_event needs fpm mechanism and apache proxy_fcgi enabled
+This mechanism is a lot more efficient on the server.
+Good docs here: https://www.digitalocean.com/community/tutorials/how-to-configure-apache-http-with-mpm-event-and-php-fpm-on-ubuntu-18-04
+
+apt install php-fpm libapache2-mod-fcgid
+sudo a2dismod php7.4 (this normal config works via mpm_worker)
+sudo a2enconf php7.4-fpm (this one works with mpm_event via proxy magic)
+sudo a2enmod proxy
+sudo a2enmod proxy_fcgi
+
+apt install php-bcmath (for kanboard)
+
+
+------------------------------
+For Debian Stretch, June 2019.
+-----------------------------
+adduser expo
+apt install openssh-server mosh tmux mc zile emacs-nox mc most ncdu
+apt install python-django apache2 mysql-server survex make rsync
+apt install libjs-openlayers make
apt install git mercurial mercurial-server?
for boe:
@@ -45,10 +135,10 @@ a2enmod cgid
Boe config:
Alias /boe /home/expo/boe/boc/boc.pl
- AddHandler cgi-script .pl
- SetHandler cgi-script
- Options +ExecCGI
- Require all granted
+ AddHandler cgi-script .pl
+ SetHandler cgi-script
+ Options +ExecCGI
+ Require all granted
And remember to set both program and data dir to be
www-data:www-data
@@ -59,7 +149,7 @@ then set names in 'settings'
Set up mysql (as root)
mysql -p
CREATE DATABASE troggle;
-GRANT ALL PRIVILEGES ON troggle.* TO 'expo'@'localhost' IDENTIFIED BY 'somepassword';
+GRANT ALL PRIVILEGES ON troggle.* TO 'expo'@'localhost' IDENTIFIED BY 'somepassword';
install django:
NO!