Установка 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, часовой пояс и язык.

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

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

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



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

Проверка и базовое отладка
- Проверьте журналы 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)
- Создать дамп базы:
mysqldump -u root -p friendicadb > friendicadb.sql. - Архивировать файлы:
tar -czf friendica-www-$(date +%F).tar.gz /var/www/html/friendica. - Хранить резервные копии вне сервера (S3, NFS, внешний диск).
- Тестировать восстановление на тестовом сервере.
Чек‑лист для ролей
Администратор сервера:
- Проверил обновления и установил 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 или пример скрипта резервного копирования и восстановления.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента