Как легко запустить свой сайт-сообщество с помощью платформы Flarum

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

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

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

Сначала появился Telegram-канал Пароль от вайфая — канал о стиле жизни диджитал номадов и в целом об идеологии географической независимости. Затем был создан сайт pronomad.ru, агрегирующий всё полезное с канала в удобном формате. Сайт сделан в виде блога на стеке: Eleventy + Netlify + Forestry + Github. Jamstack сайты работают довольно быстро и хорошо оптимизированы под 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/

Почему выиграл 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. И получил удобную и функциональную площадку для сообщества!

Если вам на ум приходят другие стоящие площадки для создания сообществ, пишите их в комментариях!

А если интересно вписаться в тусовку экспатов и диджитал номадов, то добро пожаловать в Пароль от вайфая: Telegram или сообщество.

Источник: https://habr.com/ru/post/656761/


Интересные статьи

Интересные статьи

Меня зовут Борзов Олег, я техлид команды разработки CRM-системы для менеджеров ипотечного кредитования крупного банка. Сегодня я хочу рассказать, как наша команда разработки упрощает часть рабочих про...
Узнайте, как создать пользовательское Timber Tree для проверки вывода журналов в модульных тестах. Мокинг Timber, тестирование журналов в модульных тестах.
Приветствую жителей Хабра! Задался тут вопросом, как можно обойтись без статического IP для экспериментов в домашних условиях. Наткнулся на вот эту статью. Если вы хотите развернуть...
Те, кто знает Python, могут делать поистине удивительные вещи, например, создавать арт-объекты и игры и красивые карты, полнотекстовую поисковую машину и систему распозна...
Сервисное обслуживание оборудования — тяжелый бизнес, и мы в полной мере ощутили это, управляя компанией с 700 мобильными сотрудниками и 1 500 объектами обслуживания в России и странах СНГ. Работ...