mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-09 04:20:17 +02:00
154 lines
4.7 KiB
Markdown
154 lines
4.7 KiB
Markdown
# SMF
|
||
|
||
## Overview
|
||
|
||
SMF is a free PHP-based forum.
|
||
|
||
## Dependencies
|
||
|
||
SMF requires PHP installed in your web server. Apache has `mod_php`, NGINX requires `php-fpm`. More details can be found in the [SMF requirements page.](https://download.simplemachines.org/requirements.php)
|
||
|
||
## Prepare Your Settings
|
||
|
||
In your auth project's settings file, do the following:
|
||
|
||
- Add `'allianceauth.services.modules.smf',` to your `INSTALLED_APPS` list
|
||
- Append the following to the bottom of the settings file:
|
||
|
||
```python
|
||
# SMF Configuration
|
||
SMF_URL = ''
|
||
DATABASES['smf'] = {
|
||
'ENGINE': 'django.db.backends.mysql',
|
||
'NAME': 'alliance_smf',
|
||
'USER': 'allianceserver-smf',
|
||
'PASSWORD': 'password',
|
||
'HOST': '127.0.0.1',
|
||
'PORT': '3306',
|
||
}
|
||
```
|
||
|
||
## Setup
|
||
|
||
### Download SMF
|
||
|
||
Using your browser, you can download the latest version of SMF to your desktop computer. All SMF downloads can be found at SMF Downloads. The latest recommended version will always be available at <http://www.simplemachines.org/download/index.php/latest/install/>. Retrieve the file location from the hyperlinked box icon for the zip full install, depending on your browser, you may have a Copy Link or similar option in your right click menu.
|
||
|
||
Download using wget, replacing the URL with the URL for the package you just retrieved
|
||
|
||
```shell
|
||
wget https://download.simplemachines.org/index.php?thanks;filename=smf_2-1-2_install.tar.gz
|
||
```
|
||
|
||
This needs to be unpackaged. Unzip it, replacing the file name with that of the file you just downloaded
|
||
|
||
```shell
|
||
unzip smf_2-1-2_install.zip
|
||
```
|
||
|
||
Now we need to move this to our web directory. Usually `/var/www/forums`.
|
||
|
||
```shell
|
||
mv smf /var/www/forums
|
||
```
|
||
|
||
The web server needs read/write permissions to this folder
|
||
|
||
Apache: `chown -R www-data:www-data /var/www/forums`
|
||
Nginx: `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.
|
||
:::
|
||
|
||
### Database Preparation
|
||
|
||
SMF needs a database. Create one:
|
||
|
||
```shell
|
||
mysql -u root -p
|
||
```
|
||
|
||
```sql
|
||
create database alliance_smf;
|
||
grant all privileges on alliance_smf . * to 'allianceserver'@'localhost';
|
||
exit;
|
||
```
|
||
|
||
Enter the database information into the `DATABASES['smf']` section of your auth project's settings file.
|
||
|
||
### Web Server Configuration
|
||
|
||
Your web server needs to be configured to serve SMF.
|
||
|
||
A minimal Apache config might look like:
|
||
|
||
```ini
|
||
<VirtualHost *:80>
|
||
ServerName forums.example.com
|
||
DocumentRoot /var/www/forums
|
||
<Directory "/var/www/forums">
|
||
DirectoryIndex index.php
|
||
</Directory>
|
||
</VirtualHost>
|
||
````
|
||
|
||
A minimal Nginx config might look like:
|
||
|
||
```ini
|
||
server {
|
||
listen 80;
|
||
server_name forums.example.com;
|
||
root /var/www/forums;
|
||
index index.php;
|
||
access_log /var/logs/forums.access.log;
|
||
|
||
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 the web address to your forums into the `SMF_URL` setting in your auth project's settings file.
|
||
|
||
### Web Install
|
||
|
||
Navigate to your forum 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_smf`
|
||
- Database Username is your auth MySQL user, usually `allianceserver`
|
||
- Database Password is this user’s password
|
||
|
||
If you use a table prefix other than the standard `smf_` you need to add an additional setting to your auth project's settings file, `SMF_TABLE_PREFIX = ''`, and enter the prefix.
|
||
|
||
Follow the directions in the installer.
|
||
|
||
### Preparing Auth
|
||
|
||
Once settings are entered, apply migrations and restart Gunicorn and Celery.
|
||
|
||
## Permissions
|
||
|
||
To use this service, users will require some of the following.
|
||
|
||
```{eval-rst}
|
||
+---------------------------------------+------------------+--------------------------------------------------------------------------+
|
||
| Permission | Admin Site | Auth Site |
|
||
+=======================================+==================+==========================================================================+
|
||
| smf.access_smf | None | Can Access the SMF Service |
|
||
+---------------------------------------+------------------+--------------------------------------------------------------------------+
|
||
```
|