Нужен сервер (в его роли может выступать и пк, и ноутбук, и отдельное устройство) для этого сервера надо арендовать постоянный ip-адрес, после дать серверу этот ip-адрес, далее надо купить доменное имя и закрепить ip-адрес сервера за ним(если вы арендуете хост то там можно получить как отдельно ip-адрес для сайта так и сразу доменное имя), далее на сервер надо закинуть все файлы используемые сайтом, если используются специфичные шрифты то и они тоже, туда же картинки, скрипты и пр. Далее на сервере надо выделить папку для общего доступа, способы разнятся в зависимости от ОС. Файл который должен запускаться при вводе доменного имени стоит назвать index.html(.js\.php в зависимости от способа реализации) и закинуть в корень папки сервера. Тадам сайт общедоступный, единственное что ip-адрес и доменное имя можно только арендовать на время, обычно для среднего такого хостинга это около 1к р/год с хостом(сервер с статичным ip) и доменным именем. Может быть и дешевле, при том гораздо, но там довольно большие ограничения. Если арендовать именно ip-адрес и доменное имя выйдет дешевле, но стабильность работы сайта будет полностью зависеть от вас и оборудования на котором держится сайт. Стоит так же учитывать что стоимость аренды хостинга зависит не только от предоставляемых возможностей но и от мощностей которые хотите получить.
Доп инфа: арендовать постоянный ip-адрес надо у своего провайдера.