у меня есть личный сервер под управлением proxmox. я хочу использовать этот сервер для хостинга нескольких сайтов. в proxmox уже установлен контейнер с NginxProxyManager.
как лучше организовать мою идею? установить контейнер с какой-либо панелью управления сайтами? или поднять несколько контейнеров и в каждый установить по wordpress?
Точка входа для веб трафика будет все равно одна, а то как реализовать сами сайты уже зависит от детального ТЗ.
- Надо ли предоставлять доступ к виртуальному серверу и сайту другим людям?
- Надо ли ограничивать ресурсы под сайт или аккаунт?
- Есть ли опыт в разворачивании сайтов на голом сервере?
Если 1 контейнер с админкой, то это аналог shared hosting, тут рекомендовали одну панель, аналог ISP Manager. В ней можно завести пользователей и дать им доступ к сайтам, но SSH/FTP желательно не давать и функционал будет ограничен той панелью, которая имеется, как правило, это будет несколько популярных СУБД, PHP, возможность запуска WP без докера, может даже docker контейнеры. Но на уровне PVE будет сложно разделять ресурсы между сайтами.
Несколько LXC контейнеров с WP внутри это уже аналог VPS на openvz, тут можно каждому сайту выделить диск, оперативки и процессор, можно давать SSH доступ для разворачивания, но можно и в каждый контейнер поставить по веб админке
На все вопросы я отвечу “да”. Думаю, стоит установить какую-либо панель аналог ISP Manager. Спрашиваю потому что не знаю как к этому подступиться так, чтобы потом не переделывать. Хочу сделать сразу и красиво. Но всё-таки просто…
Сам не пробовал, но в ТГ группе советовали вот эту штуку
Вот статья на хабре Туториал: как создать универсальный сервер для дома или небольшого офиса / Хабр
я эту панельку пользую, еще до выхода aapanel
Поставьте просто Apache, Nginx или Caddy и т.д. и сконфигурируйте виртуальные хосты.
На примере Apache:
Для blog.lan :
cоздайте /var/www/blog.lan/public_html/index.html
<html>
<head>
<title>Blog</title>
</head>
<body>
<h1>Blog! This is virtual host!</h1>
</body>
</html>
Файл конфигурации виртуального хоста:
/etc/apache2/sites-available/blog.lan.conf
<VirtualHost *:80>
ServerAdmin admin@blog.lan
ServerName blog.lan
ServerAlias www.blog.lan
DocumentRoot /var/www/blog.lan/public_html
ErrorLog ${APACHE_LOG_DIR}/blog.lan_error.log
CustomLog ${APACHE_LOG_DIR}/blog.lan_access.log combined
</VirtualHost>
Для forum.lan :
cоздайте /var/www/forum.lan/public_html/index.html
<html>
<head>
<title>Forum</title>
</head>
<body>
<h1>Forum! This is virtual host!</h1>
</body>
</html>
Файл конфигурации виртуального хоста:
/etc/apache2/sites-available/forum.lan.conf
<VirtualHost *:80>
ServerAdmin webmaster@forum.lan
ServerName forum.lan
ServerAlias www.forum.lan
DocumentRoot /var/www/forum.lan/public_html
ErrorLog ${APACHE_LOG_DIR}/forum.lan_error.log
CustomLog ${APACHE_LOG_DIR}/forum.lan_access.log combined
</VirtualHost>
Активация файлов конфигурации хостов:
sudo a2ensite blog.lan.conf
sudo a2ensite forum.lan.conf
Необходимо отключить файл конфигурации, использующийся по умолчанию:
sudo a2dissite 000-default.conf
Перезапустить Apache:
sudo systemctl restart apache2
Таким образом, под управлением Apache у вас будут два сайта http://blog.lan и http://forum.lan на одном IP.
Caddy и Nginx сильно не отличаются и настраиваются аналогично.