mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-09 12:30:15 +02:00
Add settings section to service docs. Remove references to settings.py. (#942)
Standardized the addition of settings instructions. Changed all references of local.py to a more generic 'auth project settings file'. Included basic apache and nginx configs. Include database creation steps. Instruct users to restart gunicorn and celery after altering settings. Include missing TS3 celerybeat schedule.
This commit is contained in:
parent
a64dda2a2e
commit
d825689da4
@ -4,10 +4,23 @@ Discord is a web-based instant messaging client with voice. Kind of like teamspe
|
||||
|
||||
## Setup
|
||||
|
||||
Add `allianceauth.services.modules.discord` to your `INSTALLED_APPS` list and run migrations before continuing with this guide to ensure the service is installed.
|
||||
### Prepare Your Settings File
|
||||
In your auth project's settings file, do the following:
|
||||
- Add `'allianceauth.services.modules.discord',` to your `INSTALLED_APPS` list
|
||||
- Append the following to the bottom of the settings file:
|
||||
|
||||
|
||||
# Discord Configuration
|
||||
DISCORD_GUILD_ID = ''
|
||||
DISCORD_INVITE_CODE = ''
|
||||
DISCORD_CALLBACK_URL = ''
|
||||
DISCORD_APP_ID = ''
|
||||
DISCORD_APP_SECRET = ''
|
||||
DISCORD_BOT_TOKEN = ''
|
||||
DISCORD_SYNC_NAMES = False
|
||||
|
||||
### Creating a Server
|
||||
*If you already have a Discord server, skip the creation step, but be sure to retrieve the server ID and enter it in settings.py*
|
||||
*If you already have a Discord server, skip the creation step, but be sure to retrieve the server ID*
|
||||
|
||||
Navigate to the [Discord site](https://discordapp.com/) and register an account, or log in if you have one already.
|
||||
|
||||
@ -19,14 +32,14 @@ Now retrieve the server ID from the URL of the page you’re on. The ID is the f
|
||||
|
||||
with a server ID of `120631096835571712`
|
||||
|
||||
Update settings.py, inputting the server ID as `DISCORD_GUILD_ID`
|
||||
Update your auth project's settings file, inputting the server ID as `DISCORD_GUILD_ID`
|
||||
|
||||
### Generating an Invite
|
||||
Still on the Discord site, in your new server, an invite needs to be generated for users to join. If you with for users to initially join a different channel than `#general`, create it and follow the steps below, substituting this channel for `#general`.
|
||||
|
||||
On the left bar under the Text Channels heading, hover over `#general` on the right site. There are two icons, a box with an arrow and a gear. Press the box, then on the bottom left select Advanced Settings. Set the expiration to never, and no limit on uses. Press generate.
|
||||
|
||||
This returns a code that looks like `https://discord.gg/0fmA8MyXV6qt7XAZ`. The part after the last slash, `0fmA8MyXV6qt7XAZ`, is the invite code. Update settings.py, inputting this invite code as `DISCORD_INVITE_CODE`
|
||||
This returns a code that looks like `https://discord.gg/0fmA8MyXV6qt7XAZ`. The part after the last slash, `0fmA8MyXV6qt7XAZ`, is the invite code. Update your auth project's settings file, inputting this invite code as `DISCORD_INVITE_CODE`
|
||||
|
||||
### Registering an Application
|
||||
|
||||
@ -34,15 +47,18 @@ Navigate to the [Discord Developers site.](https://discordapp.com/developers/app
|
||||
|
||||
Give it a name and description relating to your auth site. Add a redirect to `https://example.com/discord/callback/`, substituting your domain. Press Create Application.
|
||||
|
||||
Update settings.py, inputting this redirect address as `DISCORD_CALLBACK_URL`
|
||||
Update your auth project's settings file, inputting this redirect address as `DISCORD_CALLBACK_URL`
|
||||
|
||||
On the application summary page, press Create a Bot User.
|
||||
|
||||
Update settings.py with these pieces of information from the summary page:
|
||||
Update your auth project's settings file with these pieces of information from the summary page:
|
||||
- From the App Details panel, `DISCORD_APP_ID` is the Client/Application ID
|
||||
- From the App Details panel, `DISCORD_APP_SECRET` is the Secret
|
||||
- From the App Bot Users panel, `DISCORD_BOT_TOKEN` is the Token
|
||||
|
||||
### Preparing Auth
|
||||
Before continuing it is essential to run migrations and restart gunicorn and celery.
|
||||
|
||||
### Adding a Bot to the Server
|
||||
Once created, navigate to the services page of your AllianceAuth install as the superuser account. At the top there is a big green button labelled Link Discord Server. Click it, then from the drop down select the server you created, and then Authorize.
|
||||
|
||||
@ -53,5 +69,8 @@ To manage roles, this bot role must be at the top of the hierarchy. Edit your Di
|
||||
### Linking Accounts
|
||||
Instead of the usual account creation procedure, for Discord to work we need to link accounts to AllianceAuth. When attempting to enable the Discord service, users are redirected to the official Discord site to authenticate. They will need to create an account if they don't have one prior to continuing. Upon authorization, users are redirected back to AllianceAuth with an OAuth code which is used to join the Discord server.
|
||||
|
||||
### Syncing Nicknames
|
||||
If you want users to have their Discord nickname changed to their in-game character name, set `DISCORD_SYNC_NAMES` to `True`
|
||||
|
||||
## Managing Roles
|
||||
Once users link their accounts you’ll notice Roles get populated on Discord. These are the equivalent to Groups on every other service. The default permissions should be enough for members to chat and use comms. Add more permissions to the roles as desired through the server management window.
|
||||
|
@ -1,6 +1,17 @@
|
||||
# Discourse
|
||||
|
||||
Add `allianceauth.services.modules.discourse` to your `INSTALLED_APPS` list and run migrations before continuing with this guide to ensure the service is installed.
|
||||
## Prepare Your Settings
|
||||
In your auth project's settings file, do the following:
|
||||
- Add `'allianceauth.services.modules.discourse',` to your `INSTALLED_APPS` list
|
||||
- Append the following to your local.py settings file:
|
||||
|
||||
|
||||
# Discourse Configuration
|
||||
DISCOURSE_URL = ''
|
||||
DISCOURSE_API_USERNAME = ''
|
||||
DISCOURSE_API_KEY = ''
|
||||
DISCOURSE_SSO_SECRET = ''
|
||||
|
||||
|
||||
## Install Docker
|
||||
|
||||
@ -65,13 +76,11 @@ Now build:
|
||||
sudo ./launcher bootstrap app
|
||||
sudo ./launcher start app
|
||||
|
||||
## Apache config
|
||||
## Web Server Configuration
|
||||
|
||||
Discourse must run on its own subdomain - it can't handle routing behind an alias like '/forums'. To do so, make a new apache config:
|
||||
You will need to configure your web server to proxy requests to Discourse.
|
||||
|
||||
sudo nano /etc/apache2/sites-available/discourse.conf
|
||||
|
||||
And enter the following, changing the port if you used a different number:
|
||||
A minimal apache config might look like:
|
||||
|
||||
<VirtualHost *:80>
|
||||
ServerName discourse.example.com
|
||||
@ -79,10 +88,16 @@ And enter the following, changing the port if you used a different number:
|
||||
ProxyPassReverse / http://0.0.0.0:7890/
|
||||
</VirtualHost>
|
||||
|
||||
Now enable proxies and restart apache:
|
||||
A minimal nginx config might look like:
|
||||
|
||||
sudo a2enmod proxy_http
|
||||
sudo service apache2 reload
|
||||
server {
|
||||
listen 80;
|
||||
server_name discourse.example.com;
|
||||
location / {
|
||||
include proxy_params;
|
||||
proxy_pass http://127.0.0.1:7890;
|
||||
}
|
||||
}
|
||||
|
||||
## Configure API
|
||||
|
||||
@ -99,12 +114,8 @@ Follow prompts, being sure to answer `y` when asked to allow admin privileges.
|
||||
|
||||
Navigate to `discourse.example.com` and log on. Top right press the 3 lines and select `Admin`. Go to API tab and press `Generate Master API Key`.
|
||||
|
||||
Now go to the allianceauth folder and edit settings:
|
||||
|
||||
nano /home/allianceserver/allianceauth/alliance_auth/settings.py
|
||||
|
||||
Scroll down to the Discourse section and set the following:
|
||||
- `DISCOURSE_URL`: `discourse.example.com`
|
||||
Add the following values to your auth project's settings file:
|
||||
- `DISCOURSE_URL`: `discourse.example.com` (do not add a trailing slash!)
|
||||
- `DISCOURSE_API_USERNAME`: the username of the admin account you generated the API key with
|
||||
- `DISCOURSE_API_KEY`: the key you just generated
|
||||
|
||||
@ -115,11 +126,6 @@ Navigate to `discourse.example.com` and log in. Back to the admin site, scroll d
|
||||
- `sso_url`: `http://example.com/discourse/sso`
|
||||
- `sso_secret`: some secure key
|
||||
|
||||
Save, now change settings.py and add the following:
|
||||
- `DISCOURSE_SSO_SECRET`: the secure key you just set
|
||||
Save, now set `DISCOURSE_SSO_SECRET` in your auth project's settings file to the secure key you just put in Discourse.
|
||||
|
||||
### Enable for your members
|
||||
|
||||
Set either or both of `ENABLE_AUTH_DISCOURSE` and `ENABLE_BLUE_DISCOURSE` in settings.py for your members to gain access. Save and exit with control+o, enter, control+x.
|
||||
|
||||
## Done
|
||||
Finally run migrations and restart gunicorn and celery.
|
||||
|
@ -1,11 +1,31 @@
|
||||
# Alliance Market
|
||||
|
||||
Add `allianceauth.services.modules.market` to your `INSTALLED_APPS` list and run migrations before continuing with this guide to ensure the service is installed.
|
||||
## Dependencies
|
||||
Alliance Market requires php installed in your web server. Apache has `mod_php`, NGINX requires `php-fpm`.
|
||||
|
||||
## Prepare Your Settings
|
||||
In your auth project's settings file, do the following:
|
||||
- Add `'allianceauth.services.modules.market',` to your `INSTALLED_APPS` list
|
||||
- Append the following to the bottom of the settings file
|
||||
|
||||
|
||||
# Alliance Market
|
||||
MARKET_URL = ''
|
||||
DATABASES['market'] = {
|
||||
'ENGINE': 'django.db.backends.mysql',
|
||||
'NAME': 'alliance_market',
|
||||
'USER': 'allianceserver-market',
|
||||
'PASSWORD': 'password',
|
||||
'HOST': '127.0.0.1',
|
||||
'PORT': '3306',
|
||||
}
|
||||
|
||||
## Setup Alliance Market
|
||||
Alliance Market needs a database. Create one in mysql. Default name is `alliance_market`:
|
||||
|
||||
mysql -u root -p
|
||||
create database alliance_market;
|
||||
grant all privileges on alliance_market . * to 'allianceserver'@'localhost';
|
||||
exit;
|
||||
|
||||
To clone the repo, install packages:
|
||||
@ -79,23 +99,37 @@ Install SDE:
|
||||
|
||||
sudo php app/console evernus:update:sde
|
||||
|
||||
Edit your apache config. Add the following:
|
||||
Configure your web server to serve alliance market.
|
||||
|
||||
Alias /market /var/www/evernus-alliance-market/web/
|
||||
A minimal apache config might look like:
|
||||
|
||||
<Directory "/var/www/evernus-alliance-market/web/">
|
||||
DirectoryIndex app.php
|
||||
Require all granted
|
||||
AllowOverride all
|
||||
</Directory>
|
||||
<VirtualHost *:80>
|
||||
ServerName market.example.com
|
||||
DocumentRoot /var/www/evernus-alliance-market/web
|
||||
<Directory "/var/www/evernus-alliance-market/web/">
|
||||
DirectoryIndex app.php
|
||||
Require all granted
|
||||
AllowOverride all
|
||||
</Directory>
|
||||
</VirtualHost>
|
||||
|
||||
Enable rewriting
|
||||
A minimal nginx config might look like:
|
||||
|
||||
sudo a2enmod rewrite
|
||||
|
||||
Restart apache
|
||||
|
||||
sudo service apache2 reload
|
||||
server {
|
||||
listen 80;
|
||||
server_name market.example.com;
|
||||
root /var/www/evernus-alliance-market/web;
|
||||
index app.php;
|
||||
access_log /var/logs/market.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;
|
||||
}
|
||||
}
|
||||
|
||||
Once again, set cache permissions:
|
||||
|
||||
@ -104,3 +138,7 @@ Once again, set cache permissions:
|
||||
Add a user account through auth, then make it a superuser:
|
||||
|
||||
sudo php app/console fos:user:promote your_username --super
|
||||
|
||||
Now edit your auth project's settings file and fill in the web URL to your market as well as the database details.
|
||||
|
||||
Finally run migrations and restart gunicorn and celery.
|
@ -1,6 +1,13 @@
|
||||
# Mumble
|
||||
|
||||
Add `allianceauth.services.modules.mumble` to your `INSTALLED_APPS` list and run migrations before continuing with this guide to ensure the service is installed.
|
||||
## Prepare Your Settings
|
||||
In your auth project's settings file, do the following:
|
||||
- Add `'allianceauth.services.modules.mumble',` to your `INSTALLED_APPS` list
|
||||
- Append the following to your local.py settings file:
|
||||
|
||||
|
||||
# Mumble Configuration
|
||||
MUMBLE_URL = ""
|
||||
|
||||
## Overview
|
||||
Mumble is a free voice chat server. While not as flashy as teamspeak, it has all the functionality and is easier to customize. And is better. I may be slightly biased.
|
||||
@ -14,7 +21,7 @@ The mumble server package can be retrieved from a repository we need to add, mum
|
||||
Now two packages need to be installed:
|
||||
|
||||
sudo apt-get install python-software-properties mumble-server
|
||||
|
||||
|
||||
Download the appropriate authenticator release from https://github.com/allianceauth/mumble-authenticator and install the python dependencies for it:
|
||||
|
||||
pip install -r requirements.txt
|
||||
@ -80,5 +87,7 @@ Note that groups will only be created on Mumble automatically when a user joins
|
||||
## Making and Managing Channels
|
||||
ACL is really above the scope of this guide. Once AllianceAuth creates your groups, go ahead and follow one of the wonderful web guides available on how to set up channel ACL properly.
|
||||
|
||||
## Setup Complete
|
||||
You’ve finished the steps required to make AllianceAuth work with Mumble. Play around with it and make it your own.
|
||||
## Prepare Auth
|
||||
In your project's settings file, set `MUMBLE_URL` to the public address of your mumble server. Do not include any leading `http://` or `mumble://`.
|
||||
|
||||
Run migrations and restart gunicorn and celery to complete setup.
|
@ -1,17 +1,38 @@
|
||||
# Openfire
|
||||
|
||||
Add `allianceauth.services.modules.openfire` to your `INSTALLED_APPS` list and run migrations before continuing with this guide to ensure the service is installed.
|
||||
Openfire is a jabber (XMPP) server.
|
||||
|
||||
## Prepare Your Settings
|
||||
- Add `'allianceauth.services.modules.openfire',` to your `INSTALLED_APPS` list
|
||||
- Append the following to your auth project's settings file:
|
||||
|
||||
|
||||
# Jabber Configuration
|
||||
JABBER_URL = ""
|
||||
JABBER_PORT = 5223
|
||||
JABBER_SERVER = ""
|
||||
OPENFIRE_ADDRESS = ""
|
||||
OPENFIRE_SECRET_KEY = ""
|
||||
BROADCAST_USER = ""
|
||||
BROADCAST_USER_PASSWORD = ""
|
||||
BROADCAST_SERVICE_NAME = "broadcast"
|
||||
|
||||
## Overview
|
||||
Openfire is a java-based xmpp server (jabber).
|
||||
|
||||
## Dependencies
|
||||
One additional package is required - [openjdk8](http://askubuntu.com/questions/464755/how-to-install-openjdk-8-on-14-04-lts)
|
||||
One additional package is required - openjdk8
|
||||
|
||||
Ubuntu:
|
||||
|
||||
sudo add-apt-repository ppa:webupd8team/java -y
|
||||
sudo apt-get update
|
||||
sudo apt-get install oracle-java8-installer
|
||||
|
||||
CentOS:
|
||||
|
||||
sudo yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
|
||||
|
||||
## Setup
|
||||
### Download Installer
|
||||
Openfire is not available through repositories so we need to get a debian from the developer.
|
||||
@ -30,6 +51,14 @@ Now install from the debian. Replace the filename with your file name (the last
|
||||
|
||||
sudo dpkg -i openfire_4.1.1_all.deb
|
||||
|
||||
### Create Database
|
||||
Performance is best when working from a SQL database. If you installed MySQL or MariaDB alongside your auth project, go ahead and create a database for openfire:
|
||||
|
||||
mysql -u root -p
|
||||
create database alliance_jabber;
|
||||
grant all privileges on alliance_jabber . * to 'allianceserver'@'localhost';
|
||||
exit;
|
||||
|
||||
### Web Configuration
|
||||
The remainder of the setup occurs through Openfire’s web interface. Navigate to http://example.com:9090, or if you’re behind CloudFlare, go straight to your server’s IP:9090.
|
||||
|
||||
@ -42,17 +71,22 @@ Under Database Settings, select `Standard Database Connection`
|
||||
On the next page, select `MySQL` from the dropdown list and change the following:
|
||||
- `[server]` is replaced by `127.0.0.1`
|
||||
- `[database]` is replaced by the name of the database to be used by Openfire
|
||||
- enter the MySQL username you created for AllianceAuth, usually `allianceserver`
|
||||
- enter the MySQL password for this user
|
||||
- enter the login details for your auth project's database user
|
||||
|
||||
If Openfire returns with a failed to connect error, re-check these settings. Note the lack of square brackets.
|
||||
|
||||
Under Profile Settings, leave `Default` selected.
|
||||
|
||||
Create an administrator account. The actual name is irrelevant, just don’t lost this login information.
|
||||
Create an administrator account. The actual name is irrelevant, just don’t lose this login information.
|
||||
|
||||
Finally, log in to the console with your admin account.
|
||||
|
||||
Edit your auth project's settings file and enter the values you just set:
|
||||
- `JABBER_URL` is the pubic address of your jabber server
|
||||
- `JABBER_PORT` is the port for clients to connect to (usually 5223)
|
||||
- `JABBER_SERVER` is the name of the jabber server. If you didn't alter it during install it'll usually be your domain (eg `example.com`)
|
||||
- `OPENFIRE_ADDRESS` is the web address of Openfire's web interface. Use http:// with port 9090 or https:// with port 9091 if you configure SSL in Openfire
|
||||
|
||||
### REST API Setup
|
||||
Navigate to the `plugins` tab, and then `Available Plugins` on the left navigation bar. You’ll need to fetch the list of available plugins by clicking the link.
|
||||
|
||||
@ -60,17 +94,13 @@ Once loaded, press the green plus on the right for `REST API`.
|
||||
|
||||
Navigate the `Server` tab, `Sever Settings` subtab. At the bottom of the left navigation bar select `REST API`.
|
||||
|
||||
Select `Enabled`, and `Secret Key Auth`. Update Alliance Auth settings with this secret key as `OPENFIRE_SECRET_KEY`.
|
||||
Select `Enabled`, and `Secret Key Auth`. Update your auth project's settings with this secret key as `OPENFIRE_SECRET_KEY`.
|
||||
|
||||
### Broadcast Plugin Setup
|
||||
|
||||
Navigate to the `Users/Groups` tab and select `Create New User` from the left navigation bar.
|
||||
|
||||
Username is what you set in `BROADCAST_USER` without the @ sign, usually `broadcast`.
|
||||
|
||||
Password is what you set in `BROADCAST_USER_PASSWORD`
|
||||
|
||||
Press `Create User` to save this user.
|
||||
Pick a username (eg `broadcast`) and password for your ping user. Enter these in your auth project's settings file as `BROADCAST_USER` and `BROADCAST_USER_PASSWORD`. Note that `BROADCAST_USER` needs to be in the format `user@example.com` matching your jabber server name. Press `Create User` to save this user.
|
||||
|
||||
Broadcasting requires a plugin. Navigate to the `plugins` tab, press the green plus for the `Broadcast` plugin.
|
||||
|
||||
@ -82,9 +112,13 @@ Navigate to the `Server` tab, `Server Manager` subtab, and select `System Proper
|
||||
- Name: `plugin.broadcast.allowedUsers`
|
||||
- Value: `broadcast@example.com`, replacing the domain name with yours
|
||||
- Do not encrypt this property value
|
||||
|
||||
|
||||
If you have troubles getting broadcasts to work, you can try setting the optional (you will need to add it) `BROADCAST_IGNORE_INVALID_CERT` setting to `True`. This will allow invalid certificates to be used when connecting to the Openfire server to send a broadcast.
|
||||
|
||||
### Preparing Auth
|
||||
|
||||
Once all settings are entered, run migrations and restart gunicorn and celery.
|
||||
|
||||
### Group Chat
|
||||
Channels are available which function like a chat room. Access can be controlled either by password or ACL (not unlike mumble).
|
||||
|
||||
@ -98,6 +132,3 @@ Navigate to the `Group Chat` tab and select `Create New Room` from the left navi
|
||||
Now select your new room. On the left navigation bar, select `Permissions`.
|
||||
|
||||
ACL is achieved by assigning groups to each of the three tiers: `Owners`, `Admins` and `Members`. `Outcast` is the blacklist. You’ll usually only be assigning groups to the `Member` category.
|
||||
|
||||
## Setup Complete
|
||||
You’ve finished the steps required to make AllianceAuth work with Openfire. Play around with it and make it your own.
|
||||
|
@ -1,14 +1,41 @@
|
||||
# phpBB3
|
||||
|
||||
Add `allianceauth.services.modules.phpbb3` to your `INSTALLED_APPS` list and run migrations before continuing with this guide to ensure the service is installed.
|
||||
and run migrations before continuing with this guide to ensure the service is installed.
|
||||
|
||||
## Overview
|
||||
phpBB is a free php-based forum. It’s the default forum for AllianceAuth.
|
||||
|
||||
## Dependencies
|
||||
All dependencies should have been taken care of during setup.
|
||||
PHPBB3 requires php installed in your web server. Apache has `mod_php`, NGINX requires `php-fpm`. See [the official guide](https://www.phpbb.com/community/docs/INSTALL.html) 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 website’s [downloads section](https://www.phpbb.com/downloads/) using your PC browser and copy the URL for the latest version zip.
|
||||
|
||||
@ -30,8 +57,51 @@ The web server needs read/write permission to this folder
|
||||
|
||||
sudo chown -R www-data:www-data /var/www/forums
|
||||
|
||||
### 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 http://example.com/forums where you will be presented with an installer.
|
||||
Navigate to your forums web address where you will be presented with an installer.
|
||||
|
||||
Click on the `Install` tab.
|
||||
|
||||
@ -42,7 +112,7 @@ Under Database Settings, set the following:
|
||||
- Database Server Hostname is `127.0.0.1`
|
||||
- Database Server Port is left blank
|
||||
- Database Name is `alliance_forum`
|
||||
- Database Username is your MySQL user for AllianceAuth, usually `allianceserver`
|
||||
- Database Username is your auth MySQL user, usually `allianceserver`
|
||||
- Database Password is this user’s password
|
||||
|
||||
You should see `Succesful Connection` and proceed.
|
||||
@ -67,5 +137,5 @@ You can allow members to overwrite the portrait with a custom image if desired.
|
||||
|
||||

|
||||
|
||||
## Setup Complete
|
||||
You’ve finished the steps required to make AllianceAuth work with phpBB. Play around with it and make it your own.
|
||||
### Prepare Auth
|
||||
Once settings have been configured, run migrations and restart gunicorn and celery.
|
||||
|
@ -1,20 +1,33 @@
|
||||
# SMF
|
||||
|
||||
Add `allianceauth.services.modules.smf` to your `INSTALLED_APPS` list and run migrations before continuing with this guide to ensure the service is installed.
|
||||
|
||||
## Overview
|
||||
SMF is a free php-based forum. It’s the one of the forums for AllianceAuth.
|
||||
SMF is a free php-based forum.
|
||||
|
||||
## Dependencies
|
||||
All dependencies should have been taken care of during setup.
|
||||
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:
|
||||
|
||||
|
||||
# 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/.
|
||||
|
||||
In the console, navigate to your user’s home directory: `cd ~`
|
||||
|
||||
Now download using wget, replacing the url with the url for the package you just retrieved
|
||||
Download using wget, replacing the url with the url for the package you just retrieved
|
||||
|
||||
wget http://download.simplemachines.org/index.php?thanks;filename=smf_2-0-13_install.zip
|
||||
|
||||
@ -30,8 +43,54 @@ The web server needs read/write permission to this folder
|
||||
|
||||
sudo chown -R www-data:www-data /var/www/forums
|
||||
|
||||
### Database Preparation
|
||||
SMF needs a database. Create one:
|
||||
|
||||
mysql -u root -p
|
||||
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 Alliance Market.
|
||||
|
||||
A minimal apache config might look like:
|
||||
|
||||
<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:
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
server_name forums.example.com;
|
||||
root /var/www/forums;
|
||||
index app.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.
|
||||
|
||||
### Preparing Auth
|
||||
Once settings are entered, apply migrations and restart gunicorn and celery.
|
||||
|
||||
### Web Install
|
||||
Navigate to http://example.com/forums where you will be presented with an installer.
|
||||
Navigate to your forums address where you will be presented with an installer.
|
||||
|
||||
Click on the `Install` tab.
|
||||
|
||||
@ -42,11 +101,7 @@ Under Database Settings, set the following:
|
||||
- Database Server Hostname is `127.0.0.1`
|
||||
- Database Server Port is left blank
|
||||
- Database Name is `alliance_smf`
|
||||
- Database Username is your MySQL user for AllianceAuth, usually `allianceserver`
|
||||
- Database Username is your auth MySQL user, usually `allianceserver`
|
||||
- Database Password is this user’s password
|
||||
|
||||
Follow the Directions in the installer.
|
||||
|
||||
|
||||
## Setup Complete
|
||||
You’ve finished the steps required to make AllianceAuth work with SMF. Play around with it and make it your own.
|
||||
Follow the directions in the installer.
|
@ -1,30 +1,42 @@
|
||||
# Teamspeak 3
|
||||
|
||||
Add `allianceauth.services.modules.teamspeak3` to your `INSTALLED_APPS` list and run migrations before continuing with this guide to ensure the service is installed.
|
||||
|
||||
## Overview
|
||||
Teamspeak3 is the most popular VOIP program for gamers.
|
||||
|
||||
But have you considered using Mumble? Not only is it free, but it has features and performance far superior to Teamspeak3.
|
||||
|
||||
## Dependencies
|
||||
All dependencies should have been taken care of during the AllianceAuth install.
|
||||
|
||||
## Setup
|
||||
Sticking with it? Alright, I tried.
|
||||
Sticking with TS3? Alright, I tried.
|
||||
|
||||
### Prepare Your Settings
|
||||
In your auth project's settings file, do the following:
|
||||
- Add `'allianceauth.services.modules.teamspeak3',` to your `INSTALLED_APPS` list
|
||||
- Append the following to the bottom of the settings file:
|
||||
|
||||
|
||||
# Teamspeak3 Configuration
|
||||
TEAMSPEAK3_SERVER_IP = '127.0.0.1'
|
||||
TEAMSPEAK3_SERVER_PORT = 10011
|
||||
TEAMSPEAK3_SERVERQUERY_USER = 'serveradmin'
|
||||
TEAMSPEAK3_SERVERQUERY_PASSWORD = ''
|
||||
TEAMSPEAK3_VIRTUAL_SERVER = 1
|
||||
TEAMSPEAK3_PUBLIC_URL = ''
|
||||
|
||||
CELERYBEAT_SCHEDULE['run_ts3_group_update'] = {
|
||||
'task': 'services.modules.teamspeak3.tasks.run_ts3_group_update',
|
||||
'schedule': crontab(minute='*/30'),
|
||||
}
|
||||
|
||||
### Download Installer
|
||||
To install we need a copy of the server. You can find the latest version from [this dl server](http://dl.4players.de/ts/releases/) (I’d recommed getting the latest stable version – find this version number from the [TeamSpeak site](https://www.teamspeak.com/downloads#)). Be sure to get a link to the linux version.
|
||||
|
||||
From the console, ensure you’re in the user’s home directory: `cd ~`
|
||||
Download the server, replacing the link with the link you got earlier.
|
||||
|
||||
And now download the server, replacing the link with the link you got earlier.
|
||||
|
||||
http://dl.4players.de/ts/releases/3.0.13.6/teamspeak3-server_linux_amd64-3.0.13.6.tar.bz2
|
||||
http://dl.4players.de/ts/releases/3.1.0/teamspeak3-server_linux_amd64-3.1.0.tar.bz2
|
||||
|
||||
Now we need to extract the file.
|
||||
|
||||
tar -xf teamspeak3-server_linux_amd64-3.0.13.6.tar.bz2
|
||||
tar -xf teamspeak3-server_linux_amd64-3.1.0.tar.bz2
|
||||
|
||||
### Create User
|
||||
Teamspeak needs its own user.
|
||||
@ -48,18 +60,18 @@ Finally we start the server.
|
||||
sudo service teamspeak start
|
||||
|
||||
### Update Settings
|
||||
The console will spit out a block of text. **SAVE THIS**.
|
||||
|
||||
Update the AllianceAuth settings file with the following from that block of text:
|
||||
- `TEAMSPEAK3_SERVERQUERY_USER` is `loginname` (usually `serveradmin`)
|
||||
- `TEAMSPEAK3_SERVERQUERY_PASSWORD` is `password`
|
||||
|
||||
Save and reload apache. Restart celery workers as well.
|
||||
|
||||
sudo service apache2 reload
|
||||
The console will spit out a block of text. If it does not appear, it can be found with `sudo service teamspeak status`. **SAVE THIS**.
|
||||
|
||||
If you plan on claiming the ServerAdmin token, do so with a different TeamSpeak client profile than the one used for your auth account, or you will lose your admin status.
|
||||
|
||||
Edit the settings you added to your auth project's settings file earlier, entering the following:
|
||||
- `TEAMSPEAK3_SERVERQUERY_USER` is `loginname` from that block of text it just spat out (usually `serveradmin`)
|
||||
- `TEAMSPEAK3_SERVERQUERY_PASSWORD` is `password` from that block of text it just spat out
|
||||
- `TEAMSPEAK_VIRTUAL_SERVER` is the virtual server ID of the server to be managed - it will only ever not be 1 if your server is hosted by a professional company
|
||||
- `TEAMSPEAK3_PUBLIC_URL` is the public address of your teamspeak server. Do not include any leading http:// or teamspeak://
|
||||
|
||||
Once settings are entered, run migrations and restart gunicorn and celery.
|
||||
|
||||
### Generate User Account
|
||||
And now we can generate ourselves a user account. Navigate to the services in AllianceAuth for your user account and press the checkmark for TeamSpeak 3.
|
||||
|
||||
@ -82,13 +94,14 @@ Using the advanced permissions editor, ensure the `Guest` group has the permissi
|
||||
To enable advanced permissions, on your client go to the `Tools` menu, `Application`, and under the `Misc` section, tick `Advanced permission system`
|
||||
|
||||
### TS group models not populating on admin site
|
||||
The method which populates these runs every 30 minutes. To populate manually, start a celery shell:
|
||||
The method which populates these runs every 30 minutes. To populate manually, start a django shell:
|
||||
|
||||
celery -A alliance_auth shell
|
||||
python manage.py shell
|
||||
|
||||
And execute the update:
|
||||
|
||||
run_ts3_group_update()
|
||||
from services.modules.teamspeak3.tasks import Teamspeak3Tasks
|
||||
Teamspeak3Tasks.run_ts3_group_update()
|
||||
|
||||
Ensure that command does not return an error.
|
||||
|
||||
@ -110,8 +123,8 @@ If you have SSH access to the server hosting it, you need to locate the teamspea
|
||||
|
||||
### `520 invalid loginname or password`
|
||||
|
||||
The serverquery account login specified in settings.py is incorrect. Please verify `TEAMSPEAK3_SERVERQUERY_USER` and `TEAMSPEAK3_SERVERQUERY_PASSWORD`. The [installation section](#update-settings) describes where to get them.
|
||||
The serverquery account login specified in local.py is incorrect. Please verify `TEAMSPEAK3_SERVERQUERY_USER` and `TEAMSPEAK3_SERVERQUERY_PASSWORD`. The [installation section](#update-settings) describes where to get them.
|
||||
|
||||
### `2568 insufficient client permissions`
|
||||
|
||||
This usually occurs if you've created a separate serverquery user to use with auth. It has not been assigned sufficient permissions to complete all the tasks required of it. The full list of required permissions is not known, so assign liberally.
|
||||
This usually occurs if you've created a separate serverquery user to use with auth. It has not been assigned sufficient permissions to complete all the tasks required of it. The full list of required permissions is not known, so assign liberally.
|
||||
|
@ -1,10 +1,19 @@
|
||||
# XenForo
|
||||
|
||||
Add `allianceauth.services.modules.xenforo` to your `INSTALLED_APPS` list and run migrations before continuing with this guide to ensure the service is installed.
|
||||
## Overview
|
||||
[XenForo](https://xenforo.com/) is a popular paid forum. This guide will assume that you already have XenForo installed with a valid license (please keep in mind that XenForo is not free nor open-source, therefore you need to purchase a license first). If you come across any problems related with the installation of XenForo please contact their support service.
|
||||
|
||||
In this chapter we will explore how to setup AllianceAuth to work with [XenForo](https://xenforo.com/). At this point we will assume that you already have XenForo installed with a valid license (please keep in mind that XenForo is not free nor open-source, therefore you need to purchase a license first). If you come across any problems related with the installation of XenForo please contact their support service.
|
||||
## Prepare Your Settings
|
||||
In your auth project's settings file, do the following:
|
||||
- Add `'allianceauth.services.modules.xenforo',` to your `INSTALLED_APPS` list
|
||||
- Append the following to your local.py settings file:
|
||||
|
||||
|
||||
# XenForo Configuration
|
||||
XENFORO_ENDPOINT = 'example.com/api.php'
|
||||
XENFORO_DEFAULT_GROUP = 0
|
||||
XENFORO_APIKEY = 'yourapikey'
|
||||
|
||||
## XenAPI
|
||||
|
||||
By default XenForo does not support any kind of API, however there is a third-party package called [XenAPI](https://github.com/Contex/XenAPI) which provides a simple REST interface by which we can access XenForo's functions in order to create and edit users.
|
||||
@ -20,14 +29,12 @@ $restAPI = new RestAPI('REPLACE_THIS_WITH_AN_API_KEY');
|
||||
|
||||
## Configuration
|
||||
|
||||
AllianceAuth only needs to know 3 things about XenForo.
|
||||
The settings you created earlier now need to be filled out.
|
||||
|
||||
+ The API Endpoint
|
||||
+ The API Key
|
||||
+ The default group
|
||||
`XENFORO_ENDPOINT` is the address to the API you added. No leading `http://`, but be sure to include the `/api.php` at the end.
|
||||
|
||||
The first two should be self explanatory. The default group is where AllianceAuth will add the user once his account is created. Unfortunately XenAPI **cannot create new groups**, therefore you have to create a group manually and then get its ID.
|
||||
`XENFORO_DEFAULT_GROUP` is the ID of the group in XenForo auth users will be added to. Unfortunately XenAPI **cannot create new groups**, therefore you have to create a group manually and then get its ID.
|
||||
|
||||
When you have a forum section which should be accessible ONLY by the auth'd users the access settings must be set to the default group.
|
||||
`XENFORO_API_KEY` is the API key value you set earlier.
|
||||
|
||||
In the future we will have different groups for blues and alliance/corp members.
|
||||
Once these are entered, run migrations and restart gunicorn and celery.
|
Loading…
x
Reference in New Issue
Block a user