サブドメインをワイルドカードで割り付ける方法を記載します。まず初期の設定としてAレコードを下記のように設定します。ドメイン名はご自分のドメイン名に変更ください。バリューも任意に設定ください。
*.example.com 123.123.123.123
次にVirtualhostsを下記のように設定します。%1の部分がサブドメインの値が入ってきます。これで出来上がりです。因みにSSL認証はどうするれば良いのかという人にヒントを記載します。「ワイルドカードSSL認証」などとググると方法が記載されているHPに行き当たると思います。そちらを試すと容易にワイルドカードのSSLも出来ちゃうですね?
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot "/var/www/html/example.com"
ErrorLog /var/log/httpd/example.com_error_log
<Directory "/var/www/html/example.com">
AllowOverride All
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName example.com
ServerAlias *.example.com
VirtualDocumentRoot "/var/www/html/subdomain/%1"
ErrorLog /var/log/httpd/sub.example.com_error_log
</VirtualHost>
案外簡単で拍子抜けひともいるかも知れないですが、これで何かのサービスを作ることは可能かと思いますよ。どうぞお試しあれ。
因みにexample.comというドメインは存在します、参考書や参考サイトなどで使われる「例えばサイト」は存在します。玄人志向の方はtestなどのドメイン名を使わずに上記のドメイン名を使用します。それには理由があるのです、察しがいい人は分かるかと思いますが、安全でないサイトへ飛んでしまったりする人がいるためです。あとダミー画像を生成したいのなら、Placehold.jpを使用すると良いですよ。運用しているのはソフテルという日本の会社です?
追記でSSL認証も書いときますね。Let’s Encryptでワイルドカード証明書の場合はこんな感じです。まず、certbotが入っているということが前提としてあります、無い場合はインストールしてください。まず最初に下記のコマンドを打ちます。ドメイン名は自分用に変えてください。
certbot certonly --manual \
-d *.example.com -m mail@example.com --agree-tos --manual-public-ip-logging-ok \
--preferred-challenges dns \
このような内容が表示されますので、TXTレコードの設定を行います。英語が分からなければコピペして翻訳アプリにかけてください。

_acme-challenge.example.com XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
TXTレコードが設定されたどうかの確認はMSDOSなどで下記のコマンドを打ちます。設定が完了された場合はVALUEの値が返ってきます。
nslookup -type=TXT _acme-challenge.example.com 8.8.8.8
上手く通ったあと、エンターを打ち次に進みます。上手くいくとpemが生成されましたよというメッセージが出るのでその階層をコピーします。コピーしたものを元にApacheのVirtualhostのconfigの設定を行います。こんな感じです。
<VirtualHost *:443>
ServerName www.example.com
DocumentRoot "/var/www/html/example.com"
ErrorLog /var/log/httpd/example.com_error_log
<Directory "/var/www/html/example.com">
AllowOverride All
</Directory>
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
ServerAlias *.example.com
VirtualDocumentRoot "/var/www/html/subtaxi/%1"
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
ErrorLog /var/log/httpd/example.com_error_log
</VirtualHost>