HostEurope

What is good and what is bad

GoodNot so good
Support (really outstanding, very friendly, very helpful!)No major OS upgrades possible for virtual servers
Stability (never had any issues in years)Their documentation often leaves me with questions (but at least they have documentation)
Website + Mail works out of the box with SSLYou need to check if basic things like IPV6 or Docker (still) work in new virtual servers before you sign up for 12 months
Prices (even though they have been raised in 2023)IPV6 support is very basic, only one (!) IP, no /56 not even a /64

Migrate to new virtual server

When you have an HostEurope virtual server e.g. with Ubuntu you can not or should not upgrade it to a newer major version of Ubuntu. You have to ask HostEurope to provide you a new server and manually migrate your data and services. As this is not super easy I took some notes here what I usually have to do (as of 2023/08)

Contact Support to request new server

  • Contact HostEurope via and tell them that your server runs out of OS support. Tell them which virtual server you want to have in the future (good time to check if you maybe need a more powerful one or maybe smaller one). https://www.hosteurope.de/Server/Virtual-Server/ Plex is expensive but makes everything there work out of the box
  • You will get a new server for free for 7 days
    • Watch out, this automatically created a request to delete my old server after 7 days. So better only request this when you have some free time for this. It seems to be possible to extend that 7 days but I never tried that.
  • When you get the new server you need to answer some basic questions in a form
    • Server in Europe seems to result in Straßburg / France (which is fine for me)
    • Server Name seems to be used only in Kis if you have multiple servers, did not see that go anywhere in the actual Linux system
    • Admin user seems to create next to root a second user Linux with the same password as root. Maybe you can also use root as admin user to not have 2 at the end?
    • Eventually you should have the IPV4 IP of the new virtual server and a password, so ssh into it should be possible. From now on you have 2 Linux virtual servers and that can be confusing, I am using here old and new for them. Also I use example.com as your domain that points to your server.

Preparations

  • Both the old and the new server come with a DNS server which you can configure with Plesk (or directly). First thing I would recommend is to create A and AAAA entries pointing to old.example.com and new.example.com in both DNS servers so you always use those to log into the correct server.
  • Also lower the TTL for everything in both DNS servers to max 300 (5 minutes) so you can quickly move service. The default (1 day) will slow migration down massively.
  • Next is the enable login via ssh public keys (if you normally allow this) from both servers to each other and from your computer to both servers

Website migration

  • Go in the new Plesk (Kis -> Produktverwaltung -> Virtual Server -> Login) and create your website. Plesk will be very unhappy that your DNS still points to the old server but we need to ignore this for a moment
  • Change on your computer /etc/hosts to have your website (e.g. www.example.com) point to the new server IP
  • Open a browser, go to your website and check that you new see the almost empty site Plesk created for you
  • Copy your website content from old to new server with ssh + rsync. Ensure the chown matches how the files on the new server look like in the destination folder
rsync -rlpoge ssh --chown=example.com_x123456:psaserv  /var/www/vhosts/example.com/httpdocs/ root@neu.example.come:/var/www/vhosts/example.com/httpdocs
  • Good idea to change something minor in the destination so you can see if it is the old or the new server responding
  • Change on your computer /etc/hosts to no longer overwrite your website. When you reload the old site should come up again
  • Now switch the dns of www to point to the new server (already in both DNS servers, old and new)
  • You can use a service like this to check if your new IP is already resolved https://dnschecker.org/
  • If you use databases you have to migrate them as well (I don't use them)

SSL

  • That is a bit tricky
  • In the plesk start getting a certificate for Lets Encrypt. Use wildcard so you can also cover something like mail.example.com.
  • It will tell you the TXT DNS entry that it tries to create in your DNS. As this is the DNS of the new server (that nobody uses yet) you have to manually put it into the old DNS server, wait before it has propagated and then continue with Lets Encrypt.
  • This is only a temporary solution as the only server will overwrite this DNS entry sooner or later again, but enough to get the certificate. Once the migration is finished this should be permanent.

Email migration

  • Very similar to website copy, BUT while you copy there might be new mails coming in and people might move mails (e.g. from unread to read). Better do this in the night when less mails come and people sleep
  • Create all email accounts in the new plesk with the old passwords (if you known them, otherwise new passwords for everybody?)
  • Copy the mails to the new server
rsync -rlpoge ssh /var/qmail/mailnames/example.com/foo root@neu.example.com:/tmp/example.com/mail
  • Use mc (apt install mc) to copy the files from the tmp folder to /var/qmail/mailnames/example.com/
  • If files exist, think which version is better. E.g. for .qmail files you might need to take the best of both and merge it manually
  • Once all mail accounts exist and work switch the DNS settings in the old plesk to point to the new mail setup (that includes the MX settings and also any anti spam TXT entries there. You can take them from the new plesk).
  • While the TTL has not passed, there might be still mails coming in
  • If you used procmail / spamassin or something similar in your .qmail, ensure that still works
  • Test sending and receiving mails to / from an external address, e.g. at gmail to ensure it works and passes anti spam.
  • Check if there are new files on the old server that came while you copied the mails

Spamassassin

/etc/spamassassin/local.cf

dns_server 127.0.0.1

Linux migrations

  • cron jobs you might need to copy
  • backups

DNS switch

  • Also rather tricky
  • At least for .de domains you need to have 2 DNS servers that are not the same and not even in the same subnet. Therefore HostEurope provides a DNS server that always follows your DNS server (with some delay)
  • So you need one DNS name that points to your server (e.g. ns1.example.com). If you use IPV6 it would be nice to also have it pointing to A and AAAA entry.
  • Check that this name works from everywhere (the last one is the HostEurope DNS server that follows my domain. If you do not have that yet, if will come in the next step)
host ns1.example.com
host ns1.example.com 8.8.8.8
host ns1.example.com 1.1.1.1
host ns1.example.com neu.example.com
host ns1.example.com old.example.com
host ns1.example.com ns2.hans.hosteurope.de
  • Trigger HostEurope to aks for example Denic to let everybody know you have new DNS servers
    • https://www.hosteurope.de/faq/server/plesk/domainkonnektierung-plesk
    • Go to KIS (ignore Nameserver / DNS options) and go for Domain Admin -> Domain auswählen, updaten, ausführen, Nameserver
    • You need to fill out the following, it says the Netaddress is not required but without it that did not work for me, maybe because of IPV6, so just list the IPs of your DNS server there
Primary DNS Hostname : ns1.example.com
Primary DNS Netaddress : 10.20.30.40 2001:DB8::
Secondary DNS Hostname : AUTO

Without the Netadress I always got this error

Failed to Modify Domain Nameservers: The domain DNS check has failed.
  • You can test your values for .de Domains here domain https://nast.denic.de/
  • You will get an email from HostEurope telling you which is their DNS server that follows you
  • In kis check if you can configure reverse DNS for your IPV4 and IPV6 address.

After migration

  • Raise TTL of all DNS entries again