В этой статье хочу рассказать почему мне понадобилась платформа для сообщества, какие варианты реализации я нашел и за что выбрал именно Flarum. Также в статье есть пошаговая инструкция для новичков по установке платформы Flarum на свой хостинг.
Зачем нужна площадка для сообщества
Сначала появился Telegram-канал Пароль от вайфая — канал о стиле жизни диджитал номадов и в целом об идеологии географической независимости. Затем был создан сайт pronomad.ru, агрегирующий всё полезное с канала в удобном формате. Сайт сделан на блоггинг-платформе Ghost, которая работает довольно быстро и хорошо оптимизирована под SEO, поэтому хотелось чего-то подобного и для платформы для сообщества.
Со временем появилась явная нужда в обсуждениях, вопросах, обмене опытом и поддержке. И казалось очевидным решением просто создать чат в Телеграме, и ровно половина людей из канала даже проголосовали за него. Это лишний раз подтвердило необходимость создания места, где люди могут коммуницировать между собой на тему иммиграции, налогов, быта в другой стране и прочего из топика жизни за рубежом.
Но чаты в Телеграме имеют множество минусов, и главный из них это банальное неудобство. Поэтому было решено создать данное сообщество в виде сайта с настраиваемой лентой постов и с возможностью создавать аккаунт, писать свои посты и лайкать понравившийся контент. К тому же UGC (user-generated content) это очень эффективная и малозатратная функция для SEO-продвижения.
Хотя закрытый чат тоже есть 😉
Критерии отбора и список конкурсантов
Я начал поиск существующих решений и у меня был список критериев отбора:
- Бесплатно
- Большое сообщество вокруг платформы
- Гибкость, расширяемость, кастомизация
- Минимальный кодинг
- Кастомный домен
- Хранение на своем хостинге
- Минималистично
- Создание аккаунтов пользователей
- Поиск по сайту
- Гибкая настройка разрешений
С помощью довольно придирчивого гугления я нашел следующие платформы:
- https://www.mobilize.io/
- https://peerboard.com/
- https://flarum.org/
- https://github.com/vas3k/vas3k.club
- https://join-lemmy.org/
- https://circle.so/
- https://www.habitate.io/
- https://www.forem.com/
Почему выиграл 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. И получил удобное и функциональное место для приема сообщества Пароль от вайфая😍