Гид по технологиям

Установка Elgg на Ubuntu 18.04 с Apache

• 6 min read • DevOps • Обновлено 27 Nov 2025
Установка Elgg на Ubuntu 18.04 с Apache
Установка Elgg на Ubuntu 18.04 с Apache

Elgg — это бесплатная self‑hosted платформа для создания социальной сети. В этой инструкции шаг за шагом описано: установка LAMP (Apache, MariaDB, PHP 7.2), настройка базы данных, развертывание Elgg, создание виртуального хоста Apache и базовая постустановочная жёсткая настройка. В конце — чеклисты, критерии приёмки, рекомендации по безопасности и варианты альтернатив.

О чём статья

Elgg — гибкая платформа для создания собственной социальной сети (университеты, организации, сообщества). В статье показано, как установить Elgg 2.3.9 на Ubuntu 18.04 с Apache, подготовить базу данных MariaDB и выполнить базовую настройку безопасности и прав доступа.

Требования

  • Сервер с Ubuntu 18.04.
  • Нерутовый пользователь с правами sudo.
  • Доступ к сети для скачивания пакетов и дистрибутива Elgg.

Начало — обновление системы

Обновите систему перед установкой пакетов:

sudo apt-get update -y
sudo apt-get upgrade -y

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

Установка LAMP (Apache, MariaDB, PHP)

Elgg написан на PHP и использует MariaDB как СУБД. Установите Apache, MariaDB и требуемые модули PHP:

sudo apt-get install apache2 mariadb-server php7.2 libapache2-mod-php7.2 php7.2-common php7.2-sqlite3 php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-mysql php7.2-gd php7.2-xml php7.2-cli php7.2-zip unzip wget -y

Откройте файл конфигурации PHP для Apache и внесите рекомендованные изменения (используется PHP 7.2):

sudo nano /etc/php/7.2/apache2/php.ini

Внесите изменения (пример):

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = Asia/Kolkata

Примечание: укажите ваш часовой пояс в формате, совместимом с PHP (например, Europe/Moscow).

Запустите и включите службы Apache и MariaDB:

sudo systemctl start apache2
sudo systemctl start mariadb
sudo systemctl enable apache2
sudo systemctl enable mariadb

Настройка базы данных MariaDB

Сначала выполните базовую защиту MariaDB:

sudo mysql_secure_installation

Ответьте на вопросы по безопасности примерно так (варианты):

Enter current password for root (enter for none):
Set root password? [Y/n]: N
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y

Далее войдите в MariaDB и создайте базу данных и пользователя для Elgg:

mysql -u root -p

В MariaDB shell выполните:

CREATE DATABASE elggdb;
CREATE USER 'elgg'@'localhost' IDENTIFIED BY 'howtoforge';
GRANT ALL ON elggdb.* TO 'elgg'@'localhost' IDENTIFIED BY 'howtoforge' WITH GRANT OPTION;
FLUSH PRIVILEGES;
\q

Замените пароль ‘howtoforge’ на надёжный секрет в вашем окружении.

Установка Elgg

Скачайте архив Elgg и распакуйте его:

cd /tmp
wget https://elgg.org/download/elgg-2.3.9.zip
unzip elgg-2.3.9.zip

Скопируйте файлы в корень веб‑сервера:

sudo cp -r elgg-2.3.9 /var/www/html/elgg
sudo mkdir /var/www/html/elgg/data
sudo chown -R www-data:www-data /var/www/html/elgg/
sudo chmod -R 755 /var/www/html/elgg/

Пояснение: каталог data необходим для загружаемых файлов и должен быть доступен веб‑серверу.

Настройка Apache для Elgg

Создайте виртуальный хост Apache:

sudo nano /etc/apache2/sites-available/elgg.conf

Добавьте конфигурацию (измените ServerName на ваш домен или IP):


ServerAdmin [email protected]
DocumentRoot /var/www/html/elgg/
ServerName example.com

Options FollowSymLinks
AllowOverride All

ErrorLog /var/log/apache2/elgg-error_log
CustomLog /var/log/apache2/elgg-access_log common

Активируйте сайт и модуль rewrite, затем перезапустите Apache:

sudo a2ensite elgg.conf
sudo a2enmod rewrite
sudo systemctl restart apache2

Если ваш сайт будет работать по HTTPS — настройте SSL (например, через Certbot/Let’s Encrypt) и обновите виртуальный хост для порта 443.

Доступ к веб‑интерфейсу установки

Откройте в браузере http://example.com (замените example.com на ваш домен или IP) и следуйте мастеру установки. Вы пройдёте проверку требований, укажете данные базы, путь к каталогу данных (/var/www/html/elgg/data) и создадите администратора.

Логотип страницы установки Elgg и начало мастера

Экран проверки системных требований Elgg

Шаг ввода данных базы данных в мастере установки Elgg

Настройка параметров сайта в мастере Elgg

Создание учётной записи администратора Elgg

Страница завершения установки Elgg

Панель администратора Elgg после входа

Внешний вид фронтенда Elgg; пример темы и ленты

Образ виртуальной машины (опционально)

Этот туториал доступен как готовый образ виртуальной машины (OVF/OVA) для VMWare и VirtualBox (HowtoForge подписчикам). В образе используются следующие данные (измените пароли после первого входа):

SSH / Shell:

Username: administrator Password: howtoforge

Elgg:

Username: admin Password: howtoforge

MySQL:

Username: root Password: howtoforge

и

Username: elgg Password: howtoforge

IP образа по умолчанию: 192.168.1.100 (меняется в /etc/netplan/01-netcfg.yaml). Обязательно смените все пароли и выполните базовую настройку безопасности.

Резервное копирование и восстановление (краткий runbook)

  • Резервируйте файлы сайта (/var/www/html/elgg/) и каталог данных (/var/www/html/elgg/data).
  • Резервируйте дамп базы данных MariaDB: mysqldump –single-transaction -u root -p elggdb > elggdb.sql
  • Проверьте целостность резервных копий и периодически тестируйте восстановление на стенде.

Пример восстановления базы:

mysql -u root -p elggdb < elggdb.sql

Файлы приложения восстановите через rsync или tar и восстановите владельца www-data.

Безопасность и жёсткое усиление сервера

  • Немедленно смените все указаные в образе и примерах пароли.
  • Ограничьте доступ к панели администратора по IP, если возможно.
  • Настройте HTTPS (Let’s Encrypt) и принудительный редирект http → https.
  • Закройте удалённый вход root в MariaDB и используйте отдельные неполномочные учётные записи для бэкапов и приложений.
  • Ограничьте права в каталоге data: www-data должен иметь права записи, но не исполняемые права для пользовательских загрузок.
  • Обновляйте PHP и модули регулярно; планируйте патчи безопасности.

Критерии приёмки

  • Веб‑интерфейс установки доступен по HTTP(S) и проходит проверку требований.
  • Установщик успешно подключается к MariaDB и создаёт необходимые таблицы.
  • Каталог /var/www/html/elgg/data доступен для записи пользователем www-data.
  • Авторизация администратора работает, и админская панель открывается.
  • SSL настроен (если требовался) и все внешние ресурсы загружаются по HTTPS.

Чеклист ролей (быстро)

Администратор сервера:

  • Установил и настроил Apache, MariaDB, PHP.
  • Настроил бэкап и обновления ОС.

Владелец сайта / контент-менеджер:

  • Создал учётную запись администратора Elgg.
  • Настроил основные параметры сайта: название, URL, политики контента.

Разработчик / интегратор:

  • Проверил разрешения файлов и настроил модуль пермалинков.
  • Настроил темы и плагины в тестовой среде.

Оператор/DevOps:

  • Настроил мониторинг (логирование Apache, доступность сервисов).
  • Настроил автозапуск сервисов и резервное копирование.

Когда Elgg может не подойти (примеры)

  • Нужна масштабируемая социальная платформа на миллионы пользователей и микросервисная архитектура — лучше рассмотреть готовые облачные решения или платформы, разработанные для большой нагрузки.
  • Требуются современные мобильные SDK и богатая экосистема плагинов под конкретный корпоративный стек — возможно, требуется платформа с коммерческой поддержкой.

Альтернативы

  • HumHub — модульная социальная платформа с современным интерфейсом.
  • BuddyPress (плагин WordPress) — если предпочтителен WordPress‑стек.
  • Discourse — если основная задача — обсуждения и форумы.

Выбор зависит от требований к масштабируемости, экосистеме плагинов и навыков команды.

Обновление Elgg и миграция

  • Перед обновлением сделайте полную резервную копию файлов и базы.
  • Проверьте сумму и целостность пакета обновления.
  • Тестируйте обновление на копии производства.
  • Учтите совместимость плагинов и темы при переходе между версиями Elgg.

Тесты и критерии приёмки (коротко)

  • Установка: мастер проходит все шаги без ошибок.
  • Пользовательские сценарии: регистрация, вход, загрузка файла, создание поста, комментарий — работают.
  • Права доступа: анонимам запрещены админские действия, роли имеют ожидаемые привилегии.

Мини‑методология развертывания (быстрый SOP)

  1. Подготовить сервер: обновление пакетов и базовая безопасность.
  2. Установить LAMP и модули PHP.
  3. Настроить MariaDB и создать базу/пользователя.
  4. Развернуть файлы Elgg и установить права.
  5. Настроить виртуальный хост и HTTPS.
  6. Пройти веб‑мастер установки и выполнить постинсталляционные настройки.
  7. Провести тестирование и настроить бэкапы.

Небольшая схема принятия решения (Mermaid)

flowchart TD
  A[Нужна соц-платформа?] --> B{Требования}
  B -->|Простая сеть, управление контентом| C[Elgg]
  B -->|Форумы/обсуждения| D[Discourse]
  B -->|Интеграция с WP| E[BuddyPress]
  B -->|Масштабность > 100k| F[Рассмотреть облачные решения]

Короткое объявление (для сайта, 100–200 слов)

Elgg установлен и готов к использованию: полностью автономная платформа для создания социальных сетей на вашем сервере. Поддерживает плагины и темы, хранит пользовательские данные локально и даёт полный контроль над контентом и политиками. В инструкции показаны все шаги: установка LAMP, настройка MariaDB, развертывание Elgg, конфигурация Apache, постинсталляционная безопасность и чеклисты. Подходит для университетов, сообществ и организаций, которым важна приватность и гибкость. При наличии требований к высокой нагрузке рассмотрите альтернативы и тестирование масштабирования. Готовый образ виртуальной машины упрощает демонстрацию и тестирование для подписчиков.

Ссылки

Краткое резюме

  • Elgg — хорошая self‑hosted платформа для создания соц‑сети малого и среднего масштаба.
  • Установка включает подготовку LAMP, создание базы, развертывание файлов и настройку Apache.
  • Обязательны смена паролей, настройка HTTPS и регулярные обновления.
  • Используйте чеклисты и тестирование на копии перед обновлением производственной среды.

Wichtig: смените все стандартные пароли и настройте резервное копирование сразу после установки.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро