{"id":14273,"url":"\/distributions\/14273\/click?bit=1&hash=820b8263d671ab6655e501acd951cbc8b9f5e0cc8bbf6a21ebfe51432dc9b2de","title":"\u0416\u0438\u0437\u043d\u044c \u043f\u043e \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0435 \u2014 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0442\u0440\u0435\u043d\u0434\u044b \u0440\u044b\u043d\u043a\u0430 \u043d\u0435\u0434\u0432\u0438\u0436\u0438\u043c\u043e\u0441\u0442\u0438","buttonText":"","imageUuid":""}

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

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

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

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

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

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

0
23 комментария
Написать комментарий...
Василий Янчук

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

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

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

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

Ответить
Развернуть ветку
Artem Nomad
Автор

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

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

Ответить
Развернуть ветку
Василий Янчук

Благодарю за ответ 👍 в скором времени попробую установить и поковырять на предмет seo-оптимизации

Ответить
Развернуть ветку
Valeratal Val

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

Ответить
Развернуть ветку
Андрей Сергеев

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

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

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

Ответить
Развернуть ветку
Valeratal Val

Без программирования можно просто вордпресс поставить (он где-то ставится прямо из панели хостера). И не надо делать себе мозги про путти, версии пыха, лазить в консоли и тд и тп

Ответить
Развернуть ветку
Андрей Сергеев

Я бы не стал сравнивать WordPress и Flarum: это разные продукты — по крайней мере, «из коробки».

Ответить
Развернуть ветку
Кремлебот

Вот тоже не понял в чем преимущество? Вордпресс ставится на раз-два

Ответить
Развернуть ветку
Андрей Сергеев

И он «из коробки» может то, что может Flarum?

Ответить
Развернуть ветку
Кремлебот

А что он не может, что может Flarum?

Ответить
Развернуть ветку
Андрей Сергеев

Странная манера отвечать вопросом на вопрос.

Ответить
Развернуть ветку
Кремлебот

Вы либо объясните, либо проходите мимо

Ответить
Развернуть ветку
Андрей Сергеев

Не надо хамить. Flarum — это софт для, очень условно, форумов и нужд завязанных на подобные средства комьюнити, а WordPress — всё же платформа для ведения блога (опять же, это очень условно).

Ответить
Развернуть ветку
Кремлебот

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

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

Ответить
Развернуть ветку
Андрей Сергеев

Как «так» разговаривать? Вы ответили в явно хамской манере «либо проходите мимо» и надеетесь, что это придаст дискуссии хороший тон?

Да, порог вхождения в WordPress ниже, но и усреднённое качество экосистемы этого софта, на мой взгляд, ниже. Один plugin hell, если можно так выразиться, стоит очень многого и порождает большие проблемы с безопасностью.

Ответить
Развернуть ветку
Кремлебот

Еще раз повторюсь, если вам что-то не нравится, то я вас не заставляю с собой общаться. Вы всегда вольны разговаривать лишь с теми, с кем хотите.

Jekyll - максимальная безопасность, но порог вхождения просто неимоверный

Ответить
Развернуть ветку
Андрей Сергеев

Никто никого не заставляет ни с кем общаться. Однако хамскую фразу «проходите мимо» в диалог ввели Вы — это неоспоримый факт.

Jekyll для форумов и (или) блога? Не overkill ли это?

Ответить
Развернуть ветку
Кремлебот

Форум будет сделать тяжело, блог проще. Достаточно сложная вещь для обычных пользователей

Ответить
Развернуть ветку
Андрей Сергеев

Полностью согласен.

Ответить
Развернуть ветку
Alexey

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

Ответить
Развернуть ветку
Artem Nomad
Автор

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

Ответить
Развернуть ветку
Артём Артёмов

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

Ответить
Развернуть ветку
Yury

C 3 до 16 пункта совсем без навыков 😂😂
Немного не в кассу заголовок статьи!

Ответить
Развернуть ветку
20 комментариев
Раскрывать всегда