Відвідуючи форум підтримки панелі VestaCP, помітив, що часто користувачі запитують як створити піддомен у VestaCP. Насправді це дуже просто. Для початку потрібно зайти в саму панель:

step_01

Далі нам потрібно перейти у вкладку WEB:

step_02

Натискаємо кнопку Додати WEB домен:

step_03

У полі Домен вводимо ім'я вашого піддомену (наприклад, якщо ваш сайт domain.tld, тоді ім'я піддомену буде sub.domain.tld). Я вирішив всі інші параметри залишити незмінними:

step_04

Тепер, коли ми повернемося до вкладки WEB, то побачимо, що наш піддомен тепер є у списку доменів:

step_05

На цьому додавання піддомену закінчено.

Цікава особливість VestaCP в тому, що для піддоменів створюється окрема тека. Деяких користувачів це не влаштовує, тому вони задаються питанням, чи можна зробити так, щоб піддомен використовував теку з основного домену (наприклад domain.tld має теку sub, тобто domain.tld/sub). Вирішити це питання можна за допомогою редагування файлів конфігурації доменів. Зауважу, що на сервері встановлено CentOS.

Для цього нам потрібно з’єднатися з сервером за допомогою SSH:
ssh user@your.server

Далі нам потрібно перейти у теку з файлами конфігурацій віртуальних хостів:
cd /home/$user/conf/web

де $user - це ім'я вашого користувача. Далі потрібно створити файли httpd.sub.domain.tld.conf, nginx.sub.domain.tld.conf, shttpd.sub.domain.tld.conf, snginx.sub.domain.tld.conf і відредагуємо зручним для вас редактором (останні два, якщо ви використовуєте захищене SSL з'єднання на вашому сайті).

Створюємо файл httpd.sub.domain.tld.conf з наступним вмістом:
DocumentRoot /home/admin/web/domain.tld/public_html/sub

Для захищеного з'єднання створюємо файл shttpd.sub.domain.tld.conf, і проводимо аналогічну операцію.

Також створюємо файл nginx.sub.domain.tld.conf і додаємо в нього:
root /home/$user/web/domain.tld/public_html/sub;

Для захищеного з'єднання створюємо файл snginx.sub.domain.tld.conf, і повторюємо дії.

Після редагування файлів, головне зберігати зміни. Щоб перевірити чи в нас все зроблено вірно, потрібно перезавантажити HTTPd та Nginx:
service httpd restart & service nginx restart
і відвідати наш піддомен.

Для Debian/Ubuntu назва файлу відрізняється - замість httpd буде apache2, тобто apache2.sub.domain.tld.conf. Також відрізняється команда перезавантаження служб:
/etc/init.d/apache2 restart & /etc/init.d/nginx restart

На цьому все :)