Is it not possible to in some way copy the entirety of the Apache 2 settings and sites on my Ubuntu machine and put them on my Linux Mint machine in one go?
Presuming they are not vastly different Apache versions, yes. Distros pre-configure apache with minor differences (eg, the web root location) but if you are copying in your configuration and put everything in the same place, just do it wholesale. As in overwrite the configuration, don't twiddle with editing it the same way. Be aware that the location of apache's conf files is compiled into the apache binary, and may differ from distro to distro. What's in the conf files, however, is portable, so you should be able to just replace the files with your own. Besides the location of the conf file, apache's behaviour is determined by what's in the conf file(s), so if you do replace it/them, then, eg., the web root will be determined by your "new" configuration. Another detail here, as you've caught onto, is the stuff in
Apache sometimes uses semi-independent parts (eg. php) that have their own configuration. If you know you are using something like that you have to do a bit of homework to find out the details.
This begs the question of how you keep the server backed up; if you do that coherently, it is just a matter of deploying the backup on another machine (ie., as if it had been totally fubarred). By "server backup" I do not mean your entire filesystem, or the apache binary, which is already effectively backed up because it is a distro package. I mean everything in the web root (eg.
/var/www) -- all the data files, scripts, etc. that the server uses -- and the configuration, which is probably somewhere in
/etc; as mentioned this location is variable but compiled into apache, meaning if you want to deploy on a different distro, you may have to put the conf file(s) in a different place.
How exactly you do that depends on the nature of your server. If you are serving various things that are in themselves stand-alone projects, those projects should be backed up independently; this should include some documentation about how they should be deployed and what they require, possibly including snippets of apache config if appropriate. This means the project can be easily installed into any apache. If the server is dedicated to one thing, you can just back-up the entire web root. In the former case (various independent projects), using some form of VCS is good (these are good things to learn to use; my personal preference is
git but there are plenty of others), in the latter (one megalithic web root) something like
rsync -- but those are just suggestions. The point is you should have a tool you are comfortable with for stuff like this (selectively backing up directory sub-trees in a filesystem). The simplest way on a small installation is probably just
tar (or zip).
If you are using a backend database with apache, you want to back that up along the same lines too -- the data and the configuration, but if the database is used by various different projects that are independently backed up, their data should be backed up with them.
So, if you maintain a backup of this sort, all you have to do to "duplicate your apache" is install apache, then deploy the backup -- you untar, rsync, git clone, whatever, the various parts, copy the configuration into the right place, and presto.
You may then have an issue with missing software -- distros may bundle the apache modules differently, you need sql, etc -- but that is pretty straightforward.