До тех пор, пока это не для сайтов без SSL, гораздо проще всего не беспокоиться - просто используйте подстановочный домен DNS и vhost, а затем сопоставьте любое поведение, специфичное для домена, в вашем коде PHP. Если вам нужны сайты SSL, то все намного сложнее - вам нужно иметь отдельный IP-адрес / порт для каждого сертификата - и сертификаты woldcard могут быть очень дорогими.
Если вы хотите настроить какой-либо пакет хостинга, то он немного сложнее - как вы поступите, зависит от того, какой веб-сервер и DNS-сервер вы используете.
Если предположить (снова без SSL) с Apache в Unix / POSIX / Linux и выполнить связывание, то снова я перейду к DNS-записи с подстановочными знаками, а затем:
1) создайте базовый каталог для сайта, при желании заполните его набором файлов по умолчанию
2) добавить определение vhost в свой собственный файл в /etc/httpd/conf.d с именем XXX.conf
3) отправить kill -HUP процессу HTTPD (заставляет его читать новые файлы конфигурации без необходимости полного перезапуска).
Стоит отметить, что вы действительно не должны разрешать процессу httpd прямой доступ для записи в свои собственные файлы конфигурации - вы определенно не хотите давать ему привилегии root. Более безопасным решением было бы создать сценарий CLI, чтобы выполнить это, используя имя пользователя в качестве аргумента, затем установить его setuid и вызвать его из сценария, запущенного процессом HTTPD.
С