1) У вас должен быть установлен стек LAMP или, как минимум, Apache. Вот инструкция как установить стек LAMP на Ubuntu. И должна быть обязательно настроена A-запись DNS у домена, который вы хотите привязать к виртуальному серверу.
2) Обновите систему пакеты в операционной системе:
sudo apt-get update
3) Нужно создать структуру каталога для хранения файлов. Пропишите в команду название вашего сайта или любое другое название папки для хранения файлов:
sudo mkdir -p /var/www/example.com/public_html
4) Если вы работаете под не-рутовым пользователем, нужно выдать ему права на данную папку командой (не забывайте про ваше название папки):
sudo chown -R $USER:$USER /var/www/example.com/public_html
5) Изменяем привилегии для папки, где будут храниться все ваши сайты, чтобы не было проблем в управлении:
sudo chmod -R 755 /var/www
6) Создадим демо страницу:
nano /var/www/example.com/public_html/index.html
В открывшейся странице можно списать все что угодно, нам этот текст нужен, чтобы понять, что сайт открывается нормально и без проблем:
<html>
<head>
<title>Dobro pojalovat na INVS.ru!</title>
</head>
<body>
<h1>Super! INVS.ru rabotaet!</h1>
</body>
</html>
7) Теперь создаем виртуальный хост. Копируем файл с дефолтного:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf
И открываем файл
sudo nano /etc/apache2/sites-available/example.com.conf
8) Откроется файл с конфигурацией. Можно смело все удалять и вписывать вот такой текст:
<VirtualHost *:80>
ServerAdmin admin@invs.ru
ServerName example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
9) Теперь нужно включить виртуальный хост:
sudo a2ensite example.com.conf
10) И перезапустить Apache:
sudo service apache2 restart
11) Все, можете открывать ваш сайт.