Ariel Rin 95f72c854d Minor Documentation Update (#1019)
Gunicorn needs to be run whilist in the folder for context, folder path is not enough
Correct static path, note to check nginx user
Capitalization of services and small typos
Service examples updated to their latest versions and download links
Expanded /var/www chowns for Nginx and Apache examples
Add in a troubleshooting note for no images being displayed (permissions issue) and gunicorn not execting (file path context)
Correct formatting. Reword a few parts. Remove "new in 1.15".
2018-04-17 18:55:18 -04:00

5.4 KiB
Raw Blame History

phpBB3

Overview

phpBB is a free PHP-based forum.

Dependencies

phpBB3 requires PHP installed in your web server. Apache has mod_php, NGINX requires php-fpm. See the official guide for PHP package requirements.

Prepare Your Settings

In your auth project's settings file, do the following:

  • Add 'allianceauth.services.modules.phpbb3', to your INSTALLED_APPS list

  • Append the following to the bottom of the settings file:

    PHPBB3 Configuration

    PHPBB3_URL = '' DATABASES['phpbb3'] = { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'alliance_forum', 'USER': 'allianceserver-phpbb3', 'PASSWORD': 'password', 'HOST': '127.0.0.1', 'PORT': '3306', }

Setup

Prepare the Database

Create a database to install phpBB3 in.

mysql -u root -p
create database alliance_forum;
grant all privileges on alliance_forum . * to 'allianceserver'@'localhost';
exit;

Edit your auth project's settings file and fill out the DATABASES['phpbb3'] part.

Download phpbb3

phpBB is available as a zip from their website. Navigate to the websites downloads section using your PC browser and copy the URL for the latest version zip. Depending on your browser you may have a Copy Link or similar option in your right click menu.

In the console, navigate to your users home directory: cd ~

Now download using wget, replacing the URL with the URL for the package you just retrieved

wget https://www.phpbb.com/files/release/phpBB-3.2.2.zip

This needs to be unpackaged. Unzip it, replacing the file name with that of the file you just downloaded

unzip phpBB-3.2.2.zip

Now we need to move this to our web directory. Usually /var/www/forums.

sudo mv phpBB3 /var/www/forums

The web server needs read/write permission to this folder

Apache: sudo chown -R www-data:www-data /var/www/forums
Nginx: sudo chown -R nginx:nginx /var/www/forums

.. tip::
   Nginx: Some distributions use the ``www-data:www-data`` user:group instead of ``nginx:nginx``. If you run into problems with permissions try it instead. 
..

Configuring Web Server

You will need to configure you web server to serve PHPBB3 before proceeding with installation.

A minimal Apache config file might look like:

<VirtualHost *:80>
    ServerName forums.example.com
    DocumentRoot /var/www/forums
    <Directory /var/www/forums>
        Require all granted
        DirectoryIndex index.php
    </Directory>
</VirtualHost>

A minimal Nginx config file might look like:

server {
    listen 80;
    server_name  forums.example.com;
    root   /var/www/forums;
    index  index.php;
    access_log  /var/logs/forums.access.log;

    location ~ /(config\.php|common\.php|cache|files|images/avatars/upload|includes|store) {
        deny all;
        return 403;
    }

    location ~* \.(gif|jpe?g|png|css)$ {
        expires   30d;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass   unix:/tmp/php.socket;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Enter your forum's web address as the PHPBB3_URL setting in your auth project's settings file.

Web Install

Navigate to your forums web address where you will be presented with an installer.

Click on the Install tab.

All the requirements should be met. Press Start Install.

Under Database Settings, set the following:

  • Database Type is MySQL
  • Database Server Hostname is 127.0.0.1
  • Database Server Port is left blank
  • Database Name is alliance_forum
  • Database Username is your auth MySQL user, usually allianceserver
  • Database Password is this users password

If you use a table prefix other than the standard phpbb_ you need to add an additional setting to your auth project's settings file, PHPBB3_TABLE_PREFIX = '', and enter the prefix.

You should see Successful Connection and proceed.

Enter administrator credentials on the next page.

Everything from here should be intuitive.

phpBB will then write its own config file.

Open the Forums

Before users can see the forums, we need to remove the install directory

sudo rm -rf /var/www/forums/install

Enabling Avatars

AllianceAuth sets user avatars to their character portrait when the account is created or password reset. We need to allow external URLs for avatars for them to behave properly. Navigate to the admin control panel for phpbb3, and under the General tab, along the left navigation bar beneath Board Configuration, select Avatar Settings. Set Enable Remote Avatars to Yes and then Submit.

location of the remote avatar setting

You can allow members to overwrite the portrait with a custom image if desired. Navigate to Users and Groups, Group Permissions, select the appropriate group (usually Member if you want everyone to have this ability), expand Advanced Permissions, under the Profile tab, set Can Change Avatars to Yes, and press Apply Permissions.

location of change avatar setting

Prepare Auth

Once settings have been configured, run migrations and restart Gunicorn and Celery.