Simple forum software for building great communities.

Overview

Build Status Total Downloads Latest Stable Version License

About Flarum

Flarum is a delightfully simple discussion platform for your website. It's fast and easy to use, with all the features you need to run a successful community. It is designed to be:

  • Fast and simple. No clutter, no bloat, no complex dependencies. Flarum is built with PHP so it’s quick and easy to deploy. The interface is powered by Mithril, a performant JavaScript framework with a tiny footprint.

  • Beautiful and responsive. This is forum software for humans. Flarum is carefully designed to be consistent and intuitive across platforms, out-of-the-box.

  • Powerful and extensible. Customize, extend, and integrate Flarum to suit your community. Flarum’s architecture is amazingly flexible, with a powerful Extension API.

screenshot

Installation

You must have SSH access to a server with PHP 7.3+ and MySQL 5.6+ or MariaDB 10.0.5+, and install Composer.

composer create-project flarum/flarum . --stability=beta

Read the Installation guide for more information. For support, refer to the documentation, and ask questions on the community forum or Discord chat.

Contributing

Thank you for considering contributing to Flarum! Please read the Contributing guide to learn how you can help.

This repository only holds the Flarum skeleton application. Most development happens in flarum/core.

Security Vulnerabilities

If you discover a security vulnerability within Flarum, please send an e-mail to [email protected]. All security vulnerabilities will be promptly addressed.

License

Flarum is open-source software licensed under the MIT License.

Comments
  • [proof of concept] run composer install without the need of ssh access

    [proof of concept] run composer install without the need of ssh access

    process:

    • checks for vendor/autoload.php, if it does not exist:
    • if scripts/composer.phar does not exist, will try to download the latest if allow_url_fopen is true
    • will extract the composer.phar to tmp and require the tmp/composer/vendor/autoload.php to run composer install with some arguments

    todo:

    • remove tmp directory
    • refresh page once composer is finished
    • test exact memory limit

    drawbacks:

    • added in index.php because no vendor folder exists and dependencies on classes will fail, so we need to do the process of extract composer.phar
    • needs a higher memory limit; code will set this to -1 (unlimited for now, might need testing)
    • needs composer.phar in scripts or the ability to download it
    • every action needs write access, assumed to be allowed for php process
    • a manual refresh of the page is needed to continue installation after composer did its job
    • installation of/by composer takes a very long time, the user has no feedback at all

    Adopted code can be added to flarum core to enable auto updating :smile:

    opened by luceos 12
  • added optimized htaccess rules

    added optimized htaccess rules

    Helps with https://github.com/flarum/core/issues/514

    This is an optimized htaccess from work. A.o. it will also provide a A+ rating with SSLLabs if SSL is being used.

    opened by luceos 8
  • Add IIS config for easier windows setup

    Add IIS config for easier windows setup

    Fixes https://github.com/flarum/core/issues/2286

    Add a web.config file to the public directory would do the same thing for IIS that .htaccess does for Apache in regards to automatically setting up the rewrite rules. I believe that this would drastically reduce the number of users having a hard time with IIS.

    (HUGE thanks to https://discuss.flarum.org/d/24573-newbie-installation-guide-windows-w-plesk for the initial work on this, all credit goes to AntVincent, @katosdev and phenomlabs on the forums)

    opened by tankerkiller125 6
  • nginx rule to prevent access to sensitive files

    nginx rule to prevent access to sensitive files

    Add a suggested rule that does the same as the suggested rule in .htaccess.

    This is the rule I've been using in production on my sites that are not using a public folder.

    We should also update the documentation to suggest un-commentating those lines, just like we do for Apache.

    opened by clarkwinkelmann 5
  • kom/update-readme-file Fix wrong readme repo names

    kom/update-readme-file Fix wrong readme repo names

    Fix wrong repository names in readme file and removed travis.

    Necessity

    • [ ] Has the problem that is being solved here been clearly explained?
    • [ ] If applicable, have various options for solving this problem been considered?
    • [ ] For core PRs, does this need to be in core, or could it be in an extension?
    • [ ] Are we willing to maintain this for years / potentially forever?

    Confirmed

    • [ ] Frontend changes: tested on a local Flarum installation.
    • [ ] Backend changes: tests are green (run composer test).
    • [ ] Core developer confirmed locally this works as intended.
    • [ ] Tests have been added, or are not appropriate here.

    Required changes:

    • [ ] Related documentation PR: (Remove if irrelevant)
    • [ ] Related core extension PRs: (Remove if irrelevant)
    opened by komandar 3
  • Adding support for apache 2.4

    Adding support for apache 2.4

    Using mod_access_compat is depricated and may cause problems on some systems. It's replaced with mod_authz_host

    http://httpd.apache.org/docs/2.4/mod/mod_access_compat.html "The directives provided by mod_access_compat have been deprecated by the new authz refactoring. Please see mod_authz_host."

    opened by terokorp 3
  • docs: link logo at the top with the official website

    docs: link logo at the top with the official website

    Fixes [N/A]

    Changes proposed in this pull request: When I was reading README.md, I clicked the logo and I expected it to go to the official website https://flarum.org/ but it didn't. So, the image is being linked to the official website in this commit.

    Reviewers should focus on: N/A

    Screenshot N/A

    Necessity

    • [x] N/A

    Confirmed

    • [x] N/A

    Required changes:

    • [x] N/A
    opened by soobinrho 2
  • Update readme.md

    Update readme.md

    Hi, I'm making updates for Open Collective. Either you or a supporter signed this repo up for Open Collective. This pull request adds backers and sponsors from your Open Collective https://opencollective.com/flarum❤️

    It adds two badges at the top to show the latest number of backers and sponsors. It also adds placeholders so that the avatar/logo of new backers/sponsors can automatically be shown without having to update your README.md. more info. See how it looks on this repo.

    You can also add a postinstall script to let people know after npm|yarn install that you are welcoming donations (optional). More info You can also add a "Donate" button to your website and automatically show your backers and sponsors there with our widgets. Have a look here: https://opencollective.com/widgets

    P.S: As with any pull request, feel free to comment or suggest changes. The only thing "required" are the placeholders on the README because we believe it's important to acknowledge the people in your community that are contributing (financially or with code!).

    Thank you for your great contribution to the open source community. You are awesome! 🙌 And welcome to the open collective community! 😊

    Come chat with us in the #opensource channel on https://slack.opencollective.com - great place to ask questions and share best practices with other open source sustainers!

    opened by monkeywithacupcake 2
  • Fixed Node JS install

    Fixed Node JS install

    Restored original Vaprobash's script for Node JS install.

    The current script run this: https://github.com/franzliedke/Vaprobash/blob/patch-1/scripts/nodejs.sh#L48 but the response of "https://nodejs.org" request is:

    <html>
    <head><title>302 Found</title></head>
    <body bgcolor="white">
    <center><h1>302 Found</h1></center>
    <hr><center>nginx</center>
    </body>
    </html>
    
    opened by billmn 2
Releases(v1.6.0)
  • v1.6.0(Nov 15, 2022)

  • v1.5.0(Sep 13, 2022)

    Changed

    • Update copyright [#85]
    • Link logo to official website [#84]

    Full changelog: https://github.com/flarum/framework/blob/main/CHANGELOG.md#v150

    Source code(tar.gz)
    Source code(zip)
  • v1.4.0(Jul 13, 2022)

  • v1.3.0(May 16, 2022)

  • v1.2.0(Jan 20, 2022)

  • v1.0.0(May 27, 2021)

  • v0.1.0-beta.16(Mar 15, 2021)

    0.1.0-beta.16

    Changed

    • Remove list of developers and refer to https://flarum.org/team (https://github.com/flarum/flarum/pull/71)

    Fixed

    • Missing image on README.md (https://github.com/flarum/flarum/pull/72)
    Source code(tar.gz)
    Source code(zip)
  • v0.1.0-beta.14(Oct 20, 2020)

    Added

    • Nginx rules to prevent access to sensitive files (#65)
    • IIS configuration added (#66)

    Changed

    • Minimum PHP requirement is now 7.2+

    Fixed

    • Logo path in readme didn't resolve correctly (#68)
    • Removed
    • Social auth drivers removed (#67)
    Source code(tar.gz)
    Source code(zip)
  • v0.1.0-beta.13(May 6, 2020)

  • v0.1.0-beta.12(Mar 4, 2020)

  • v0.1.0-beta.11(Nov 28, 2019)

  • v0.1.0-beta.10(Sep 16, 2019)

  • v0.1.0-beta.9(Jul 5, 2019)

  • v0.1.0-beta.8(Nov 29, 2018)

  • v0.1.0-beta.7(Jul 22, 2017)

    Fixed

    • Fix workaround for HTTPoxy vulnerability.
    • Deny access to composer files and git directories in Apache config. (@Luceos)
    • Fixes for Vaprobash environment. (@Strobotti)
    Source code(tar.gz)
    Source code(zip)
  • v0.1.0-beta.6(Oct 19, 2016)

  • v0.1.0-beta.5(Mar 29, 2016)

    Changed

    • Use new extension package names (with flarum-ext- prefix).
    • Update to Vaprobash 1.4.2.
    • Use sensible version constraint for Studio.

    Removed

    • extensions directory and dependency on flarum/composer-installer. Extensions are now installed into the vendor directory like other Composer packages.
    • Unused build.sh script.
    Source code(tar.gz)
    Source code(zip)
  • v0.1.0-beta.4(Nov 25, 2015)

  • v0.1.0-beta.3(Nov 2, 2015)

  • v0.1.0-beta.2(Sep 15, 2015)

    Added

    • Check prerequisites (PHP version, extensions, etc.) before installation (#364)
    • Enforce maximum title and post length through validation (#53, #338)
    • Ctrl+Enter submits posts (#276)
    • Syntax highlighting for code blocks (#248)
    • All links open in new window, receive rel=nofollow attribute (#247)
    • Default build script for extensions (#438)
    • Input validation in installer

    Changed

    • Ask for admin password confirmation in installer (#405)
    • Increased some text contrasts for accessibility (#390)

    Fixed

    • Discussion list did not work with non-empty database prefix (#269, #380)
    • Non-admins could not reset their password (#229)
    • Requests ending with a slash resulted in a 404 (#334)
    • In rare cases, posts did not load correctly (#295)
    • Avatars did not show up when installed in a subfolder (#291)
    • Installer crashed when views directory was not writable (#376)
    • Table prefix could not be set in web installer (#269)
    • Enabling an extension disabled all other extensions (#402)
    • Invalid custom CSS could crash the application (#400)
    • First posts could not be restored or deleted
    • Several design bugs
    • Set cookies to be HTTP-only
    • Tags: Sometimes, tags could not be dragged for reordering in the admin panel (#341)
    • Suspend: Use correct column name in when migrating database
    • Lock: Check for correct permission when displaying lock control
    • Likes: Allow liking permissions to be configured
    Source code(tar.gz)
    Source code(zip)
  • v0.1.0-beta(Aug 27, 2015)

Owner
Flarum
Simple forum software for building great communities.
Flarum
PHPDish is a powerful forum system written in PHP. It is based on the Symfony PHP Framework.

PHPDish 是一个基于Symfony框架开发的内容社区系统;得益于大量的前端以及后端的第三方类库的使用使得PHPDish有着高质量的代码,敏捷实现; 你可以使用composer或者直接下载本仓库进行程序的安装,注意切换到tag。

PHPDISH 227 Dec 8, 2022
A slim, lean forum package designed for quick and easy integration in Laravel projects

Complete documentation is available on teamteatime.net. Installation Requires Laravel 6+ and PHP 7.4+. Step 1: Install the package Install the package

TeamTeaTime 486 Dec 31, 2022
Bolt CMS is an open source, adaptable platform for building and running modern websites.

Bolt CMS is an open source, adaptable platform for building and running modern websites. Built on PHP, Symfony and more. Read the site for more info.

Bolt 437 Jan 4, 2023
🚀Bolt CMS is an open source, adaptable platform for building and running modern websites

??Bolt CMS is an open source, adaptable platform for building and running modern websites

Bolt 32 Dec 3, 2022
Statamic 3 - the flat-first, Laravel + Git powered CMS designed for building beautiful, easy to manage websites

Statamic 3 - the flat-first, Laravel + Git powered CMS designed for building beautiful, easy to manage websites

Statamic 600 Jan 4, 2023
Gitamin is an open source git repository management software built with the Laravel PHP Framework.

Gitamin(pronounced /ˈgɪtəmɪn/, inspired by Vitamin) is an open source git repository management software built with the Laravel PHP Framework.

Gitamin 347 Sep 20, 2022
Scriptlog is a free and an open source PHP blog software.

Scriptlog is a free and an open source PHP blog software. We're refactoring our legacy weblog code. Making it more simple, secure, modular, fast and robust personal blogging system. Scriptlog runs on PHP 5.6 or higher and uses MySQL.

M.Noermoehammad 7 Sep 12, 2022
Elefant, the refreshingly simple PHP CMS and web framework.

Elefant is a refreshingly simple PHP content management system and web framework. Elefant is a fast, lean tool for building everything from simple websites to complete web applications.

Aband*nthecar 200 Dec 22, 2022
A Simple and Lightweight WordPress Option Framework for Themes and Plugins

A Simple and Lightweight WordPress Option Framework for Themes and Plugins. Built in Object Oriented Programming paradigm with high number of custom fields and tons of options. Allows you to bring custom admin, metabox, taxonomy and customize settings to all of your pages, posts and categories. It's highly modern and advanced framework.

Codestar 241 Dec 23, 2022
A simple video station based on PHP and MySQL.

Simple-PHP-Video-Station 一个简单的、基于 PHP 和 MySQL 的视频点播站。 A simple video station based on PHP and MySQL. 特点 仅 655K 主体文件和 3 张数据表 前后端分离 支持 pjax 无刷适配 使用 DPla

HIMlaoS_Misa 9 Dec 27, 2022
Simple PHP shop CMS based on Laravel 5.1

LaraShop LaraShop is a simple SHOP CMS based on Laravel framework. Temporarily available at russian language, in planned english. Screenshots Features

ZENLIX 73 Dec 20, 2021
A PHP Blogging Platform. Simple and Powerful.

Typecho Blogging Platform Typecho is a PHP Blogging Platform. Simple and Powerful.

Typecho Dev Team 9.6k Jan 1, 2023
BookStack is an opinionated wiki system that provides a pleasant and simple out of the box experience.

BookStack is an opinionated wiki system that provides a pleasant and simple out of the box experience. New users to an instance should find the experience intuitive and only basic word-processing skills should be required to get involved in creating content on BookStack. The platform should provide advanced power features to those that desire it but they should not interfere with the core simple user experience.

BookStackApp 10.6k Jan 2, 2023
REDAXO, a PHP-based CMS since 2004. Both simple and flexible.

?? Deutsch Content Management since 2004. Both simple and flexible. REDAXO provides you an easy-to-learn website framework. It lets you create content

REDAXO CMS c/o Yakamara Media GmbH & Co. KG 302 Jan 8, 2023
YesWiki is a wiki system written in PHP, including extensions making collaboration more simple (databases, maps, easy editing, bootstrap themes,...).

YesWiki YesWiki is a Free Software under the AGPL licence, made for creating and managing your website, in a collaborative way. YesWiki allows any web

YesWiki 84 Dec 26, 2022
Simple analyse the traffic of your OctoberCMS-based website without relying on an external service.

Simple Analytics for OctoberCMS Simple analyse the traffic of your website without relying on an external service. The simple version of this plugin (

Synder.DEV 5 Sep 12, 2021
A simple SPA blog applications built with Laravel 8, Vue 3 and Inertia JS.

TechPost - SPA Blog A single page blog application, built with Laravel 8, Vue 3 and Inertia JS TechPost is a minimalistic single page blog application

FariazKhan 5 Jul 23, 2022
Simple Bootstrap Laravel CMS. Support Laravel 8.x Can integrate into any existing Laravel project.

Simple Bootstrap Laravel CMS. Support Laravel 8.x Can integrate into any existing Laravel project. Only add few database tables with prefixes, not affect your existing database tables. Support Laravel 7.x & Laravel 6.x & Laravel 5.x & MySql & PostgreSql - Amila Laravel CMS

Alex Zeng 96 Sep 6, 2022
Simple Content Management System (CMS) Blog Using Codeigniter with Hierarchical Model View Controller (HMVC) Architectural

Simple Content Management System (CMS) Blog Using Codeigniter with Hierarchical Model View Controller (HMVC) Architectural This is my source code trai

Simon Montaño 1 Oct 28, 2021