Forum Moderators: rogerd

Message Too Old, No Replies

Choosing forum software

         

graeme_p

2:44 pm on Aug 29, 2025 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



I would like to set up a forum for a very non-tech community (to provide an alternative to FB). I was thinking of using Discourse, but there are things I do not like about it. The mention of PHPbb in another discussion got me started in thinking about alternatives.

It must be easy to use, and it would help if there are modern looking themes.

Swanny007

4:21 pm on Aug 29, 2025 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



I've used phpBB since the start, 2001. I tried vBulletin at one point but stuck with phpBB. It's free, pretty stable, lack some SEO stuff. If I was starting fresh I would consider XenForo first, it looks newer than phpBB.

tangor

1:43 pm on Aug 30, 2025 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



Whatever software is chosen, just know that REAL dedication and perseverance is REQUIRED 24/7/365 and FULL ENGAGEMENT is necessary for it to work. You will have to be both seeder and follower, parent and sibling, ModGhod and player, reason and insanity. Hands off. Hands on. It is more work than you can possibly conceive until you meet reality head on. A thick skin is essential. Strength is a must to deal with fractious members (and there will be some!) Avoiding debate as a time waster. WORSE: moderating the content for topic since nothing will poison a forum more than chaos and THEN having (hopefully behind the scenes) "free speech" arguments for those that complain. WORSER: (sic) Clearing out all the self-promotion, link-building, networking BS that drives away REAL users of the forum as time wasters. WORSEREST: (sic) dealing with foreign nations who may try to dictate what can be said, reporting who said it, and having to pay "a few thousand pounds" just to be on the net. AND EVEN MORE WORSEREST!: playing whack-a-mole with all the BOTS that will swarm like flies over a fresh-dead sheep under a hot sun baking an Arizona desert.

Speaking from experience. Had a forum (Perl based) back in the day. Operated it for 10 years. At the same time I also maintained mail-lists and newsletters (also Perl) started 8 years earlier (both of which are STILL in operation) and saw diminishing returns as time marched on. FREELY admit that the topic/subject of that forum was LIMITED to a specific niche and it wasn't hard to find nearly ALL there were on planet Earth in the first few years. Time marches on and players decease, move on, or simply vanish. The mail-lists and newsletters are still going, are not WEB FACING and are real communities.

Webmasterworld is an EXCEPTIONAL example of a forum done RIGHT. Broad enough in topic to interest a wide audience, moderated with general skill and consideration, maintained by a small tight-knit group, and helmed by a fairly smart cookie who keeps an eye on things. Also knows what's important (the discussion and community) and not bells and whistles and pretty shiny objects. A Jack Webb mindset that works quite well: "Just the facts, ma'am!"

Having said all the above, a forum can be quite exciting, particularly one that is active (12-120 posts per DAY). One can get lost, found, elevated, deflated, laughing, weeping, post by post. If one is built for the trials and hard work this is great adventure. It can also get older'n dirt in a heartbeat as the same-old-same-old gets hashed over Monday to Sunday, month after month, year after year.

I'm glad I did it. Equally glad I got out when UGC and all that other stuff began to get in the way. FORUMS are extremely useful, can be community builders, retain users and repeat visitors, create a brand. These are the good things. Just know that for every good there is a bad and it is how YOU (meaning whoever wants to take this path) can deal with the stress and joy.

Most of the forum softwares out there can do the job. If you know coding, pick one that's in your skill set so you can modify it to your specific requirements. Other than that, most will do the job journeyman and that's usually good enough.

graeme_p

11:48 am on Aug 31, 2025 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



@tangor thanks for the hints.

I am in the UK, and forums will be aimed at the UK, so I have to deal with the stupid OSA anyway, and I can mostly ignore other countries. I am less worried about the OSA than I was as things only need be proportionate and the topic is not one that will draw many problems. Still looking into that aspect of it

A lot of the rest I have dealt with as an admin of related Facebook groups. I am hoping some other people from the same community will join me to provide an alternative to FB. Not bots though. That is a worry.

Yes, WW is a great example of doing it right.

Its not a commercial venture, its not-for profit, to help a community. Mailing lists will not work - the demographic its aimed at are mostly heavy FB users. One aim is to draw in people who do not use FB, but the only way to reach the community at the moment is through FB (maybe some other social media too).

thecoalman

9:48 am on Sep 1, 2025 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



I've been using phpBB 21 years now and I'm moderator there. Download it and fire it up, you can always protect folder with .htaccess so bots don't get in if it's on live server. I can answer pretty much any question you have.

Install instructions are in the docs folder of download.
[phpbb.com...]

The problem today with new forums is you really need niche, even with existing forums everything is already been covered unless it's new tech forum. If you start one don't create a lot of sections. Depends on topic but keep it light. With phpBB you could just redirect index page to single forum if that is enough for your needs.

Easy to use is double edged sword because that usually means lack of options. I can't really compare to other forum software. If there is one thing people find difficult to understand in phpBB it's the permission system. If a permission exists there is never any "I wish I could..." but instead "How do I....". phpBB uses YES, NO and NEVER. Users belong to multiple groups with registered users group being base permissions. The NO permission is misunderstood and really should labeled "Not set here". There is also two different types of permissions. One for global permissions for common things like PM's and the other is specific for forums.

There is extensions for a lot of things and of course numerous styles. If you have some php/HTML/CSS knowledge it's pretty easy to edit. Templates are mostly HTML with placeholders, here is overall_header.html.

The bulk of the template syntax is custom phpBB syntax which is older than dirt and there is some Twig. phpBB supports Twig and it's slowly being converted to that, I would imagine the phpBB syntax will eventually be ditched. L_ placeholders are from the language files, S_ placeholders are switches and the rest hold text or whatever values it may be. EVENT is for extensions to insert HTML.

<!DOCTYPE html>
<html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1" />
{META}
<title><!-- IF UNREAD_NOTIFICATIONS_COUNT -->({UNREAD_NOTIFICATIONS_COUNT}) <!-- ENDIF --><!-- IF not S_VIEWTOPIC and not S_VIEWFORUM -->{SITENAME} - <!-- ENDIF --><!-- IF S_IN_MCP -->{L_MCP} - <!-- ELSEIF S_IN_UCP -->{L_UCP} - <!-- ENDIF -->{PAGE_TITLE}<!-- IF S_VIEWTOPIC or S_VIEWFORUM --> - {SITENAME}<!-- ENDIF --></title>

<!-- IF S_ENABLE_FEEDS -->
<!-- IF S_ENABLE_FEEDS_OVERALL --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {SITENAME}" href="{{ path('phpbb_feed_index') }}"><!-- ENDIF -->
<!-- IF S_ENABLE_FEEDS_NEWS --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_FEED_NEWS}" href="{{ path('phpbb_feed_news') }}"><!-- ENDIF -->
<!-- IF S_ENABLE_FEEDS_FORUMS --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_ALL_FORUMS}" href="{{ path('phpbb_feed_forums') }}"><!-- ENDIF -->
<!-- IF S_ENABLE_FEEDS_TOPICS --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_FEED_TOPICS_NEW}" href="{{ path('phpbb_feed_topics') }}"><!-- ENDIF -->
<!-- IF S_ENABLE_FEEDS_TOPICS_ACTIVE --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_FEED_TOPICS_ACTIVE}" href="{{ path('phpbb_feed_topics_active') }}"><!-- ENDIF -->
<!-- IF S_ENABLE_FEEDS_FORUM and S_FORUM_ID --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_FORUM} - {FORUM_NAME}" href="{{ path('phpbb_feed_forum', { forum_id : S_FORUM_ID } ) }}"><!-- ENDIF -->
<!-- IF S_ENABLE_FEEDS_TOPIC and S_TOPIC_ID --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_TOPIC} - {TOPIC_TITLE}" href="{{ path('phpbb_feed_topic', { topic_id : S_TOPIC_ID } ) }}"><!-- ENDIF -->
<!-- EVENT overall_header_feeds -->
<!-- ENDIF -->

<!-- IF U_CANONICAL -->
<link rel="canonical" href="{U_CANONICAL}">
<!-- ENDIF -->

<!--
phpBB style name: prosilver
Based on style: prosilver (this is the default phpBB3 style)
Original author: Tom Beddard ( http://www.subBlue.com/ )
Modified by:
-->

<!-- IF S_ALLOW_CDN -->
<script>
WebFontConfig = {
google: {
families: ['Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i&subset=cyrillic,cyrillic-ext,greek,greek-ext,latin-ext,vietnamese']
}
};

(function(d) {
var wf = d.createElement('script'), s = d.scripts[0];
wf.src = 'https://cdn.jsdelivr.net/npm/webfontloader@1.6.28/webfontloader.min.js';
wf.async = true;
s.parentNode.insertBefore(wf, s);
})(document);
</script>
<!-- ENDIF -->
<link href="{T_FONT_AWESOME_LINK}" rel="stylesheet">
<link href="{T_STYLESHEET_LINK}" rel="stylesheet">
<link href="{T_STYLESHEET_LANG_LINK}" rel="stylesheet">

<!-- IF S_CONTENT_DIRECTION eq 'rtl' -->
<link href="{T_THEME_PATH}/bidi.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet">
<!-- ENDIF -->

<!-- IF S_PLUPLOAD -->
<link href="{T_THEME_PATH}/plupload.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet">
<!-- ENDIF -->

<!-- IF S_COOKIE_NOTICE -->
<link href="{T_ASSETS_PATH}/cookieconsent/cookieconsent.min.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet">
<!-- ENDIF -->

<!--[if lte IE 9]>
<link href="{T_THEME_PATH}/tweaks.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet">
<![endif]-->

<!-- EVENT overall_header_head_append -->

{$STYLESHEETS}

<!-- EVENT overall_header_stylesheets_after -->

</head>
<body id="phpbb" class="nojs notouch section-{SCRIPT_NAME} {S_CONTENT_DIRECTION} {BODY_CLASS}">

<!-- EVENT overall_header_body_before -->

<div id="wrap" class="wrap">
<a id="top" class="top-anchor" accesskey="t"></a>
<div id="page-header">
<div class="headerbar" role="banner">
<!-- EVENT overall_header_headerbar_before -->
<div class="inner">

<div id="site-description" class="site-description">
<a id="logo" class="logo" href="{% if U_SITE_HOME %}{{ U_SITE_HOME }}{% else %}{{ U_INDEX }}{% endif %}" title="{% if U_SITE_HOME %}{{ L_SITE_HOME }}{% else %}{{ L_INDEX }}{% endif %}">
<span class="site_logo"></span>
</a>
<h1>{SITENAME}</h1>
<p>{SITE_DESCRIPTION}</p>
<p class="skiplink"><a href="#start_here">{L_SKIP}</a></p>
</div>

<!-- EVENT overall_header_searchbox_before -->
<!-- IF S_DISPLAY_SEARCH and not S_IN_SEARCH -->
<div id="search-box" class="search-box search-header" role="search">
<form action="{U_SEARCH}" method="get" id="search">
<fieldset>
<input name="keywords" id="keywords" type="search" maxlength="128" title="{L_SEARCH_KEYWORDS}" class="inputbox search tiny" size="20" value="{SEARCH_WORDS}" placeholder="{L_SEARCH_MINI}" />
<button class="button button-search" type="submit" title="{L_SEARCH}">
<i class="icon fa-search fa-fw" aria-hidden="true"></i><span class="sr-only">{L_SEARCH}</span>
</button>
<a href="{U_SEARCH}" class="button button-search-end" title="{L_SEARCH_ADV}">
<i class="icon fa-cog fa-fw" aria-hidden="true"></i><span class="sr-only">{L_SEARCH_ADV}</span>
</a>
{S_SEARCH_HIDDEN_FIELDS}
</fieldset>
</form>
</div>
<!-- ENDIF -->
<!-- EVENT overall_header_searchbox_after -->

</div>
<!-- EVENT overall_header_headerbar_after -->
</div>
<!-- EVENT overall_header_navbar_before -->
<!-- INCLUDE navbar_header.html -->
</div>

<!-- EVENT overall_header_page_body_before -->

<a id="start_here" class="anchor"></a>
<div id="page-body" class="page-body" role="main">
<!-- IF S_BOARD_DISABLED and S_USER_LOGGED_IN and (U_MCP or U_ACP) -->
<div id="information" class="rules">
<div class="inner">
<strong>{L_INFORMATION}{L_COLON}</strong> {L_BOARD_DISABLED}
</div>
</div>
<!-- ENDIF -->

<!-- EVENT overall_header_content_before -->


Edit: Seems to have lost the tabs.... doesn't happen with phpBB. :)

[edited by: thecoalman at 10:51 am (utc) on Sep 1, 2025]

thecoalman

10:39 am on Sep 1, 2025 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



It's free, pretty stable, lack some SEO stuff. If I was starting fresh I would consider XenForo first, it looks newer than phpBB.


It can use some polishing, biggest thing it lacks is friendly URL and DiscussionForumPosting structured data you will find Google complaining about in search console. The structured data should be coming soon. Google engineer posted on phpbb.com about it and their was response from lead developer so it's definitely on the radar.

Default style is prosilver and visually hasn't changed much since 2007 but it's aged well. At the time it was arguably the best front end for forum, it was using CSS when others were still using tables including the paid ones. Underneath the hood it's changed considerably including making it responsive, accessibility, implementing CSS3 etc.

phpBB4 is on the horizon, no release date but it should be soon. If I were to guess within the next year. There probably won't be new style which is long story and unfortunate but there will be one some time down the road. I wouldn't expect the Wow! factor like there was for phpbb3 initial release as it's mostly back end stuff but it's laying the groundwork for the Wow! factor.

graeme_p

12:30 pm on Sep 1, 2025 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



@thecoalman, thanks, useful tips. Permissions look useful, if not straightforward. - a huge improvement on FB groups which is what we have been using.

It is very much a niche, and my main motive is to provide an alternative to FB. Partly because I do not like FB, partly because FB makes life difficult for admins. Its for a community I am very involved in, and if I can persuade other people who run FB groups that its worth trying an alternative I think we can get a decent community. I cannot really explain further within WW rules I think. I think I can go so far as to say it is a community dominated by not tech savvy middle aged women, but people very generous with their time (which is why i think it can only succeed as a not for profit).

I am happy with Twig as I have been using Django templates for a very long time, and while my PHP is rusty I can manage its use for presentation. The mixed template syntax looks a bit strange to me, but not very difficult

thecoalman

5:53 pm on Sep 1, 2025 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



php is only really needed if you want to add something. Extensions are available for a lot of common things, the media embed extension is quite popular and it will automatically change media url's like YT into embedded content. Supports roughly 100 sites but it's configurable.

If you open up includes/functions.php near the end of the file, I think it's around line 4000, you'll find long list of common template variables. Each main page; viewtopic, viewforurm etc, will have it's own list at the end.

I don't use many extension, exactly two. The media embed extension and one for the contact form because they do exactly what I want them to do. The rest is all custom modifications. I use the same prefix for comments (which I use heavily), variables and custom CSS. When I go to do an upgrade I use Winmerge and it's pretty easy since everything is identifiable. For the variables and CSS it also helps avoid any collisions. It also makes them searchable.

There is Twig comment for templates or you can use phpBB syntax:
<!-- IF 0 -->
PREFIX - Removed because of blah, blah, blah
Some HTML you want to remove.
<!-- ENDIF -->

thecoalman

8:39 pm on Sep 1, 2025 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



Something else to add, styles support inheritance for parent/child but it's only for the templates, CSS is independent. Whatever base templates are included in your child style will take the place of parent style. It's great feature for style authors but personally I don't use it because it's more like Rube Goldberg machine for one off style. I just edit prosilver.

Whenever editing template you must purge the cache which can be done from main page of ACP. There is also setting under load settings to disable template caching during development. Purging the cache from ACP also increases the asset version and will force browser to download /styles/prosilver/theme/stylesheet.css

/* phpBB3 Style Sheet
--------------------------------------------------------------
Style name:prosilver (the default phpBB 3.3.x style)
Based on style:
Original author:Tom Beddard ( http://www.subblue.com/ )
Modified by:phpBB Limited ( https://www.phpbb.com/ )
--------------------------------------------------------------
*/

@import url("normalize.css?hash=48eb3f89");
@import url("base.css?hash=7c5543be");
@import url("utilities.css?hash=d8f72c42");
@import url("common.css?hash=843d5d5f");
@import url("links.css?hash=18286e16");
@import url("content.css?hash=d0e24377");
@import url("buttons.css?hash=56f0d25f");
@import url("cp.css?hash=50d868ab");
@import url("forms.css?hash=9016b55c");
@import url("icons.css?hash=64da33ce");
@import url("colours.css?hash=fcb2f289");
@import url("responsive.css?hash=c9d32cba");


The hash value is used to insure browser downloads new version for official updates. You can add custom CSS at the end of stylesheet.css or if you are directly editing the other files change the hash value to anything else to force users browser to download changes between updating phpBB.