mirror of
https://expo.survex.com/repositories/troggle/.git
synced 2024-12-12 11:32:18 +00:00
110 lines
4.1 KiB
Plaintext
110 lines
4.1 KiB
Plaintext
W says: Tue, Apr 23, 2024
|
|
Javascript gets installed in /usr/share/javascript. You can find that out by asking dpkg: dpkg -S openlayers (or reading debian wiki for javascript packaging)
|
|
If you use npm it just puts packages 'here' (i.e. in a node_packages dir in the current directory). I've been avoiding that so far.
|
|
openlayers wasn't in the old prospecting map - that was just JPEGs. It was in the slippy map I never really got working properly. It's also in martin's map-app.
|
|
But they were just examples of javascript packages.
|
|
|
|
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';
|
|
Ctrl-D to exit
|
|
|
|
somepassword is set in localsettings.py
|
|
sudo service mariadb stop
|
|
sudo service mariadb start
|
|
|
|
to delete the database, it is
|
|
DROP DATABASE troggle;
|
|
|
|
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__)
|
|
|