From 275ce87e30a805ecccc97efd3dd2b90a867b1bbb Mon Sep 17 00:00:00 2001 From: "Philip Sargent (oconee)" Date: Thu, 27 Oct 2022 12:30:59 +0100 Subject: [PATCH] OS config for a new dev machine --- README.txt | 17 ++++++++--------- os-trog.sh | 49 +++++++++++++++++++++++++++++++++++++------------ 2 files changed, 45 insertions(+), 21 deletions(-) diff --git a/README.txt b/README.txt index 98fb019..53e0a38 100644 --- a/README.txt +++ b/README.txt @@ -1,4 +1,4 @@ -Updated 19 February 2022 +Updated 27 October 2022 Troggle is an application for caving expedition data management, originally created for use on Cambridge University Caving Club (CUCC)expeditions @@ -59,10 +59,14 @@ Conventionally on our main master expo server we install everything that we can [venv description removed - read it in http://expo.survex.com/handbook/troggle/troglaptop.html ] +READ the os-trog.sh script ! +READ the venv-trog.sh script ! + + Automatic Provisioning and Configuration ---------------------------------------- We don't do this - yet. -We don't even have a bash script. + The most appropriate configuration tools today (2021) appear to be Bolt or Ansible https://puppet.com/docs/bolt/latest/bolt.html (declarative, local) https://docs.ansible.com/ansible/latest/user_guide/intro_getting_started.html (procedural, remote) @@ -147,19 +151,14 @@ these permissions are set in a different 'info' database which usually is untouc PERMISSIONS https://linuxize.com/post/usermod-command-in-linux/ -THIS MAY BE OUT OF DATE - in 2022 we are running Apache as user 'expo' +THIS MAY BE OUT OF DATE - in 2022 we are running Apache as user 'expo' not 'www-data' -sudo usermod -a expo www-data -adds expo to the www-data group which is what the webserver uses, and thus so the user troggle is acting as when running live. - -So all the /loser/ .svx files need to have permissions like this (664) --rw-rw-r-- expo www-data so that the online editing system for SVX files works. The same goes for /expoweb/ files, so that "edit this page" works and the New Cave and New Entrance forms work. sudo usermod -a expo expocvs -the expocvs group is used for git & hg +the expocvs group is used for git all the users should be in this group diff --git a/os-trog.sh b/os-trog.sh index dfdbbe5..1afa0a0 100644 --- a/os-trog.sh +++ b/os-trog.sh @@ -1,31 +1,56 @@ #!/bin/bash # Run this in a terminal in the troggle directory: 'bash os-trog.sh' +# On WSL, do Shift-click in the file explorer on the troggle folder to open a Linux command line +# 'Open Linux shell here' echo 'Run this in a terminal in the troggle directory: "bash venv-trog.sh"' - +cat /etc/os-release # Expects an Ubuntu 22.04 relatively clean install. - +sudo apt install python-is-python3 -y python --version : ensure python is an alias for python3 not python2.7 -sudo apt update -sudo apt dist-upgrade -sudo apt install sqlite3 -sudo apt install python3-pip +sudo apt update -y +sudo apt dist-upgrade -y +sudo apt autoremove -y +sudo apt install sqlite3 -y +sudo apt install python3-pip -y # this installs a shed-load of other stuff: binutils etc.sudo apt install survex-aven -sudo apt install openssh-client tunnelx therion -sudo apt install git sftp +sudo apt install git openssh-client tunnelx therion -y # On a clean debian 11 (bullseye) installation with Xfce & ssh, + + #on ubuntu 20.04: + #Package sftp is not available, but is referred to by another package. + #This may mean that the package is missing, has been obsoleted, or + #is only available from another source + #E: Package 'sftp' has no installation candidate + + +# On Ubuntu 20.04, with python10, the pip install fails. +# So you ned to get the pip from source +# sudo curl -sS https://bootstrap.pypa.io/get-pip.py | python3.10 +# but really you should be using 22.04 +# and also, isf using debian, +# sudo python3.10 -m pip install -U virtualenv + # as debian does not install everything that ubuntu does, you need: +sudo useradd expo sudo usermod -a -G sudo expo # to put expo in sudoers group, re-login required -# default since 22.04 # sudo apt install python3.10 -sudo apt install python3.10-venv -sudo apt install python3.10-dev +# default since 22.04 +# sudo apt install python3.10 +sudo apt install python3.10-venv -y +sudo apt install python3.10-dev -y sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 1 sudo apt install mariadb-server -y -sudo apt install libmariadb-dev +sudo apt install libmariadb-dev -y sudo python -m pip install --upgrade pip +sudo apt install sftp -y +echo '###' +echo '### NOW INSTALLING tunnel and therion, go and have a cup of tea. Or a 3-course meal.' +echo '###' +sudo apt install tunnelx therion -y + # Go to https://expo.survex.com/handbook/troggle/troglaptop.html#dbtools # sudo service mysql start