arkroyal
- debian stretch (9.0) x64
- puppet managed
- Vultr VPS Cloud Compute: 1x CPU, 1gb RAM, 25gb disk, $5/mon
local work
- need to do skel stuff
- Need to do bashrc stuff
- screenrc, toprc, vimrc
- setup SSH keys
IPv6
Autoconfigured
Puppet
Using local repo of serverless puppet stuff
Lets Encrypt for certs
After everything being broken all the time, I finally cleaned up and move the cert renewal stuff to something newer. After they stopped supporting the old ACME v1 client I'd been using since the beginning. -_-
Certbot kinda seems like a pain in the arse so I'm using Dehydrated: https://github.com/dehydrated-io/dehydrated
Way simpler, easier to configure and use, more intuitive. Win-win.
Config goes in /etc/dehydrated/domains.txt, gets run regularly from root's crontab. Weekly run of dehydrated -c and that's it.
nginx config
nginx catches ACME requests in the default vhost, and protected domains read their cert and key from /var/lib/dehydrated/certs/DOMAIN/
Decommissioning a site on arkroyal
Admin bits
- Nuke the vhost
- Note down the SSL cert paths
- Note down access/error log paths
- Delete the vhost file
- Restart nginx
- Delete the SSL files
- Remove it from the autorenew script (which is probably broken anyway)
- root's crontab
- Remove from puppet in /etc/puppet/code/site.pp (it's not active now either)
- Nuke web logs as well
- Remove DNS entries for the site, if needed
User content bits
- Clean out the public_html/SITENAME
Moin customisation
I've tweaked the memodump theme to take advantage of really big screens (ie. my normal-sized one).
Upgrade to moin 1.9.11
Download and unpack new version to moin user account. I'm going to "install" moin locally (in the homedir), and keep the instance data separate from the code that it's executing.
cd moin-1.9.11/ python setup.py install --user --force --record=2021-06-28_moin_install.log --install-data=~/moin_instance Writing /home/moin/.local/lib/python2.7/site-packages/moin-1.9.11.egg-info writing list of installed files to '2021-06-28_moin_install.log'
Update ~/.profile to include the moin binary
# set PATH so it includes user's private local bin if it exists if [ -d "$HOME/.local/bin" ] ; then PATH="$HOME/.local/bin:$PATH" fi
Move the instance contents to dir where I wanted it, the intermediate dirs are completely empty and make no sense for a user-local install.
moin@arkroyal:~/moin_instance$ mv share/moin/* ./
In instance/server/, copy moin.wsgi to app.py and fix up the config path. Can leave the app path because it's "installed" now.
# Set 1b) to instance/config/ sys.path.insert(0, '/home/moin/moin_instance/config')
Move the old instance data to the new empty instance dir:
moin@arkroyal:~/moin_instance/data$ rm -rf cache dict edit-log event-log meta pages user plugin moin@arkroyal:~/apps/moin-1.9.3/wiki/data$ cp -a cache dict edit-log event-log* meta pages plugin user ~/moin_instance/data/
Run the upgrade now:
moin@arkroyal:~/moin_instance$ moin --config-dir /home/moin/moin_instance --wiki-url=https://moin.meidokon.net/ migration data
Following the rest of the guide: stop moin, delete cache with moin ... maint cleancache, start moin again
moin@arkroyal:~/moin_instance$ moin --config-dir=/home/moin/moin_instance maint cleancache