Этап 1: Выбор и установка операционной системы
Для классического сервера у вас есть два основных бесплатных варианта: Ubuntu Server (более популярен, больше готовых решений в интернете) и Debian (консервативен и очень стабилен). Оба отлично подойдут. Я приведу инструкции для Ubuntu Server как для более распространенного варианта, но они с небольшими изменениями подойдут и для Debian.
Что нам понадобится:
-
Компьютер под управлением Windows/macOS для подготовки флешки.
-
USB-флешка объемом от 2 ГБ.
-
Доступ в интернет на вашем будущем сервере (желательно по проводу, для стабильности).
Процесс установки Ubuntu Server:
-
Скачивание образа: Зайдите на официальный сайт Ubuntu и скачайте последнюю версию Ubuntu Server LTS (например, 22.04 или 24.04). LTS-версии означают "Long Term Support" и получают обновления 5-10 лет, что идеально для сервера .
-
Создание загрузочной флешки: Скачанный ISO-образ необходимо записать на флешку. Для этого есть отличные бесплатные программы:
-
balenaEtcher (простая и понятная, рекомендую)
-
Rufus (для Windows, более продвинутая)
Вставьте флешку, откройте программу, выберите скачанный образ и нажмите "Записать" .
-
-
Загрузка с флешки:
-
Вставьте флешку в ваш сервер и включите его.
-
Сразу после включения нажмите клавишу для вызова Boot Menu (обычно это F2, F10, F12 или Del). Точную клавишу можно увидеть на первом экране загрузки или посмотреть в инструкции к материнской плате .
-
В появившемся меню выберите вашу USB-флешку и нажмите Enter.
-
-
Установка:
-
Язык: Выберите English (с русским языком в серверной версии могут быть проблемы с кодировками) и нажмите Enter .
-
Обновление установщика: Если появится предложение обновить installer, можно смело выбрать "Update to the new installer" и нажать Enter.
-
Раскладка клавиатуры: Выберите English (US) или Russian — как вам удобнее. Для сервера, к которому вы будете подключаться удаленно, раскладка не так важна .
-
Тип установки: Выберите Ubuntu Server (стандартный набор пакетов), а не минимизированную версию .
-
Сеть: Установщик попытается настроить сеть через DHCP. Для сервера лучше задать статический IP-адрес, чтобы он не менялся после перезагрузок. Выберите сетевой интерфейс (например,
enp0s3), нажмите Enter, затем выберите Edit IPv4 -> Manual и введите ваш IP-адрес, маску подсети, шлюз и DNS-сервер (например, 8.8.8.8). Если вам сложно настраивать сейчас, выберите Continue without network — это можно сделать и позже . -
Прокси: Оставьте поле пустым и выберите Done.
-
Зеркало Ubuntu: Оставьте предложенный вариант и нажмите Done.
-
Разметка диска: Для простоты выберите Use an entire disk. Убедитесь, что выбран нужный диск (желательно SSD), снимите галочку с Set up this disk as an LVM group (если не знаете, зачем это нужно) и нажмите Done . Подтвердите очистку диска, выбрав Continue.
-
Имя пользователя и пароль:
-
Your name: Ваше имя (например, Your Name).
-
Your server's name: Имя сервера в сети (например,
home-server). -
Pick a username: Ваш логин для входа (например,
yourname). -
Choose a password/Confirm your password: Придумайте надежный пароль. Запомните его!
-
-
Ubuntu Pro: Выберите Skip for now (пропустить) .
-
SSH Server: Очень важный шаг! Отметьте пробелом Install OpenSSH server. Это позволит вам управлять сервером удаленно с любого компьютера в сети .
-
Дополнительные пакеты: Ничего не выбирайте, просто нажмите Done.
-
-
Завершение: Начнется установка. После ее окончания выберите Reboot Now. При перезагрузке не забудьте извлечь флешку.
Этап 2: Превращаем сервер в хост для Joomla и MQTT
После перезагрузки вы увидите приглашение на вход (login:). Введите имя пользователя и пароль, которые задали при установке.
-
Первые шаги и обновление системы
Сразу после входа выполните обновление всех пакетов до актуальных версий. Это стандартная практика безопасности.sudo apt update && sudo apt upgrade -y
Флаг
-yавтоматически отвечает "Yes" на запрос подтверждения . -
Установка веб-окружения (LAMP-стек)
Joomla требует веб-сервер, базу данных и PHP. Установим всё одной командой. Пакетunzipпонадобится для распаковки Joomla .sudo apt install apache2 mariadb-server php php-mysql php-xml php-mbstring php-curl php-zip php-gd php-intl unzip -y
-
Настройка базы данных
Теперь создадим отдельную базу данных и пользователя для Joomla. Это повышает безопасность.-
Войдите в консоль базы данных:
sudo mysql -
Выполните SQL-команды (замените
'your_password'на ваш надежный пароль):CREATE DATABASE joomla_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'joomla_user'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON joomla_db.* TO 'joomla_user'@'localhost'; FLUSH PRIVILEGES; EXIT;
-
-
Скачивание и установка Joomla
-
Перейдите во временную папку и скачайте последнюю версию Joomla с официального сайта. Ссылку на самый свежий архив всегда можно найти на joomla.org. В примере использована Joomla 5.
cd /tmp wget https://downloads.joomla.org/cms/joomla5/latest/Joomla_5-Stable-Full_Package.zip
-
Создайте целевую папку для сайта и распакуйте архив:
sudo mkdir -p /var/www/html/joomla sudo unzip Joomla_5-Stable-Full_Package.zip -d /var/www/html/joomla
-
Главный секрет — правильно выставить права доступа, чтобы веб-сервер мог создавать и изменять файлы (например, для загрузки картинок). Владельцем файлов должен быть пользователь веб-сервера
www-data.sudo chown -R www-data:www-data /var/www/html/joomla sudo chmod -R 755 /var/www/html/joomla
-
-
Настройка Apache
-
Создайте файл конфигурации для вашего сайта Joomla:
sudo nano /etc/apache2/sites-available/joomla.conf
-
Вставьте в него следующий базовый конфиг (для тестового сервера по IP-адресу, без домена):
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html/joomla ServerName your_server_ip_or_domain <Directory /var/www/html/joomla> Options FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>Нажмите
Ctrl+X, затемYиEnterдля сохранения. -
Включите созданный сайт и модуль
mod_rewrite, который нужен для "человеко-понятных" URL в Joomla, после чего перезагрузите Apache :sudo a2ensite joomla.conf sudo a2enmod rewrite sudo systemctl reload apache2
-
-
Установка Joomla через браузер
-
Теперь откройте браузер на любом компьютере в вашей сети и введите IP-адрес вашего сервера (например,
http://192.168.1.10). Вы должны увидеть страницу установщика Joomla. -
Следуйте инструкциям мастера установки:
-
Выберите язык.
-
Введите название сайта.
-
Данные базы данных: Выберите тип базы данных MySQLi, введите
joomla_user, пароль, который вы задали, и имя базы данныхjoomla_db. Хост базы данных оставьтеlocalhost. -
Создайте учетную запись администратора (логин и пароль для входа в админку Joomla).
-
Завершите установку.
-
-
Важно! После завершения установки удалите папку
installationна сервере, как того требует программа установки. Это критически важно для безопасности.sudo rm -rf /var/www/html/joomla/installation
-
-
Установка MQTT-брокера для телеметрии
Настала очередь второй задачи. Самый популярный и простой брокер — Mosquitto.-
Установите его одной командой:
sudo apt install mosquitto mosquitto-clients -y
-
После установки сервис
mosquittoавтоматически запустится и будет работать в фоне. Это минимальная базовая настройка для работы на локальной машине (localhost). Для более тонкой настройки (пароли, внешний доступ) потребуется редактирование файла конфигурации/etc/mosquitto/mosquitto.conf.
-
Подведем итоги
Поздравляю! Ваш домашний сервер на базе Intel i5 успешно справился с задачами:
-
На нем работает операционная система Ubuntu Server.
-
Запущен веб-сервер Apache, база данных и PHP, на которых работает ваша Joomla.
-
В фоне работает MQTT-брокер Mosquitto, готовый принимать сообщения от ваших устройств телеметрии.
Вы проделали отличную работу, настроив всё вручную. Это даст вам огромное преимущество в понимании того, как всё устроено.