bbPress installation

While installing the new forums software on Roumazeilles.net (bbPress) [it was only an evaluation that will not be followed immediately by a full implementation], I noted a few of the details I needed to do in order to reach a conveniently installed package. Since bbPress is only lightly documented, it may be helpful for other.

Aim

The first objective was to install two sets of forums (in French and in English, as for the news blogs) in their respective URLs.

The locations have an influence on the rest since I still wanted to have a good integration with the wordpress blogs. You are expected to install the forums inside the blog.

So, here is how I did it.

Configuration

The main issue is to install the software on the web site in the right location. The package is prepared to be downloaded into a bbpress sub-directory inside the wordpress directory, so I had to change the directory name just after decompression (And I did it twice: Once for each language).

The config.php file is set according to the following:

  1. span class=”co1″>// ** MySQL settings ** //
  2. ‘BBDB_NAME’, ‘roumazeilles’);      // The name of the database
  3. ‘BBDB_USER’, ‘*********’);     // Your MySQL username
  4. ‘BBDB_PASSWORD’, ‘**********’); // …and password
  5. ‘BBDB_HOST’, ‘localhost’);    // 99% chance you won’t need to change this value
  6.  
  7. // Change the prefix if you want to have multiple forums in a single database.
  8. ‘enbb_’; // Only letters, numbers and underscores please!
  9.  
  10. // If your bbPress URL is http://bbpress.example.com/forums/ , the examples would be correct.
  11. // Adjust the domain and path to suit your actual URL.
  12.         // Just the domain name; no directories or path. There should be no trailing slash here.
  13. ‘http://www.roumazeilles.net’; // Example: ‘http://bbpress.example.com’
  14.         // There should be both a leading and trailing slash here. ‘/’ is fine if the site is in root.
  15.         $bb->path   = ‘/news/en/wordpress/forum/’;                                 // Example: ‘/forums/’
  16.  
  17. // What are you going to call me?
  18. $bb->name   = ‘Roumazeilles.net – English forums’;
  19.  
  20. // This must be set before running the install script.
  21. ‘wp_en_@roumazeilles.net’;
  22.  
  23. // Set to true if you want pretty permalinks.
  24. // The number of topics that show on each page.
  25. // A user can edit a post for this many minutes after submitting.
  26. // Your timezone offset.  Example: -7 for Pacific Daylight Time.
  27. // Change this to localize bbPress.  A corresponding MO file for the
  28. // chosen language must be installed to bb-includes/languages.
  29. // For example, install de.mo to bb-includes/languages and set BBLANG to ‘de’
  30. // to enable German language support.
  31. ‘BBLANG’, );
  32.  
  33. // Your Akismet Key.  You do not need a key to run bbPress, but if you want to take advantage
  34. // of Akismet’s powerful spam blocking, you’ll need one.  You can get an Akismet key at
  35. // http://wordpress.com/api-keys/
  36. ‘1234567890’; // Example: ‘1234567890’
  37.  
  38.  
  39. // The rest is only useful if you are integrating bbPress with WordPress.
  40. // If you’re not, just leave the rest as it is.
  41. ‘en_’;  // WordPress table prefix.  Example: ‘wp_’;
  42. ‘http://www.roumazeilles.net/news/en/wordpress’;  // WordPress – Options->General: Blog address (URL) // No trailing slash.  Example: ‘http://example.com’
  43. ‘http://www.roumazeilles.net/news/en/wordpress’;  // WordPress – Options->General: WordPress address (URL) // No trailing slash. Example: ‘http://example.com’
  44.  
  45. /* Stop editing */‘BBPATH’‘BBPATH’‘/’‘bb-settings.php’

In order to get a more direct access to the forums I also corrected slightly the web site .htaccess file to add the following redirecting lines that lead to more user-friendly addresses used here.

redirect 301 /forum/en http://www.roumazeilles.net/news/en/wordpress/forum/
redirect 301 /forum/fr http://www.roumazeilles.net/news/fr/wordpress/forum/

Additional steps

Directory access rights

I also directly had to modify the directory access rights on the web server.

chmod 644 ./forum/ (this may not be critical)
mkdir ./forum/bb-cache/
chmod 644 ./forum/bb-cache/ (this is needed to update the site-management options)

Theme

bbPress is using themes very similar to WordPress. This is helpful to reduce the amount of work involved in preparing the forums for a nicer presentation when you already have a WordPress theme.

However, it is clearly painful to create the many files expected by bbPress (I hope that this will be simplified in the future). Anyway, thanks to DreamWeaver 3.x and its very good support of HTML templates, thanks to the organization of my pages with a significant part located in the CSS file, it has been relatively easy to do this task. But it still is too much pain for a good software package. At least, if you don’t do anything, the Kakumei theme is used by default ensuring that your forums are displayed conveniently.

Internationalization

Now, since my web site is set both in English and in French, there is no reason for the forums to be set differently. The installation in English is standard, but the French bit is a little different. You need to update a separate file (named bbpress.pot) that will provide all of the needed text transalations.

I installed one in the language directory. That’s all. It’s unofficial translation, but that’s good for me.

Last comments

In the end, after a rather long testing phase on a hidden web site, I have been able to set the forums up rather easily (it could be better, but bbPress is still in development stages, so the issues were understandable -and they were not overwhelming). The documentation is very terse, but the community is active and supportive.

One thing I had difficulties with is that bbPress does a heavy use of page caching. When changing something in the configuration, you have to remember to reload from the site (not from the cache) or you get the feeling that nothing is ever happenning whatever your moves. Annoying if understandable for performance reasons.