summaryrefslogtreecommitdiff
path: root/content/posts/webserver-transition/index.md
diff options
context:
space:
mode:
authorChristoph Cullmann <cullmann@kde.org>2024-05-13 21:45:11 +0200
committerChristoph Cullmann <cullmann@kde.org>2024-05-13 21:45:11 +0200
commitcf38879fe89357f1aebd9aff9e86d3df01f46a4d (patch)
tree296ff5e6a0a5c329e2e67aeb1185d9f1f9803948 /content/posts/webserver-transition/index.md
parent7a8df42248c8a31fbd59dc602783a2cf00078119 (diff)
sort posts
Diffstat (limited to 'content/posts/webserver-transition/index.md')
-rw-r--r--content/posts/webserver-transition/index.md59
1 files changed, 59 insertions, 0 deletions
diff --git a/content/posts/webserver-transition/index.md b/content/posts/webserver-transition/index.md
new file mode 100644
index 0000000..63d0de3
--- /dev/null
+++ b/content/posts/webserver-transition/index.md
@@ -0,0 +1,59 @@
+---
+title: "Web-Server Transition"
+date: 2019-04-08T23:59:00+02:00
+draft: false
+categories: [www]
+tags: [centos, apache, mariadb]
+url: /posts/webserver-transition/
+author: "Christoph Cullmann"
+---
+
+Several years the [kate-editor.org](https://kate-editor.org) & [cullmann.io](https://cullmann.io) pages got hosted on a [Hetzner](https://www.hetzner.de/) root server.
+To reduce costs and switch away from old hardware they got now moved to an [OpenVZ](https://openvz.org/) based virtual server at [Host Europe](https://www.hosteurope.de).
+
+On both servers [CentOS](https://centos.org) 7.x is running, it did always provide a stable foundation for the services these sites use.
+
+As with any server move in the past, I always need to search how to best move the data/config from one server to the other.
+To document this for me and others, here the quick way to move the basic things needed for web services using just plain [Apache](https://httpd.apache.org/) & [MariaDB](https://mariadb.org/).
+
+The following steps assume you have installed the same packages on both machines and the new machine is allowed to ssh as root to the old one.
+If you have non-system users, you should create them with the same ids as on the old server.
+
+For the following shell commands, the old server address is $SERV and the MariaDB root password is $PASS on both machines.
+Best use the raw IP as address if you are in parallel updating your DNS entries to avoid confusion (and wrong syncs).
+
+**Attention: Wrong syncing of stuff can have disastrous consequences! Check all commands again before executing them, don't trust random people like me without verification!**
+
+* sync your data, assuming it is in /home and /srv/(ftp/www)
+
+{{< highlight bash >}}
+rsync --delete -av root@$SERV:/home/ /home
+rsync --delete -av root@$SERV:/srv/ftp /srv
+rsync --delete -av root@$SERV:/srv/www /srv
+{{< / highlight >}}
+
+* transfer your databases
+
+{{< highlight bash >}}
+ssh root@$SERV "mysqldump -u root -p$PASS --all-databases > /root/db.sql"
+scp root@$SERV:/root/db.sql /root/
+mysql -u root -p$PASS < /root/db.sql
+{{< / highlight >}}
+
+* sync configs (you might need more, this is just apache & vsftp)
+
+{{< highlight bash >}}
+rsync --delete -av root@$SERV:/etc/httpd /etc
+rsync --delete -av root@$SERV:/etc/letsencrypt /etc
+rsync --delete -av root@$SERV:/etc/vsftpd /etc
+{{< / highlight >}}
+
+* get crontabs over for later re-use, store them in the root home
+
+{{< highlight bash >}}
+rsync --delete -av root@$SERV:/var/spool/cron /root
+{{< / highlight >}}
+
+Now all things should be there and after some service restarts e.g. [WordPress](https://wordpress.org/) powered pages should be up-and-running again.
+
+I hope this short how-to helps others and allows me to avoid searching stuff in the future once again from scratch.