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

Зачем нужна площадка для сообщества

Сначала появился Telegram-канал Пароль от вайфая — канал о стиле жизни диджитал номадов и в целом об идеологии географической независимости. Затем был создан сайт pronomad.ru, агрегирующий всё полезное с канала в удобном формате. Сайт сделан на блоггинг-платформе Ghost, которая работает довольно быстро и хорошо оптимизирована под SEO, поэтому хотелось чего-то подобного и для платформы для сообщества.

Со временем появилась явная нужда в обсуждениях, вопросах, обмене опытом и поддержке. И казалось очевидным решением просто создать чат в Телеграме, и ровно половина людей из канала даже проголосовали за него. Это лишний раз подтвердило необходимость создания места, где люди могут коммуницировать между собой на тему иммиграции, налогов, быта в другой стране и прочего из топика жизни за рубежом.

Но чаты в Телеграме имеют множество минусов, и главный из них это банальное неудобство. Поэтому было решено создать данное сообщество в виде сайта с настраиваемой лентой постов и с возможностью создавать аккаунт, писать свои посты и лайкать понравившийся контент. К тому же UGC (user-generated content) это очень эффективная и малозатратная функция для SEO-продвижения.

Хотя закрытый чат тоже есть 😉

Критерии отбора и список конкурсантов

Я начал поиск существующих решений и у меня был список критериев отбора:

  • Бесплатно
  • Большое сообщество вокруг платформы
  • Гибкость, расширяемость, кастомизация
  • Минимальный кодинг
  • Кастомный домен
  • Хранение на своем хостинге
  • Минималистично
  • Создание аккаунтов пользователей
  • Поиск по сайту
  • Гибкая настройка разрешений

С помощью довольно придирчивого гугления я нашел следующие платформы:

Почему выиграл Flarum

Мой выбор сузился до Flarum и платформы Вастрика. Платформа Вастрика хороша, но без кодинга пришлось бы ограничиваться тем, что есть. В то же время на Flarum без кодинга и на одних лишь доступных расширениях я смог добавить:

  • Использование тегов
  • Систему лайков
  • Модерацию регистраций\постов
  • Локализацию
  • Счетчик просмотров
  • Систему жалоб

За счет встроенной системы разрешений можно сделать сообщество еще гибче:

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

Полный список настроек прав доступа выглядит так:

Конечно есть вещи, которых не хватает данной платформе, но их можно добавить, написав расширение. Например, я бы не отказался от следующих функций:

  • Древовидные комментарии
  • Гибкая настройка полей регистрации
  • Ачивки для конкретных постов
  • Фильтр по двум и более тегам
  • Автоматическая рассылка на основе вышедших постов
  • Разные типы постов: ивент, вакансия и тп.

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

Как установить Flarum

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

Итак, что я сделал:

1. Купил хостинг, проверил, что соответствует требованиям: версии PHP, MySQL, присутствуют модули (curl, dom, gd and etc) и что есть есть доступ по SSH

2. Создал на хостинге заготовку под сайт и выбрал для него версию PHP 7.3

3. Подключился к серверу по SSH через PuTTY (доступы взял из личного кабинета хостинга)

4. Подготовил переменные до файла php:

PHP_PATH=/opt/php/*ваша_версия*/bin

PHP=$PHP_PATH/php

5. Создал папку bin в корне, в которую буду устанавливать Composer, и перешел в нее:

mkdir -p bin

cd bin

6. Дальше скачал и установил Composer:

curl -sS <https://getcomposer.org/installer> > composer-setup.php

cd ~

$PHP bin/composer-setup.php --install-dir=bin --filename=composer

7. Создал файл .profile, чтобы запускать нужную версию php и установленный composer из командной строки по команде php:

echo "PATH=\\"$PHP_PATH:\\$PATH\\"" >> ~/.profile

echo "alias composer='$PHP *ваш_каталог*/bin/composer'" >> ~/.profile

8. Для корректного запуска утилиты по команде composer при следующем подключении к серверу добавил строки:

echo 'source ~/.profile' >> ~/.bashrc

source ~/.profile

9. Чтобы проверить правильность установки, ввожу composer. Если все сделали правильно, то видим следующее сообщение:

Готово, Composer установлен на вашем хостинге.

10. Дальше я убедился, что используется нужная версия PHP (7.3+):

php -v

11. Затем я запустил установку Flarum в корень своего каталога:

composer create-project flarum/flarum

Успешная установка завершилась следующим сообщением:

12. Перешел в основной каталог flarum и установил пакет с русской локализацией:

cd flarum

composer require flarum-lang/russian

13. Затем я установил нужные мне расширения, представленные здесь. Общая команда для их установки следующая:

composer require COMPOSER_PACKAGE_NAME

14. Следующим шагом будет подключение почтового сервера для отправки писем с сайта, например, для подтверждения регистрации. Для этого я создал почту на домене на своем хостинг-провайдере и узнал адрес SMTP-сервера.

15. Ввел данные сервера и новой почты на панели администратора, в разделе E-mail:

Отправил тестовый email — убедился, что все работает.

16. Сделал некоторые правки внешнего вида через редактирование CSS:

17. Настроил разрешения для пользователей:

18. И получил удобное и функциональное место для приема сообщества Пароль от вайфая😍

Платформа для создания сообщества