Универсальный сервер для дома или офиса
Туториал: как создать универсальный сервер для дома или небольшого офиса
В этой статье вы узнаете как создать сервер на базе proxmox, создать контейнеры с нужными вам приложениями, а также запустим web сервер с панелью управления aaPanel.
Когда приходите в небольшую компанию, обычно там стоит один сервер где крутиться несколько сайтов. И вы принимаете решение, что хотите расширить сервисы, создать нужные для вас приложения в этом нам поможет Proxmox Virtual Environment (Proxmox VE) — система виртуализации с открытым исходным кодом.
Начнем, нам понадобится флешка на минимум на 4 gb, заходим на сайт proxmox и скачиваем ISO образ, после через программу rufus или аналогичную устанавливаем образ на флешку. Далее вставляем ее в ваш будущий сервер, запускаемся в режим boot menu (клавишей F12) и выбираем нашу флешку. Начинается установка proxmox.
Дождитесь окончания установки. Когда установка будет завершена вы сможете воспользоваться web-интерфейсом, откройте браузер и введите ссылку вида https://123.123.123.123:8006/, где 123.123.123.123 — IP-адрес вашего сервера. Эту ссылку можно увидеть при запуске терминала.
Важные вещи, которые следует выполнить после установки Proxmox
Отключаем платный репозиторий
Доступен только тем, кто купил платную подписку. Если этого не сделать — apt сообщит об ошибке при обновлении источников пакетов.
- Нажимаем на ваш сервер (PVE).
- Заходим в пункт Repository.
- Нажимаем кнопку добавить.
- В списке находим No-Subscription.
- Открываем консоль.
- Выполняем команду обновления источников пакетов и обновления системы.
apt update && apt -y upgrade
Настройка портов на роутере
После установки proxmox нам нужно открыть порты на роутере, чтобы пользователи из внешней сети могли получить доступ к серверу.
- Зайдите в настройки вашего роутера.
- Найдите пункт "Переадресация".
- Создайте правило переадресации на следующие порты: 80, 443, 8006, 20, 21, и другие необходимые порты для работы приложений.
Виртуальные машины VS CT контейнеры
В proxmox можно создавать оба варианта, но в этой статье я буду использовать CT контейнер, по причине того что:
Быстрый запуск. Фактически запускаются только те приложения, которые необходимы для работы контейнера.
Меньше потерь производительности CPU, дисковых операций и оперативной памяти. Почти всё, что доступно в контейнере, работает со скоростью сервера.
Быстро и легко перемещать контейнеры между серверами.
Более подробно про CT контейнеры можете прочитать тут.
Подготовка
Прежде чем начать создавать виртуальную машину нам понадобится настроить файловое хранилище и ISO образ. Мы должны проинициализировать другие диски которые подключены к нашему серверу.
Заходим в наш сервер и выбираем вкладку диски.
Выбираем диск который подключен, смотрим на параметр Использование убеждаемся что он НЕ используется.
Нажимаем очистить диск, это уничтожит все данные на нем.
Нажимаем Инициализировать диск GPT.
- Далее мы спускаемся на вкладку LVM.
- Здесь мы выбираем наш проинициализированный диск.
- Нажимаем Создать: Volume Group.
- Даем имя нашему хранилищу.
Загрузка CT контейнера
LXC (англ. Linux Containers) — система виртуализации на уровне операционной системы для запуска нескольких изолированных экземпляров операционной системы Linux на одном узле. Как следует из названия, как таковой отдельной виртуальной машины у нас нет. Следовательно, нам нужно специально подготовленный шаблонов Template операционной системы. В Proxmox они скачиваются из своих репозиториев.
- Выбираем диск local (pve).
- Заходим на вкладку CT Templates.
- Нажимаем кнопку Шаблоны.
- Выбираем нужный нам шаблон для установки Aapanel я скачаю Ubuntu 20.4.
- Дожидаемся окончания загрузки.
Создание CT контейнера
- Верхнем меню выбираем создать CT контейнер.
- Открывается меню, заполняем имя машины и пароль от root для нее соответственно.
- Выбираем наш диск, после выбираем наш шаблон.
- Выбираем диск и его размер.
- Задаем количество ядер процессора.
- Задаем объем оперативной памяти и файла подкачки.
- Задаем параметры сети к примеру 192.168.2.102/24 и шлюз (IP адрес вашего роутера).
- Указываем DNS или оставляем пустым.
- Убеждаемся что все параметры правильные и нажимаем создать.
- Ждем установки.
Выбираем наш созданный контейнер и нажимаем запустить.
По умолчанию Proxmox автоматически не запускает машины, но это легко решается:
- Щелкаем по названию нужной машины.
- Выбираем вкладку Параметры ➝ Запуск при загрузке.
- Ставим галочку напротив одноименной надписи.
Теперь, в случае перезагрузки физического сервера, VM будет запущена автоматически.
Установка web сервера aaPanel
aaPanel — бесплатная панель управления для систем семейства Linux с простым и удобным интерфейсом. aaPanel позволяет легко управлять сайтами, SSL-сертификатами, настраивать FTP-хранилища и выполнять тщательный мониторинг работы всей системы. Встроенный терминал позволяет избежать необходимости всегда держать открытым SSH-соединение для полноценного администрирования сервера. Панель также обладает исключительно удобным файловым менеджером, которому нет равных среди конкурентов.
aaPanel это международная версия китайской BT.cn.
- Здесь официальный сайт aaPanel.
- Нажимаем скачать и копируем код для установки под Ubuntu.
- Вставляем этот скрипт в терминал нашего сервера и соглашаемся.
- Ожидаем установки.
wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && sudo bash install.sh aapanel
После выполнения базовой установки панели вы увидите сообщение с параметрами доступа к панели:
Обязательно откройте порты на роутере.
После входа в панель у вас будет выбор какой пакет установить, это уже зависит от ваших целей, я выбираю LNMP.
После чего вы можете использовать все возможности aaPanel и устанавливать сайты. Кроме того можно запускать docker контейнеры, использовать node.js, python. Это очень мощная панель для любого кто хочет разворачивать свои проекты и постоянно экспериментировать.
Обзор панели я не буду делать в этой статье, обзор вы можете прочитать здесь.
Заключение
В этой статье вы узнали о proxmox, как его установить, пощупали его самые базовые возможности. Установили aaPanel, и сможем развернуть там множество сайтов. Proxmox очень классный инструмент если у вас один или несколько серверов, хранить бекапы, поднимать сайты и сервисы, установка Windows для специфичных нужд, развертывание nextcloud, и других сервисов на одном сервере. Это подходит для компаний с малым бюджетом или для домашнего использования.
Эта статья для новичков, много чего важного я упустил в этой статье намерено, к примеру безопасность, использование RAID массивов физических или виртуальных, создание пользователей без root и много-много чего еще. Это статья для старта изучения новых возможностей для вашей инфраструктуры.