Туториал: как создать универсальный сервер для дома или небольшого офиса

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

В этой статье вы узнаете как создать сервер на базе proxmox, создать контейнеры с нужными вам приложениями, а также запустим web сервер с панелью управления aaPanel.

Когда приходите в небольшую компанию, обычно там стоит один сервер где крутиться несколько сайтов. И вы принимаете решение, что хотите расширить сервисы, создать нужные для вас приложения в этом нам поможет Proxmox Virtual Environment (Proxmox VE) — система виртуализации с открытым исходным кодом. 

Начнем, нам понадобится флешка на минимум на 4 gb, заходим на сайт proxmox и скачиваем ISO образ, после через программу rufus или аналогичную устанавливаем образ на флешку. Далее вставляем ее в ваш будущий сервер, запускаемся в режим boot menu (клавишей F12) и выбираем нашу флешку. Начинается установка proxmox.

Вы увидите приветственный экран. Выберите Install Proxmox VE
Вы увидите приветственный экран. Выберите Install Proxmox VE
Далее вы увидите лицензионное соглашение. Чтобы продолжить, нажмите I agree
Далее вы увидите лицензионное соглашение. Чтобы продолжить, нажмите I agree
Выберите диск, на который будет установлена система. Если вы хотите изменить параметры диска, нажмите «Options» и внесите настройки. Нажмите Next, чтобы продолжить
Выберите диск, на который будет установлена система. Если вы хотите изменить параметры диска, нажмите «Options» и внесите настройки. Нажмите Next, чтобы продолжить
Выберите страну, часовой пояс и раскладку клавиатуры. Нажмите Next
Выберите страну, часовой пояс и раскладку клавиатуры. Нажмите Next
Укажите пароль суперпользователя и email для уведомлений. Нажмите Next
Укажите пароль суперпользователя и email для уведомлений. Нажмите Next
Выберите сетевой интерфейс. Задайте имя хоста, IP-адрес, маску подсети, шлюз и DNS Server. Нажмите Next
Выберите сетевой интерфейс. Задайте имя хоста, IP-адрес, маску подсети, шлюз и DNS Server. Нажмите Next
Проверьте заданные параметры. Если данные верны, нажмите Install
Проверьте заданные параметры. Если данные верны, нажмите Install

Дождитесь окончания установки. Когда установка будет завершена вы сможете воспользоваться web-интерфейсом, откройте браузер и введите ссылку вида https://123.123.123.123:8006/, где 123.123.123.123 — IP-адрес вашего сервера. Эту ссылку можно увидеть при запуске терминала.

После входа водим логин root пароль, а также можно выбрать язык панели
После входа водим логин root пароль, а также можно выбрать язык панели

Важные вещи, которые следует выполнить после установки Proxmox

Отключаем платный репозиторий

Доступен только тем, кто купил платную подписку. Если этого не сделать — apt сообщит об ошибке при обновлении источников пакетов.

  1. Нажимаем на ваш сервер (PVE).

  2. Заходим в пункт Repository.

  3. Нажимаем кнопку добавить.

  4. В списке находим No-Subscription.

Выбор бесплатного репозитория
Выбор бесплатного репозитория
  1. Открываем консоль.

  2. Выполняем команду обновления источников пакетов и обновления системы.

apt update && apt -y upgrade

Настройка портов на роутере

После установки proxmox нам нужно открыть порты на роутере, чтобы пользователи из внешней сети могли получить доступ к серверу.

  1. Зайдите в настройки вашего роутера.

  2. Найдите пункт "Переадресация".

  3. Создайте правило переадресации на следующие порты:
    80, 443, 8006, 20, 21, и другие необходимые порты для работы приложений.

Открытие портов на роутере
Открытие портов на роутере

Виртуальные машины VS CT контейнеры

В proxmox можно создавать оба варианта, но в этой статье я буду использовать CT контейнер, по причине того что:

  1. Быстрый запуск. Фактически запускаются только те приложения, которые необходимы для работы контейнера.

  2. Меньше потерь производительности CPU, дисковых операций и оперативной памяти. Почти всё, что доступно в контейнере, работает со скоростью сервера.

  3. Быстро и легко перемещать контейнеры между серверами.

Более подробно про CT контейнеры можете прочитать тут.

Подготовка

Прежде чем начать создавать виртуальную машину нам понадобится настроить файловое хранилище и ISO образ. Мы должны проинициализировать другие диски которые подключены к нашему серверу.

Заходим в наш сервер и выбираем вкладку диски.

  1. Выбираем диск который подключен, смотрим на параметр Использование убеждаемся что он НЕ используется.

  2. Нажимаем очистить диск, это уничтожит все данные на нем.

  3. Нажимаем Инициализировать диск GPT.

Пример того как это выглядит
Пример того как это выглядит
  1. Далее мы спускаемся на вкладку LVM.

  2. Здесь мы выбираем наш проинициализированный диск.

  3. Нажимаем Создать: Volume Group.

  4. Даем имя нашему хранилищу.

Пример создания LVM диска
Пример создания LVM диска

Загрузка CT контейнера

LXC (англ. Linux Containers) — система виртуализации на уровне операционной системы для запуска нескольких изолированных экземпляров операционной системы Linux на одном узле. Как следует из названия, как таковой отдельной виртуальной машины у нас нет. Следовательно, нам нужно специально подготовленный шаблонов Template операционной системы. В Proxmox они скачиваются из своих репозиториев.

  1. Выбираем диск local (pve).

  2. Заходим на вкладку CT Templates.

  3. Нажимаем кнопку Шаблоны.

  4. Выбираем нужный нам шаблон для установки Aapanel я скачаю Ubuntu 20.4.

  5. Дожидаемся окончания загрузки.

Создание CT контейнера

  1. Верхнем меню выбираем создать CT контейнер.

  2. Открывается меню, заполняем имя машины и пароль от root для нее соответственно.

  3. Выбираем наш диск, после выбираем наш шаблон.

  4. Выбираем диск и его размер.

  5. Задаем количество ядер процессора.

  6. Задаем объем оперативной памяти и файла подкачки.

  7. Задаем параметры сети к примеру 192.168.2.102/24 и шлюз (IP адрес вашего роутера).

  8. Указываем DNS или оставляем пустым.

  9. Убеждаемся что все параметры правильные и нажимаем создать.

  10. Ждем установки.

Создание CT контейнера
Создание CT контейнера

Выбираем наш созданный контейнер и нажимаем запустить.

По умолчанию Proxmox автоматически не запускает машины, но это легко решается:

  1. Щелкаем по названию нужной машины.

  2. Выбираем вкладку Параметры ➝ Запуск при загрузке.

  3. Ставим галочку напротив одноименной надписи.

Теперь, в случае перезагрузки физического сервера, VM будет запущена автоматически.

Установка web сервера aaPanel

aaPanel — бесплатная панель управления для систем семейства Linux с простым и удобным интерфейсом. aaPanel позволяет легко управлять сайтами, SSL-сертификатами, настраивать FTP-хранилища и выполнять тщательный мониторинг работы всей системы. Встроенный терминал позволяет избежать необходимости всегда держать открытым SSH-соединение для полноценного администрирования сервера. Панель также обладает исключительно удобным файловым менеджером, которому нет равных среди конкурентов.

aaPanel это международная версия китайской BT.cn.

Интерфейс aaPanel
Интерфейс aaPanel
  1. Заходим на официальный сайт aaPanel.

  2. Нажимаем скачать и копируем код для установки под Ubuntu.

  3. Вставляем этот скрипт в терминал нашего сервера и соглашаемся.

  4. Ожидаем установки.

wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && sudo bash install.sh aapanel

После выполнения базовой установки панели вы увидите сообщение с параметрами доступа к панели:

Завершение установки aaPanel
Завершение установки aaPanel

Обязательно откройте порты на роутере.

После входа в панель у вас будет выбор какой пакет установить, это уже зависит от ваших целей, я выбираю LNMP.

Первый экран aaPanel
Первый экран aaPanel

После чего вы можете использовать все возможности aaPanel и устанавливать сайты. Кроме того можно запускать docker контейнеры, использовать node.js, python. Это очень мощная панель для любого кто хочет разворачивать свои проекты и постоянно экспериментировать.

Обзор панели я не буду делать в этой статье, обзор вы можете прочитать здесь.

Также нужно настроить bios чтобы при проблемах с электричеством сервер запустился сам можете причитать это тут.

Заключение

В этой статье вы узнали о proxmox, как его установить, пощупали его самые базовые возможности. Установили aaPanel, и сможем развернуть там множество сайтов. Proxmox очень классный инструмент если у вас один или несколько серверов, хранить бекапы, поднимать сайты и сервисы, установка Windows для специфичных нужд, развертывание nextcloud, и других сервисов на одном сервере. Это подходит для компаний с малым бюджетом или для домашнего использования.

Эта статья для новичков, много чего важного я упустил в этой статье намерено, к примеру безопасность, использование RAID массивов физических или виртуальных, создание пользователей без root и много-много чего еще. Это статья для старта изучения новых возможностей для вашей инфраструктуры.

Где изучить больше ?

  • Proxmox официальная документация

  • Porxmox Wiki

  • Proxmox базовая настройка

  • aaPanel официальная документация/форум

В комментариях буду рад здравой критике, замечаниям или новым идеям.

Источник: https://habr.com/ru/articles/756058/


Интересные статьи

Интересные статьи

Привет, Хабр! Хочу поделиться своим проектом, который разрабатывал почти год - appex-system.Дело началось с того, что я закончил изучение ноды. Нужно было запилить какой-нибудь проект, чтобы потрениро...
Хоть мы тогда и сами об этом не знали, но создавать сервис для аренды выделенных серверов мы начали два года назад. При запуске новых регионов публичного облака нам требо...
В 1993 году, когда появилась Всемирная паутина, World-Wide-Web, веб-страницы были представлены статическими HTML-файлами, содержащими ссылки на другие такие же файлы. Но вскоре, благодаря...
Веб-сервер на Raspberry Pi Чтобы выложить информацию в открытый доступ, необязательно покупать аккаунт у хостинг-провайдера. Существует много альтернативных вариантов, в том числ...
Чтобы продать что-нибудь ненужное, нужно сначала купить что-нибудь ненужное, а у нас денег нет. — Трое из Простоквашино Введение Так получилось, что я живу в своей квартире (или кондо по-мест...