diff options
Diffstat (limited to '_deploy/debian/wookey-exposerver-recipe.txt')
-rw-r--r-- | _deploy/debian/wookey-exposerver-recipe.txt | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/_deploy/debian/wookey-exposerver-recipe.txt b/_deploy/debian/wookey-exposerver-recipe.txt new file mode 100644 index 0000000..ab2fa60 --- /dev/null +++ b/_deploy/debian/wookey-exposerver-recipe.txt @@ -0,0 +1,95 @@ +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: +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 + +apt install ufraw for PEF image decoding. +sudo apt install python-django python-django-registration e fonts-freefont-ttf libapache2-mod-wsgi python3-gdbm +# sudo apt install python-django-imagekit python-django-tinymc + +obsolete-packages: bins (move to jigl?) + older python-django? +backports: survex therion +not-packaged: caveview + + +make these dirs available at top documentroot: +cuccfiles +expofiles +loser +tunneldata +troggle +expoweb +boc/boe + +config +containing: + +setup apache configs for cucc and expo +#disable default website +a2dissite 000-default +a2ensite cucc +a2ensite expo +a2enmod cgid + + +Boe config: +Alias /boe /home/expo/boe/boc/boc.pl +<Directory /home/expo/boe/boc> + AddHandler cgi-script .pl + SetHandler cgi-script + Options +ExecCGI + Require all granted +</Directory> +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 python-django python-django-registration python-django-imagekit python-django-tinymce fonts-freefont-ttf libapache2-mod-wsgi + +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 + +need fonts-freefont-ttf (to have truetype freesans available for troggle via PIL) +need libapache2-mod-wsgi for apache wsgi support. + +On stretch the django 1.10 is no use so get rid of that: +apt remove python3-django python-django python-django-common python-django-doc + +Then replace with django 1.7 (Needs to be built for stretch) +apt install python-django python-django-common python-django-doc +apt install python-django-registration python-django-imagekit python-django-tinymce + +then hold them to stop them being upgraded by unattended upgrades: +echo "python-django hold" | sudo dpkg --set-selections +echo "python-django-common hold" | sudo dpkg --set-selections +echo "python-django-doc hold" | sudo dpkg --set-selections + +Optimizing server +I've tweaked the apache and mysql settings to make them a bit more suitable for a small machine. Seems to have shaved 200MB or so off the idling footprint. +https://www.narga.net/optimizing-apachephpmysql-low-memory-server/ + +(just discovered 'ab' for running apache performance tests - handy). + +Do the edit to site-packages/django/db/backends/base.py +to comment out the requirement for mysqlclient >1.3.13 +as we run perfectly happily with Django 2.2.19 & mysqlite 1.3.10 +: + +version = Database.version_info +#test nobbled by Wookey 2021-04-08 as 1.3.13 is not available on stable +#if version < (1, 3, 13): +# raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__) + |