Я предлагаю своим клиентам веб-приложение, размещенное на выделенных серверах, чтобы клиенты могли зарегистрироваться на сайте и пользоваться услугой, используя URL: mywebsite.com/client.
Служба работает и у меня нет с ней проблем!
На самом деле, я хотел бы добавить новую опцию в приложение и позволить клиентам использовать свой собственный домен,НОприложение все еще размещено на моих серверах!
Теперь я хотел бы узнать, как я могу добавлять новые домены на свой сервер (я знаю, что они должны быть направлены на мои серверы имен) автоматически и с помощью PHP-скриптов?
Таким образом, клиенты добавляют домен, получают NS URL и IP-адреса, и после того, как они изменили серверы доменных имен, они могут использовать сервис, используя свое доменное имя.
Я почти уверен, что для этого мне нужно отредактировать файл конфигурации Apache, но я понятия не имею, какие именно изменения нужно сделать!
В общем, я бы хотел, чтобы все клиентские домены были добавлены как дополнительный домен к моему домену, где размещено приложение! Чтобы я мог получить доменное имя как идентификатор пользователя!
*Я использую Centos, а также веб-панель Centos.
решение1
Существует множество архитектур решений, позволяющих это сделать. Я опишу две из них, которые находятся на нетехническом и техническом конце спектра.
То, что вы здесь ищете, можно назвать программным обеспечением хостинговой компании или чем-то подобным, но вам нужна система, имеющая API для интеграции с вашей программной системой.
С нетехнической точки зрения я слышал, как люди используютhttps://www.whmcs.com/, который, как я знаю, имеет интеграцию для общей CMS, биллинга, веб-сервера и сервера базы данных. Чтобы управлять собственной настройкой домена, вам понадобится также управлять DNS-сервером или использовать тот, у которого есть API. Например, вы можете использовать Amazon Route53 для этого или позволить WHMCS управлять вашим собственным DNS-сервером, например BIND.
С технической точки зрения я управляю настройками веб-сервера, включая доменные имена, с помощью Ansible и намерен интегрировать это с панелью управления на основе PHP, разработанной на заказ. Ansible, а также PHP напрямую, безусловно, могут использовать API Amazon Route 53, так что это также позволит добиться полной автоматизации.
В любом случае, исходя из того, как вы сформулировали свой вопрос, нужно собрать воедино много архитектурных элементов и протестировать реализации. Удачи