Нейронка подсказала мне такой конфиг, последние 4 строчки (остальное - от Hestia)
<VirtualHost *:8080>
ServerAdmin info@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /home/adminek/web/example.com/public_html
ScriptAlias /cgi-bin/ /home/adminek/web/example.com/cgi-bin/
Alias /vstats/ /home/adminek/web/example.com/stats/
Alias /error/ /home/adminek/web/example.com/document_errors/
#SuexecUserGroup adminek adminek
CustomLog /var/log/apache2/domains/example.com.bytes bytes
CustomLog /var/log/apache2/domains/example.com.log combined
ErrorLog /var/log/apache2/domains/example.com.error.log
IncludeOptional /home/adminek/conf/web/example.com/apache2.forcessl.conf*
<Directory /home/adminek/web/example.com/stats>
AllowOverride All
</Directory>
<Directory /home/adminek/web/example.com/public_html>
AllowOverride All
Options +Includes -Indexes +ExecCGI
</Directory>
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.2-fpm-example.com.sock|fcgi://localhost"
</FilesMatch>
SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0
IncludeOptional /home/adminek/conf/web/example.com/apache2.conf_*
IncludeOptional /etc/apache2/conf.d/*.inc
ServerAlias *.example.com
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.+)\.example\.com$ [NC]
RewriteRule ^(.*)$ /home/adminek/web/example.com/public_html/$1 [L]
</VirtualHost>
Вроде бы все логично, но адрес qq.example.com/robots,txt возвращает 404. Я при этом домен qq.example.com настроил через hosts, так что он гарантировано обращается к серверу. Запись A со звездочкой тоже есть.
Ubuntu 22.04
Вариант с
ServerAlias *.example.com
VirtualDocumentRoot /home/adminek/web/example.com/public_html
дает ту же 404 ошибку.