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

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

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

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

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

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

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

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

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

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

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

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

Мой выбор сузился до 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. Если все сделали правильно, то видим следующее сообщение:

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

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

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

php -v

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

composer create-project flarum/flarum

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

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

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

cd flarum composer require flarum-lang/russian

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

composer require COMPOSER_PACKAGE_NAME

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

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

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

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

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

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

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

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

18. И получил удобную и функциональную площадку для сообщества.

Если вам на ум приходят другие стоящие платформы для создания сообществ, делитесь ими в комментариях.

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

1010
23 комментария

Думал будут комменты по существу, а на деле снова полусрач. У меня вопросы по движку:

1) есть ли возможность реализации мультиязычности, чтобы на форуме (не контент, а названия разделов и т.д.) смогли сидеть условно и китайцы и англичане? Плагины видел, но я так понял что они полностью меняют язык, без возможности выбора другого.

2) дружит ли движок с seo? со временем это все-таки неплохой канал для трафика. Тот же xenforo довольно дружен, но имеет несколько другой функционал

Был бы рад ответу, а то сейчас ищу что-то похожее на фларум🙂

1
Ответить

1) Да, прям из коробки можно включить переключение языка для пользователя. У себя я намеренно отключил, а так иконка будет висеть в правом углу.

2) Это хороший вопрос. Есть сео расширение, но оч поверхностное. А так я бы поднастроил некоторые вещи. Например в урле постов всегда есть число. Или по умолчанию заголовок поста в h2 (но можно сделать другой заголовок в теле поста, однако структура очевидно поедет). Но в плане скорости и мобил френдли - все ок.

1
Ответить

Угу, сейчас как никогда, актуально, использовать чужие платформы
А заголовок вводит в заблуждение, юзать путти, проверять версии пыха - это вот совсем не про "без навыков программирования"

1
Ответить

» А заголовок вводит в заблуждение, юзать путти, проверять версии пыха - это вот совсем не про "без навыков программирования"

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

Автору респект.

1
Ответить

А какие модули вы поставили?

Ответить

ой много всяких, что нужно было искал здесь - https://discuss.flarum.org/t/extensions

1
Ответить

Можно писать первую часть поста, статьи в тг канале, а чтобы прочитать вторую нужно зайти на твой сайт где уже можно дочитать ее. Будет мотивация зайти на сайт тем, кого заинтересовал контент в канале

Ответить