В этой статье хочу рассказать почему мне понадобилась платформа для сообщества, какие варианты реализации я нашел и за что выбрал именно Flarum. Также в статье есть пошаговая инструкция для новичков по установке данной платформы на свой хостинг.
Зачем нужна площадка для сообщества
Сначала появился Telegram-канал Пароль от вайфая — канал о стиле жизни диджитал номадов и в целом об идеологии географической независимости. Затем был создан сайт pronomad.ru, агрегирующий всё полезное с канала в удобном формате. Сайт сделан в виде блога на стеке: Eleventy + Netlify + Forestry + Github. Jamstack сайты работают довольно быстро и хорошо оптимизированы под SEO, поэтому хотелось чего-то подобного и для платформы для сообщества.
Со временем появилась явная нужда в обсуждениях, вопросах, обмене опытом и поддержке. И казалось очевидным решением просто создать чат в Телеграме, и ровно половина людей из канала даже проголосовали за него. Это лишний раз подтвердило необходимость создания места, где люди могут коммуницировать между собой на тему иммиграции, налогов, быта в другой стране и прочего из топика жизни за рубежом.
Но чаты в Телеграме имеют множество минусов, и главный из них это банальное неудобство. Поэтому было решено создать данное сообщество в виде сайта с настраиваемой лентой постов и с возможностью создавать аккаунт, писать свои посты и лайкать понравившийся контент. К тому же UGC (user-generated content) это очень эффективная и малозатратная функция для SEO-продвижения.
Критерии отбора и список конкурсантов
Я начал поиск существующих решений и у меня был список критериев отбора:
Бесплатно
Большое сообщество вокруг платформы
Гибкость, расширяемость, кастомизация
Минимальный кодинг
Кастомный домен
Хранение на своем хостинге
Минималистично
Создание аккаунтов пользователей
Поиск по сайту
Гибкая настройка разрешений
С помощью довольно придирчивого гугления я нашел следующие платформы:
Почему выиграл Flarum
Мой выбор сузился до Flarum и платформы Вастрика. Платформа Вастрика хороша, но без кодинга пришлось бы ограничиваться тем, что есть. В то же время на Flarum без кодинга и на одних лишь доступных расширениях я смог добавить:
Использование тегов
Систему лайков
Модерацию регистраций\постов
Локализацию
Счетчик просмотров
Систему жалоб
За счет встроенной системы разрешений можно сделать сообщество еще гибче:
Распределение пользователей на группы с разными правами
Теги с ограниченным доступом по группам
Полностью закрытое сообщество только для авторизованных пользователей
Настройка модерации контента и т.д.
Полный список настроек прав доступа выглядит так:
Конечно есть вещи, которых не хватает данной платформе, но их можно добавить, написав расширение. Например, я бы не отказался от следующих функций:
Древовидные комментарии
Гибкая настройка полей регистрации
Ачивки для конкретных постов
Фильтр по двум и более тегам
Автоматическая рассылка на основе вышедших постов
Разные типы постов: ивент, вакансия и тп.
Возможно что-то из этого уже реализовано в составе какого-то из расширений, но их слишком много чтобы перепробовать все.
Как установить Flarum
У Flarum есть очень подробная инструкция по установке платформы, но для человека, который на Вы с программированием, она может показаться отпугивающей и доступной только опытным разработчикам. Поэтому я решил создать свою пошаговую инструкцию и показать, что Flarum может запросто установить кто угодно.
Итак, что я сделал:
Купил хостинг, проверил, что соответствует требованиям: версии PHP, MySQL, присутствуют модули (curl, dom, gd and etc) и что есть есть доступ по SSH
Создал на хостинге заготовку под сайт и выбрал для него версию PHP 7.3
Подключился к серверу по SSH через PuTTY (доступы взял из личного кабинета хостинга)
Подготовил переменные до файла php:
PHP_PATH=/opt/php/*ваша_версия*/bin PHP=$PHP_PATH/php
Создал папку bin в корне, в которую буду устанавливать Composer, и перешел в нее:
mkdir -p bin cd bin
Дальше скачал и установил Composer:
curl -sS <https://getcomposer.org/installer> > composer-setup.php cd ~ $PHP bin/composer-setup.php --install-dir=bin --filename=composer
Создал файл .profile, чтобы запускать нужную версию php и установленный composer из командной строки по команде php:
echo "PATH=\\"$PHP_PATH:\\$PATH\\"" >> ~/.profile echo "alias composer='$PHP ваш_каталог/bin/composer'" >> ~/.profile
Для корректного запуска утилиты по команде composer при следующем подключении к серверу добавил строки:
echo 'source ~/.profile' >> ~/.bashrc source ~/.profile
Чтобы проверить правильность установки, ввожу
composer
. Если все сделали правильно, то видим следующее сообщение:Готово, Composer установлен на вашем хостинге.
Дальше я убедился, что используется нужная версия PHP (7.3+):
php -v
Затем я запустил установку Flarum в корень своего каталога:
composer create-project flarum/flarum
Успешная установка завершилась следующим сообщением:
Перешел в основной каталог flarum и установил пакет с русской локализацией:
cd flarum composer require flarum-lang/russian
Затем я установил нужные мне расширения, представленные здесь. Общая команда для их установки следующая:
composer require COMPOSER_PACKAGE_NAME
Следующим шагом будет подключение почтового сервера для отправки писем с сайта, например, для подтверждения регистрации. Для этого я создал почту на домене на своем хостинг-провайдере и узнал адрес SMTP-сервера.
Ввел данные сервера и новой почты на панели администратора, в разделе E-mail:
Отправил тестовый email — убедился, что все работает.
Сделал некоторые правки внешнего вида через редактирование CSS:
Настроил разрешения для пользователей:
И получил удобную и функциональную площадку для сообщества!
Если вам на ум приходят другие стоящие площадки для создания сообществ, пишите их в комментариях!
А если интересно вписаться в тусовку экспатов и диджитал номадов, то добро пожаловать в Пароль от вайфая: Telegram или сообщество.