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

Установка Friendica на Debian 10

• 5 min read • Инструкции • Обновлено 21 Nov 2025
Установка Friendica на Debian 10
Установка Friendica на Debian 10

Что такое Friendica

Friendica — свободная, с открытым исходным кодом и децентрализованная платформа для социальных сетей. Она позволяет агрегировать RSS/Atom‑ленты, поддерживает протоколы ActivityPub, Mastodon, OStatus, Funkwhale, Pleroma и diaspora*, и может публиковать контент в Libertree, WordPress и Tumblr. Коротко: Friendica даёт гибкость для создания собственной социальной сети или сообщества.

Основные варианты использования

  • Своя приватная социальная сеть для команды или сообщества.
  • Публикация и кросспостинг в разные платформы.
  • Аггрегация блогов и сайтов в единый поток.

Предварительные требования

  • Сервер под управлением Debian 10 (Buster).
  • Доступ root или пользователь с правами sudo и настроенным паролем root.
  • Доменное имя, указывающее на сервер (для получения SSL и корректной работы федерации).

Важно: в примерах ниже используется домен friendica.linuxbuz.com — замените на свой.

Шаг 1 — Обновление системы

Обновите пакеты и перезагрузите сервер, если это необходимо:

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

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

reboot

Шаг 2 — Установка LAMP и PHP‑зависимостей

Friendica работает на Apache + PHP и использует MariaDB (или MySQL). Установите необходимые пакеты:

apt-get install apache2 mariadb-server php php-cli libapache2-mod-php php-common php-gmp php-curl php-intl php-mbstring php-xmlrpc php-mysql php-gd php-imagick php-xml php-cli php-zip php-sqlite3 unzip git curl -y

После установки отредактируйте файл php.ini для Apache:

nano /etc/php/7.3/apache2/php.ini

Измените (подберите значения под вашу систему):

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

Примечание: timezone укажите ваш (например Europe/Moscow). Синтаксис — как в базе PHP: https://www.php.net/manual/ru/timezones.php.

Сохраните и перезапустите Apache:

systemctl restart apache2

Шаг 3 — Настройка MariaDB

По умолчанию root‑пароль в MariaDB может не быть задан. Запустите клиент:

mysql

Внутри консоли выполните установку пароля и смену плагина аутентификации, если требуется (замените “newpassword”):

SET PASSWORD FOR 'root'@'localhost' = PASSWORD("newpassword");
SET GLOBAL innodb_fast_shutdown = 0;
UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE User = 'root';
FLUSH PRIVILEGES;
EXIT;

Затем войдите заново с паролем и создайте базу и пользователя для Friendica (замените пароль):

mysql -u root -p
CREATE DATABASE friendicadb;
CREATE USER 'friendica'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON friendicadb.* TO 'friendica'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

Совет: используйте надёжный пароль и храните его в менеджере паролей.

Шаг 4 — Загрузка Friendica и аддонов

Перейдите в веб‑документ‑рут и скачайте релиз Friendica (пример из источника):

cd /var/www/html
wget https://github.com/friendica/friendica/files/2061623/friendica-full-2018.05.tar.gz

Распакуйте, переименуйте и перейдите в каталог:

tar -xvzf friendica-full-2018.05.tar.gz
mv friendica-full-2018.05 friendica
cd friendica

Скачайте аддоны и распакуйте их:

wget https://github.com/friendica/friendica-addons/archive/2018.05.tar.gz
tar -xvzf 2018.05.tar.gz
mv friendica-addons-2018.05 addon

Установите права владельца и прав на каталог:

chown -R www-data:www-data /var/www/html/friendica
chmod -R 775 /var/www/html/friendica

Если вы используете другой документ‑рут или другого пользователя Apache — подстройте команды.

Шаг 5 — Конфигурация Apache

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

nano /etc/apache2/sites-available/friendica.conf

Вставьте (замените ServerName и ServerAdmin):


     ServerAdmin [email protected]
     DocumentRoot /var/www/html/friendica
     ServerName friendica.linuxbuz.com

     
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
     

     ErrorLog ${APACHE_LOG_DIR}/friendica_error.log
     CustomLog ${APACHE_LOG_DIR}/friendica_access.log combined

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

a2ensite friendica
a2enmod rewrite
systemctl restart apache2

Важно: AllowOverride All нужен для корректной работы .htaccess, который Friendica использует для дружелюбных URL.

Шаг 6 — Защита сайта через Let’s Encrypt (Certbot)

Рекомендуется включить HTTPS. Установите certbot из backports:

echo "deb http://ftp.debian.org/debian buster-backports main" >> /etc/apt/sources.list
apt-get update -y
apt-get install python3-certbot-apache -t buster-backports -y

Запустите certbot для вашего домена:

certbot --apache -d friendica.linuxbuz.com

Во время процесса вам предложат ввести email и выбрать, нужно ли переадресовывать HTTP → HTTPS. Для новых сайтов рекомендуется выбирать переадресацию.

Пример итоговых заметок certbot (включая путь к сертификатам и напоминание о renew):

Your certificate and chain have been saved at:
/etc/letsencrypt/live/friendica.linuxbuz.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/friendica.linuxbuz.com/privkey.pem

Примечание: в примере сертификат истекает 2020-04-30 — это было в исходном руководстве. У вас путь и дата будут другими.

Шаг 7 — Доступ к веб‑интерфейсу Friendica

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

https://friendica.linuxbuz.com

Вы увидите страницу установки. Пройдите шаги установки, укажите данные базы, email, часовой пояс и язык.

Страница установки Friendica: проверка требований и кнопка «Next»

На странице настройки укажите параметры базы данных и нажмите Submit.

Форма ввода данных базы данных Friendica

Укажите почту, часовой пояс и язык.

Форма выбора почты, часового пояса и языка

Далее переходите к регистрации аккаунта и входу.

Страница регистрации в Friendica

Регистрационная форма Friendica (email и пароль)

Форма входа в Friendica

После входа вы попадёте на панель управления.

Дашборд Friendica после успешного входа

Проверка и базовое отладка

  • Проверьте журналы Apache при ошибках: /var/log/apache2/*.log
  • Проверьте права на файлы: каталоги должны принадлежать www-data.
  • Если возникают ошибки подключения к БД, убедитесь в правильности пользователя и пароля, а также в том, что MariaDB работает.

Безопасность и эксплуатация (важно)

  • Настройте автоматическое обновление сертификатов: certbot renew обычно добавляет systemd‑таймер; проверьте systemctl list-timers.
  • Регулярно обновляйте систему и PHP‑пакеты.
  • Сделайте резервную копию каталога /var/www/html/friendica и базы данных (mysqldump).
  • Отключите ненужные модули Apache и PHP.

Альтернативы и когда Friendica не подходит

  • Если вам нужна только крупная публичная сеть с высокой нагрузкой, проще взять специализированные платформы (Mastodon, Hubzilla) с проверенной масштабируемостью.
  • Friendica хорош для федерации и гибкости, но требует администрирования сервера и внимательной настройки безопасности.

Шаблон резервного плана (мини‑SOP)

  1. Создать дамп базы: mysqldump -u root -p friendicadb > friendicadb.sql.
  2. Архивировать файлы: tar -czf friendica-www-$(date +%F).tar.gz /var/www/html/friendica.
  3. Хранить резервные копии вне сервера (S3, NFS, внешний диск).
  4. Тестировать восстановление на тестовом сервере.

Чек‑лист для ролей

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

  • Проверил обновления и установил LAMP.
  • Настроил права доступа и бэкапы.

Администратор приложения:

  • Прописал параметры БД в установщике Friendica.
  • Подключил SSL и проверил переадресацию.

Оператор безопасности:

  • Настроил мониторинг (журналы, свободное место, certbot renew).
  • Проверил конфигурацию PHP на предмет upload_max_filesize и memory_limit.

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

  • Сайт открывается по HTTPS без ошибок сертификата.
  • Успешная регистрация и вход в аккаунт.
  • Успешное подключение к базе данных через указанные креденшалы.
  • Файлы имеют владельца www-data и корректные права.

Частые проблемы и решения

Проблема: 500 Internal Server Error после установки. Решение:

  • Посмотреть /var/log/apache2/error.log.
  • Проверить права на файлы и owner.
  • Убедиться, что модуль PHP загружен и версия совместима.

Проблема: Certbot не может верифицировать домен. Решение:

  • Проверьте A/AAAA‑запись домена.
  • Убедитесь, что порт 80 открыт и virtualhost отвечает на ваш домен.

Миграция и совместимость

  • При переносе на другой сервер переносите базу и каталог friendica. Проверьте версию PHP и установленные расширения.
  • Перед крупным апгрейдом делайте тестовую миграцию и бэкап.

Короткое руководство по безопасности (hardening)

  • Отдельный пользователь и права доступа для файлов.
  • Ограничение доступа к /admin и панели управления по IP, если возможно.
  • Регулярные обновления ОС и PHP.
  • Web Application Firewall (например, ModSecurity) при высокой нагрузке.

Резюме

Friendica — гибкое решение для построения собственной федеративной социальной сети. Установка на Debian 10 включает стандартные шаги: LAMP, база данных, конфигурация Apache и SSL. После первичной настройки проверьте права, включите бэкапы и следите за обновлениями.

Важно: заменяйте в командах примерные домены, имена и пароли на ваши реальные значения.


Если нужно, могу дать готовый файл конфигурации виртуального хоста с включённым HTTPS или пример скрипта резервного копирования и восстановления.

Поделиться: 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 быстро