New Fasthosts VPS ================= New virtual private server for email and seme4.com website Fasthosts.co.uk "VPS2" (2 cores, 4GB RAM, 120GB NVMe SSD). Debian 12 ``87.106.35.187`` "Cloud Panel" at https://cloud.admin.fasthosts.co.uk/ (username ian.millard@seme4.com) Initial setup ------------- Login as root with password from control panel. Hostname ~~~~~~~~ .. code:: console [root@seme4]# hostname seme4.com edit ``/etc/hostname`` to contain ``seme4.com`` IPv6 ~~~~ Allocated new address via web control panel .. code:: console [root@seme4]# ip address add 2a00:da00:f423:dd00::1 dev ens6 Create users ~~~~~~~~~~~~ .. code:: console [root@seme4]# useradd -m -g users -G staff,sudo -s /bin/bash icm [root@seme4]# useradd -m -g users -G staff,sudo -s /bin/bash hg [root@seme4]# passwd icm [root@seme4]# passwd hg Install sympl ~~~~~~~~~~~~~ https://sympl.io is an open source fork/extension of the old Bytemark symbiosis hosting utilities. .. code:: console [root@seme4]# wget -O install-sympl.sh https://gitlab.com/sympl.io/install/-/raw/master/install.sh [root@seme4]# bash install-sympl.sh General administration ---------------------- Note that operations should be undertaken as the ``sympl`` user (run ``sudo su -l sympl``) **Do not use** ``root``. Websites, mail, config etc are defined and stored under ``/srv/seme4.com/`` and should be configured and manipulated primarily using the ``sympl`` command line tool. See https://wiki.sympl.io/view/Sympl for more info (also possibly https://forum.sympl.io/) Create website ~~~~~~~~~~~~~~ .. code:: console [sympl@seme4]$ sympl web create subdomain.seme4.com [sympl@seme4]$ touch /srv/subdomain.seme4.com/config/ssl-only [sympl@seme4]$ sudo sympl-web-configure Create database ~~~~~~~~~~~~~~~ .. code:: console [sympl@seme4]$ sympl mysql create dbName Note it actually uses MariaDB Data transfer from old server ----------------------------- Old: ``213.138.114.57`` New: ``87.106.35.187`` On the old host, set a new temporary root password: nXzQK7MwuqHB3PTsCEtYrV Also edit ``/etc/ssh/sshd_config`` and set ``PermitRootLogin`` to ``Yes``. Restart with ``sudo systemctl restart sshd`` On the new host stick the following into ``/home/sympl/.ssh/config`` .. code:: Host 213.138.114.57 User root HostKeyAlgorithms=+ssh-rsa,ssh-dss PubkeyAcceptedKeyTypes=+ssh-rsa,ssh-dss And execute the following commands .. code:: console [sympl@seme4]$ sudo chown sympl:root /home/sympl/.ssh [sympl@seme4]$ sudo chmod g+rw /home/sympl/.ssh [sympl@seme4]$ ssl-keygen [sympl@seme4]$ ssh-copy-id root@213.138.114.57 We can then ``rsync`` effectively from old to new using ssh keys (without password) A couple of scripts have been written to perform migration Website ~~~~~~~ ``/home/sympl/server-migration/migrate-website.sh`` transfered the seme4.com wordpress website .. code::console [sympl@seme4]$ a2dissite zz-mass-hosting [sympl@seme4]$ a2dissite zz-mass-hosting.ssl [sympl@seme4]$ sudo systemctl reload apache2 Email ~~~~~ ``/home/sympl/server-migration/migrate-email.sh`` brings across (all) email Subversion ~~~~~~~~~~ Subversion needs to be run under apache, so sticking it on this server. Fix DNS to point to this server .. code:: console [sympl@seme4]$ sudo apt install subversion libapache2-mod-svn [sympl@seme4]$ sympl create web svn.seme4.com [sympl@seme4]$ sudo sympl-ssl --force svn.seme4.com [sympl@seme4]$ touch /srv/svn.seme4.com/config/ssl-only [sympl@seme4]$ sympl create web svn.ianmillard.com [sympl@seme4]$ sudo sympl-ssl --force svn.ianmillard.com [sympl@seme4]$ touch /srv/svn.ianmillard.com/config/ssl-only [sympl@seme4]$ sudo sympl-web-configure ``/home/sympl/server-migration/migrate-svn.sh`` brings across SVN data After much frustration as to why javascript wasn't being served... .. code:: console [sympl@seme4]$ sudo a2disconf javascript-common [sympl@seme4]$ sudo systemctl reload apache2