mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-09 12:30:15 +02:00
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".
This commit is contained in:
parent
cd8bcfbbb5
commit
95f72c854d
@ -42,8 +42,9 @@ ESI_SSO_CLIENT_SECRET = ''
|
|||||||
ESI_SSO_CALLBACK_URL = ''
|
ESI_SSO_CALLBACK_URL = ''
|
||||||
|
|
||||||
# By default emails are validated before new users can log in.
|
# By default emails are validated before new users can log in.
|
||||||
# It's recommended to use a free service like SparkPost or Mailgun to send email.
|
# It's recommended to use a free service like SparkPost or Elastic Email to send email.
|
||||||
# https://www.sparkpost.com/docs/integrations/django/
|
# https://www.sparkpost.com/docs/integrations/django/
|
||||||
|
# https://elasticemail.com/resources/settings/smtp-api/
|
||||||
# Set the default from email to something like 'noreply@example.com'
|
# Set the default from email to something like 'noreply@example.com'
|
||||||
# Email validation can be turned off by uncommenting the line below. This can break some services.
|
# Email validation can be turned off by uncommenting the line below. This can break some services.
|
||||||
# REGISTRATION_VERIFY_EMAIL = False
|
# REGISTRATION_VERIFY_EMAIL = False
|
||||||
|
@ -54,7 +54,7 @@ master_doc = 'index'
|
|||||||
|
|
||||||
# General information about the project.
|
# General information about the project.
|
||||||
project = u'Alliance Auth'
|
project = u'Alliance Auth'
|
||||||
copyright = u'2017, Alliance Auth'
|
copyright = u'2018, Alliance Auth'
|
||||||
author = u'R4stl1n'
|
author = u'R4stl1n'
|
||||||
|
|
||||||
# The version info for the project you're documenting, acts as replacement for
|
# The version info for the project you're documenting, acts as replacement for
|
||||||
@ -62,7 +62,7 @@ author = u'R4stl1n'
|
|||||||
# built documents.
|
# built documents.
|
||||||
#
|
#
|
||||||
# The short X.Y version.
|
# The short X.Y version.
|
||||||
version = u'1.14'
|
version = u'2.0'
|
||||||
# The full version, including alpha/beta/rc tags.
|
# The full version, including alpha/beta/rc tags.
|
||||||
# release = u'1.14.0'
|
# release = u'1.14.0'
|
||||||
|
|
||||||
@ -156,7 +156,7 @@ man_pages = [
|
|||||||
# dir menu entry, description, category)
|
# dir menu entry, description, category)
|
||||||
texinfo_documents = [
|
texinfo_documents = [
|
||||||
(master_doc, 'AllianceAuth', u'Alliance Auth Documentation',
|
(master_doc, 'AllianceAuth', u'Alliance Auth Documentation',
|
||||||
author, 'AllianceAuth', 'Alliance service auth to help large scale alliances manage services.',
|
author, 'AllianceAuth', 'An auth system for EVE Online to help in-game organizations manage online service access.',
|
||||||
'Miscellaneous'),
|
'Miscellaneous'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ The documentation for Alliance Auth uses [Sphinx](http://www.sphinx-doc.org/) to
|
|||||||
[readthedocs.org](https://readthedocs.org/).
|
[readthedocs.org](https://readthedocs.org/).
|
||||||
|
|
||||||
|
|
||||||
Documentation was migrated from the Github wiki pages and into the repository to allow documentation changes to be
|
Documentation was migrated from the GitHub wiki pages and into the repository to allow documentation changes to be
|
||||||
included with pull requests. This means that documentation can be guaranteed to be updated when a pull request is
|
included with pull requests. This means that documentation can be guaranteed to be updated when a pull request is
|
||||||
accepted rather than hoping documentation is updated afterwards or relying on maintainers to do the work. It also
|
accepted rather than hoping documentation is updated afterwards or relying on maintainers to do the work. It also
|
||||||
allows for documentation to be maintained at different versions more easily.
|
allows for documentation to be maintained at different versions more easily.
|
||||||
|
@ -49,7 +49,7 @@ This would register the ExampleService class which would need to be a subclass o
|
|||||||
|
|
||||||
```eval_rst
|
```eval_rst
|
||||||
.. important::
|
.. important::
|
||||||
The hook **MUST** be registered in `yourservice.auth_hooks` along with any other hooks you are registering for Alliance Auth.
|
The hook **MUST** be registered in ``yourservice.auth_hooks`` along with any other hooks you are registering for Alliance Auth.
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
@ -97,7 +97,7 @@ Functions:
|
|||||||
Internal name of the module, should be unique amongst modules.
|
Internal name of the module, should be unique amongst modules.
|
||||||
|
|
||||||
#### self.urlpatterns
|
#### self.urlpatterns
|
||||||
You should define all of your service urls internally, usually in `urls.py`. Then you can import them and set `self.urlpatterns` to your defined urlpatterns.
|
You should define all of your service URLs internally, usually in `urls.py`. Then you can import them and set `self.urlpatterns` to your defined urlpatterns.
|
||||||
|
|
||||||
from . import urls
|
from . import urls
|
||||||
...
|
...
|
||||||
|
@ -24,12 +24,12 @@ When you create an autogroup config you will be given the following options:
|
|||||||
After creating a group you wont be able to change the Corp and Alliance group prefixes, name source and the replace spaces settings. Make sure you configure these the way you want before creating the config. If you need to change these you will have to create a new autogroup config.
|
After creating a group you wont be able to change the Corp and Alliance group prefixes, name source and the replace spaces settings. Make sure you configure these the way you want before creating the config. If you need to change these you will have to create a new autogroup config.
|
||||||
```
|
```
|
||||||
|
|
||||||
- States selects which states will be added to automatic corp/alliance groups
|
- States selects which states will be added to automatic Corp/Alliance groups
|
||||||
|
|
||||||
- Corp/Alliance groups checkbox toggles corp/alliance autogroups on or off for this config.
|
- Corp/Alliance groups checkbox toggles Corp/Alliance autogroups on or off for this config.
|
||||||
|
|
||||||
- Corp/Alliance group prefix sets the prefix for the group name, e.g. if your corp was called `MyCorp` and your prefix was `Corp `, your autogroup name would be created as `Corp MyCorp`. This field accepts leading/trailing spaces.
|
- Corp/Alliance group prefix sets the prefix for the group name, e.g. if your Corp was called `MyCorp` and your prefix was `Corp `, your autogroup name would be created as `Corp MyCorp`. This field accepts leading/trailing spaces.
|
||||||
|
|
||||||
- Corp/Alliance name source sets the source of the corp/alliance name used in creating the group name. Currently the options are Full name and Ticker.
|
- Corp/Alliance name source sets the source of the Corp/Alliance name used in creating the group name. Currently the options are Full name and Ticker.
|
||||||
|
|
||||||
- Replace spaces allows you to replace spaces in the autogroup name with the value in the Replace spaces with field. This can be blank.
|
- Replace spaces allows you to replace spaces in the autogroup name with the value in the Replace spaces with field. This can be blank.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Corp Stats
|
# Corp Stats
|
||||||
|
|
||||||
This module is used to check the registration status of corp members and to determine character relationships, being mains or alts.
|
This module is used to check the registration status of Corp members and to determine character relationships, being mains or alts.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
@ -10,13 +10,13 @@ Add `'allianceauth.corputils',` to your `INSTALLED_APPS` list in your auth proje
|
|||||||
|
|
||||||
## Creating a Corp Stats
|
## Creating a Corp Stats
|
||||||
|
|
||||||
Upon initial install, nothing will be visible. For every corp, a model will have to be created before data can be viewed.
|
Upon initial install, nothing will be visible. For every Corp, a model will have to be created before data can be viewed.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
If you are a superuser, the add button will be immediate visible to you. If not, your user account requires the `add_corpstats` permission.
|
If you are a superuser, the add button will be immediate visible to you. If not, your user account requires the `add_corpstats` permission.
|
||||||
|
|
||||||
Corp Stats requires an EVE SSO token to access data from the EVE Swagger Interface. Upon pressing the Add button, you will be prompted to authenticated. Please select the character who is in the corp you want data for.
|
Corp Stats requires an EVE SSO token to access data from the EVE Swagger Interface. Upon pressing the Add button, you will be prompted to authenticated. Please select the character who is in the Corporation you want data for.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@ -33,7 +33,7 @@ If it fails an error message will be displayed.
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
This bar contains a dropdown menu of all available corps. If the user has the `add_corpstats` permission, a button to add a Corp Stats will be shown.
|
This bar contains a dropdown menu of all available Corporations. If the user has the `add_corpstats` permission, a button to add a Corp Stats will be shown.
|
||||||
|
|
||||||
On the right of this bar is a search field. Press enter to search. It checks all characters in all Corp Stats you have view permission to and returns search results.
|
On the right of this bar is a search field. Press enter to search. It checks all characters in all Corp Stats you have view permission to and returns search results.
|
||||||
|
|
||||||
@ -60,15 +60,15 @@ Each view contains a sortable and searchable table. The number of listings shown
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
This list contains all main characters in registered in the selected corporation and their alts. Each character has a link to [zKillboard](https://zkillboard.com).
|
This list contains all main characters in registered in the selected Corporation and their alts. Each character has a link to [zKillboard](https://zkillboard.com).
|
||||||
|
|
||||||
|
|
||||||
#### Member List
|
#### Member List
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The list contains all characters in the corp. Red backgrounds means they are not registered in auth. A link to [zKillboard](https://zkillboard.com) is present for all characters.
|
The list contains all characters in the Corporation. Red backgrounds means they are not registered in auth. A link to [zKillboard](https://zkillboard.com) is present for all characters.
|
||||||
If registered, the character will also have a main character, main corporation, and main alliance field.
|
If registered, the character will also have a main character, main Corporation, and main Alliance field.
|
||||||
|
|
||||||
#### Unregistered List
|
#### Unregistered List
|
||||||
|
|
||||||
@ -80,7 +80,7 @@ This list contains all characters not registered on auth. Each character has a l
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
This view is essentially the same as the Corp Stats page, but not specific to a single corp.
|
This view is essentially the same as the Corp Stats page, but not specific to a single Corporation.
|
||||||
The search query is visible in the search box.
|
The search query is visible in the search box.
|
||||||
Characters from all Corp Stats to which the user has view access will be displayed. APIs respect permissions.
|
Characters from all Corp Stats to which the user has view access will be displayed. APIs respect permissions.
|
||||||
|
|
||||||
@ -108,7 +108,7 @@ To use this feature, users will require some of the following:
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Users who add a Corp Stats with their token will be granted permissions to view it regardless of the above permissions. View permissions are interpreted in the "OR" sense: a user can view their corp's Corp Stats without the `view_corp_corpstats` permission if they have the `view_alliance_corpstats` permission, same idea for their state. Note that these evaluate against the user's main character.
|
Users who add a Corp Stats with their token will be granted permissions to view it regardless of the above permissions. View permissions are interpreted in the "OR" sense: a user can view their Corporations's Corp Stats without the `view_corp_corpstats` permission if they have the `view_alliance_corpstats` permission, same idea for their state. Note that these evaluate against the user's main character.
|
||||||
|
|
||||||
## Automatic Updating
|
## Automatic Updating
|
||||||
By default Corp Stats are only updated on demand. If you want to automatically refresh on a schedule, add an entry to your project's settings file:
|
By default Corp Stats are only updated on demand. If you want to automatically refresh on a schedule, add an entry to your project's settings file:
|
||||||
@ -126,12 +126,12 @@ Adjust the crontab as desired.
|
|||||||
|
|
||||||
>Unrecognized corporation. Please ensure it is a member of the alliance or a blue.
|
>Unrecognized corporation. Please ensure it is a member of the alliance or a blue.
|
||||||
|
|
||||||
Corp Stats can only be created for corporations who have a model in the database. These only exist for tenant corps,
|
Corp Stats can only be created for Corporations who have a model in the database. These only exist for tenant corps,
|
||||||
corps of tenant alliances, blue corps, and members of blue alliances.
|
corps of tenant alliances, blue corps, and members of blue alliances.
|
||||||
|
|
||||||
>Selected corp already has a statistics module.
|
>Selected corp already has a statistics module.
|
||||||
|
|
||||||
Only one Corp Stats may exist at a time for a given corporation.
|
Only one Corp Stats may exist at a time for a given Corporation.
|
||||||
|
|
||||||
>Failed to gather corporation statistics with selected token.
|
>Failed to gather corporation statistics with selected token.
|
||||||
|
|
||||||
@ -147,7 +147,7 @@ This occurs when the SSO token is invalid, which can occur when deleted by the u
|
|||||||
|
|
||||||
>CorpStats for (corp name) cannot update with your ESI token as you have left corp.
|
>CorpStats for (corp name) cannot update with your ESI token as you have left corp.
|
||||||
|
|
||||||
The SSO token's character is no longer in the corp which the Corp Stats is for, and therefore membership data cannot be retrieved.
|
The SSO token's character is no longer in the Corporation which the Corp Stats is for, and therefore membership data cannot be retrieved.
|
||||||
|
|
||||||
>HTTPForbidden
|
>HTTPForbidden
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ Additional settings are required. Append the following settings to the end of yo
|
|||||||
FLEETUP_API_ID = '' # The API id from http://fleet-up.com/Api/MyKeys
|
FLEETUP_API_ID = '' # The API id from http://fleet-up.com/Api/MyKeys
|
||||||
FLEETUP_GROUP_ID = '' # The id of the group you want to pull data from, see http://fleet-up.com/Api/Endpoints#groups_mygroupmemberships
|
FLEETUP_GROUP_ID = '' # The id of the group you want to pull data from, see http://fleet-up.com/Api/Endpoints#groups_mygroupmemberships
|
||||||
|
|
||||||
Once filled out restart gunicorn and celery.
|
Once filled out restart Gunicorn and Celery.
|
||||||
|
|
||||||
## Permissions
|
## Permissions
|
||||||
|
|
||||||
|
@ -8,15 +8,15 @@ Add `'allianceauth.hrapplications',` to your `INSTALLED_APPS` list in your auth
|
|||||||
|
|
||||||
### Creating Forms
|
### Creating Forms
|
||||||
|
|
||||||
The most common task is creating ApplicationForm models for corps. Only when such models exist will a corp be listed as a choice for applicants. This occurs in the django admin site, so only staff have access.
|
The most common task is creating ApplicationForm models for corps. Only when such models exist will a Corporation be listed as a choice for applicants. This occurs in the Django admin site, so only staff have access.
|
||||||
|
|
||||||
The first step is to create questions. This is achieved by creating ApplicationQuestion models, one for each question. Titles are not unique.
|
The first step is to create questions. This is achieved by creating ApplicationQuestion models, one for each question. Titles are not unique.
|
||||||
|
|
||||||
Next step is to create the actual ApplicationForm model. It requires an existing EveCorporationInfo model to which it will belong. It also requires the selection of questions. ApplicationForm models are unique per corp: only one may exist for any given corp concurrently.
|
Next step is to create the actual ApplicationForm model. It requires an existing EveCorporationInfo model to which it will belong. It also requires the selection of questions. ApplicationForm models are unique per Corporation: only one may exist for any given Corporation concurrently.
|
||||||
|
|
||||||
You can adjust these questions at any time. This is the preferred method of modifying the form: deleting and recreating will cascade the deletion to all received applications from this form which is usually not intended.
|
You can adjust these questions at any time. This is the preferred method of modifying the form: deleting and recreating will cascade the deletion to all received applications from this form which is usually not intended.
|
||||||
|
|
||||||
Once completed the corp will be available to receive applications.
|
Once completed the Corporation will be available to receive applications.
|
||||||
|
|
||||||
### Reviewing Applications
|
### Reviewing Applications
|
||||||
|
|
||||||
@ -63,11 +63,11 @@ This is the model representation of a question. It contains a title, and a field
|
|||||||
|
|
||||||
### ApplicationForm
|
### ApplicationForm
|
||||||
|
|
||||||
This is the template for an application. It points at a corp, with only one form allowed per corp. It also points at ApplicationQuestion models. When a user creates an application, they will be prompted with each question the form includes at the given time. Modifying questions in a form after it has been created will not be reflected in existing applications, so it's perfectly fine to adjust them as you see fit. Changing corps however is not advisable, as existing applications will point at the wrong corp after they've been submitted, confusing reviewers.
|
This is the template for an application. It points at a Corporation, with only one form allowed per Corporation. It also points at ApplicationQuestion models. When a user creates an application, they will be prompted with each question the form includes at the given time. Modifying questions in a form after it has been created will not be reflected in existing applications, so it's perfectly fine to adjust them as you see fit. Changing Corporations however is not advisable, as existing applications will point at the wrong Corporation after they've been submitted, confusing reviewers.
|
||||||
|
|
||||||
### Application
|
### Application
|
||||||
|
|
||||||
This is the model representation of a completed application. It references an ApplicationForm from which it was spawned which is where the corp specificity comes from. It points at a user, contains info regarding its reviewer, and has a status. Shortcut properties also provide the applicant's main character, the applicant's APIs, and a string representation of the reviewer (for cases when the reviewer doesn't have a main character or the model gets deleted).
|
This is the model representation of a completed application. It references an ApplicationForm from which it was spawned which is where the Corporation specificity comes from. It points at a user, contains info regarding its reviewer, and has a status. Shortcut properties also provide the applicant's main character, the applicant's APIs, and a string representation of the reviewer (for cases when the reviewer doesn't have a main character or the model gets deleted).
|
||||||
|
|
||||||
### ApplicationResponse
|
### ApplicationResponse
|
||||||
|
|
||||||
@ -81,7 +81,7 @@ This is a reviewer's comment on an application. Points at the application, point
|
|||||||
|
|
||||||
### No corps accepting applications
|
### No corps accepting applications
|
||||||
|
|
||||||
Ensure there are ApplicationForm models in the admin site. Ensure the user does not already have an application to these corps. If the users wishes to re-apply they must first delete their completed application
|
Ensure there are ApplicationForm models in the admin site. Ensure the user does not already have an application to these Corporations. If the users wishes to re-apply they must first delete their completed application
|
||||||
|
|
||||||
### Reviewer unable to complete application
|
### Reviewer unable to complete application
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
New in 2.0
|
New in 2.0
|
||||||
```
|
```
|
||||||
|
|
||||||
Each service's username or nickname, depending on which the service supports, can be customised through the use of the Name Formatter Config provided the service supports custom formats. This config can be found in the admin panel under **Services -> Name format config**
|
Each service's username or nickname, depending on which the service supports, can be customised through the use of the Name Formatter config provided the service supports custom formats. This config can be found in the admin panel under **Services -> Name format config**
|
||||||
|
|
||||||
Currently the following services support custom name formats:
|
Currently the following services support custom name formats:
|
||||||
|
|
||||||
@ -37,7 +37,7 @@ Currently the following services support custom name formats:
|
|||||||
|
|
||||||
```eval_rst
|
```eval_rst
|
||||||
.. note::
|
.. note::
|
||||||
It's important to note here, before we get into what you can do with a name formatter, that before the generated name is passed off to the service to create an account it will be sanitised to remove characters (the letters and numbers etc) that the service cannot support. This means that, despite what you configured, the service may display something different. It is up to you to test your formatter and understand how your format may be disrupted by a certain services sanitisation function.
|
It's important to note here, before we get into what you can do with a name formatter, that before the generated name is passed off to the service to create an account it will be sanitised to remove characters (the letters and numbers etc.) that the service cannot support. This means that, despite what you configured, the service may display something different. It is up to you to test your formatter and understand how your format may be disrupted by a certain services sanitisation function.
|
||||||
```
|
```
|
||||||
|
|
||||||
## Available format data
|
## Available format data
|
||||||
@ -53,14 +53,14 @@ The following fields are available from a users account and main character:
|
|||||||
- `alliance_id`
|
- `alliance_id`
|
||||||
- `alliance_name`
|
- `alliance_name`
|
||||||
- `alliance_ticker`
|
- `alliance_ticker`
|
||||||
- `alliance_or_corp_name` (defaults to corp name if there is no alliance)
|
- `alliance_or_corp_name` (defaults to Corporation name if there is no Alliance)
|
||||||
- `alliance_or_corp_ticker` (defaults to corp ticker if there is no alliance)
|
- `alliance_or_corp_ticker` (defaults to Corporation ticker if there is no Alliance)
|
||||||
|
|
||||||
## Building a formatter string
|
## Building a formatter string
|
||||||
|
|
||||||
The name formatter uses the advanced string formatting specified by [PEP-3101](https://www.python.org/dev/peps/pep-3101/). Anything supported by this specification is supported in a name formatter.
|
The name formatter uses the advanced string formatting specified by [PEP-3101](https://www.python.org/dev/peps/pep-3101/). Anything supported by this specification is supported in a name formatter.
|
||||||
|
|
||||||
A more digestable documentation of string formatting in Python is available on the [PyFormat](https://pyformat.info/) website.
|
A more digestible documentation of string formatting in Python is available on the [PyFormat](https://pyformat.info/) website.
|
||||||
|
|
||||||
Some examples of strings you could use:
|
Some examples of strings you could use:
|
||||||
```eval_rst
|
```eval_rst
|
||||||
|
@ -1,10 +1,5 @@
|
|||||||
# Permissions Auditing
|
# Permissions Auditing
|
||||||
|
|
||||||
```eval_rst
|
|
||||||
.. note::
|
|
||||||
New in 1.15
|
|
||||||
```
|
|
||||||
|
|
||||||
Access to most of Alliance Auth's features are controlled by Django's permissions system. In order to help you secure your services, Alliance Auth provides a permissions auditing tool.
|
Access to most of Alliance Auth's features are controlled by Django's permissions system. In order to help you secure your services, Alliance Auth provides a permissions auditing tool.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
In Alliance Auth v1 admins were able to define which corporations and alliances were to be considered "members" with full permissions and "blues" with restricted permissions. The state system is the replacement for these static definitions: admins can now create as many states as desired, as well as extend membership to specific characters.
|
In Alliance Auth v1 admins were able to define which Corporations and Alliances were to be considered "members" with full permissions and "blues" with restricted permissions. The state system is the replacement for these static definitions: admins can now create as many states as desired, as well as extend membership to specific characters.
|
||||||
|
|
||||||
## Creating a State
|
## Creating a State
|
||||||
States are created through your installation's admin site. Upon install three states are created for you: `Member`, `Blue`, and `Guest`. New ones can be created like any other Django model by users with the appropriate permission (`authentication | state | Can add state`) or superusers.
|
States are created through your installation's admin site. Upon install three states are created for you: `Member`, `Blue`, and `Guest`. New ones can be created like any other Django model by users with the appropriate permission (`authentication | state | Can add state`) or superusers.
|
||||||
@ -27,10 +27,10 @@ Checking this box means this state is available to all users. There isn't much u
|
|||||||
This lets you select which characters the state is available to. Characters can be added by selecting the green plus icon.
|
This lets you select which characters the state is available to. Characters can be added by selecting the green plus icon.
|
||||||
|
|
||||||
### Member Corporations
|
### Member Corporations
|
||||||
This lets you select which corporations the state is available to. Corporations can be added by selecting the green plus icon.
|
This lets you select which Corporations the state is available to. Corporations can be added by selecting the green plus icon.
|
||||||
|
|
||||||
### Member Alliances
|
### Member Alliances
|
||||||
This lets you select which alliances the state is available to. Alliances can be added by selecting the gree plus icon.
|
This lets you select which Alliances the state is available to. Alliances can be added by selecting the green plus icon.
|
||||||
|
|
||||||
## Determining a User's State
|
## Determining a User's State
|
||||||
States are mutually exclusive, meaning a user can only be in one at a time.
|
States are mutually exclusive, meaning a user can only be in one at a time.
|
||||||
@ -45,5 +45,3 @@ Assigned states are visible in the `Users` section of the `Authentication` admin
|
|||||||
If no states are available to a user's main character, or their account has been deactivated, they are assigned to a catch-all `Guest` state. This state cannot be deleted nor can its name be changed.
|
If no states are available to a user's main character, or their account has been deactivated, they are assigned to a catch-all `Guest` state. This state cannot be deleted nor can its name be changed.
|
||||||
|
|
||||||
The `Guest` state allows permissions to be granted to users who would otherwise not get any. For example access to public services can be granted by giving the `Guest` state a service access permission.
|
The `Guest` state allows permissions to be granted to users who would otherwise not get any. For example access to public services can be granted by giving the `Guest` state a service access permission.
|
||||||
|
|
||||||
|
|
@ -2,12 +2,12 @@
|
|||||||
|
|
||||||
```eval_rst
|
```eval_rst
|
||||||
.. tip::
|
.. tip::
|
||||||
If you are uncomfortable with linux permissions follow the steps below as the root user. Some commands do not behave the same when run with sudo.
|
If you are uncomfortable with Linux permissions follow the steps below as the root user. Some commands do not behave the same when run with sudo.
|
||||||
```
|
```
|
||||||
|
|
||||||
## Dependencies
|
## Dependencies
|
||||||
|
|
||||||
Alliance Auth can be installed on any operating system. Dependencies are provided below for two of the most popular server platforms, Ubuntu and CentOS. To install on your favourite flavour of linux, identify and install equivalent packages to the ones listed here.
|
Alliance Auth can be installed on any operating system. Dependencies are provided below for two of the most popular server platforms, Ubuntu and CentOS. To install on your favourite flavour of Linux, identify and install equivalent packages to the ones listed here.
|
||||||
|
|
||||||
```eval_rst
|
```eval_rst
|
||||||
.. hint::
|
.. hint::
|
||||||
@ -31,7 +31,7 @@ CentOS:
|
|||||||
|
|
||||||
### Database
|
### Database
|
||||||
|
|
||||||
It's recommended to use a database service instead of sqlite. Many options are available, but this guide will use MariaDB.
|
It's recommended to use a database service instead of SQLite. Many options are available, but this guide will use MariaDB.
|
||||||
|
|
||||||
Ubuntu:
|
Ubuntu:
|
||||||
|
|
||||||
@ -60,7 +60,7 @@ CentOS:
|
|||||||
|
|
||||||
```eval_rst
|
```eval_rst
|
||||||
.. important::
|
.. important::
|
||||||
CentOS: Make sure redis is running before continuing. ::
|
CentOS: Make sure Redis is running before continuing. ::
|
||||||
|
|
||||||
systemctl enable redis.service
|
systemctl enable redis.service
|
||||||
systemctl start redis.service
|
systemctl start redis.service
|
||||||
@ -104,7 +104,7 @@ Create a Python virtual environment and put it somewhere convenient (e.g. `/home
|
|||||||
|
|
||||||
```eval_rst
|
```eval_rst
|
||||||
.. warning::
|
.. warning::
|
||||||
The python3 command may not be available on all installations. Try a specific version such as python3.6 if this is the case.
|
The python3 command may not be available on all installations. Try a specific version such as ``python3.6`` if this is the case.
|
||||||
```
|
```
|
||||||
|
|
||||||
```eval_rst
|
```eval_rst
|
||||||
@ -117,14 +117,14 @@ Activate the virtualenv using `source /home/allianceserver/venv/auth/bin/activat
|
|||||||
|
|
||||||
```eval_rst
|
```eval_rst
|
||||||
.. hint::
|
.. hint::
|
||||||
Each time you come to do maintenance on your Alliance Auth installation, you should activate your virtual environment first. When finished, deactivate it with the 'deactivate' command.
|
Each time you come to do maintenance on your Alliance Auth installation, you should activate your virtual environment first. When finished, deactivate it with the ``deactivate`` command.
|
||||||
```
|
```
|
||||||
|
|
||||||
Ensure wheel is available with `pip install wheel` before continuing.
|
Ensure wheel is available with `pip install wheel` before continuing.
|
||||||
|
|
||||||
### Alliance Auth Project
|
### Alliance Auth Project
|
||||||
|
|
||||||
You can install the library using `pip install allianceauth`. This will install Alliance Auth and all its python dependencies. You should also install gunicorn with `pip install gunicorn` before proceeding.
|
You can install the library using `pip install allianceauth`. This will install Alliance Auth and all its python dependencies. You should also install Gunicorn with `pip install gunicorn` before proceeding.
|
||||||
|
|
||||||
Now you need to create the application that will run the Alliance Auth install. Ensure you are in the allianceserver home directory by issuing `cd /home/allianceserver`.
|
Now you need to create the application that will run the Alliance Auth install. Ensure you are in the allianceserver home directory by issuing `cd /home/allianceserver`.
|
||||||
|
|
||||||
@ -153,13 +153,13 @@ And finally ensure the allianceserver user has read/write permissions to this di
|
|||||||
|
|
||||||
### Gunicorn
|
### Gunicorn
|
||||||
|
|
||||||
To run the auth website a [WSGI Server](https://www.fullstackpython.com/wsgi-servers.html) is required. [Gunicorn](http://gunicorn.org/) is highly recommended for its ease of configuring. It can be manually run with `gunicorn myauth.wsgi` or automatically run using supervisor.
|
To run the auth website a [WSGI Server](https://www.fullstackpython.com/wsgi-servers.html) is required. [Gunicorn](http://gunicorn.org/) is highly recommended for its ease of configuring. It can be manually run from within your `myauth` base directory with `gunicorn --bind 0.0.0.0 myauth.wsgi` or automatically run using Supervisor.
|
||||||
|
|
||||||
The default configuration is good enough for most installations. Additional information is available in the [gunicorn](gunicorn.md) doc.
|
The default configuration is good enough for most installations. Additional information is available in the [gunicorn](gunicorn.md) doc.
|
||||||
|
|
||||||
### Supervisor
|
### Supervisor
|
||||||
|
|
||||||
[Supervisor](http://supervisord.org/) is a process watchdog service: it makes sure other processes are started automatically and kept running. It can be used to automatically start the WSGI server and celery workers for background tasks. Installation varies by OS:
|
[Supervisor](http://supervisord.org/) is a process watchdog service: it makes sure other processes are started automatically and kept running. It can be used to automatically start the WSGI server and Celery workers for background tasks. Installation varies by OS:
|
||||||
|
|
||||||
Ubuntu:
|
Ubuntu:
|
||||||
|
|
||||||
@ -171,7 +171,7 @@ CentOS:
|
|||||||
systemctl enable supervisord.service
|
systemctl enable supervisord.service
|
||||||
systemctl start supervisord.service
|
systemctl start supervisord.service
|
||||||
|
|
||||||
Once installed it needs a configuration file to know which processes to watch. Your Alliance Auth project comes with a ready-to-use template which will ensure the celery workers, celery task scheduler and gunicorn are all running.
|
Once installed it needs a configuration file to know which processes to watch. Your Alliance Auth project comes with a ready-to-use template which will ensure the Celery workers, Celery task scheduler and Gunicorn are all running.
|
||||||
|
|
||||||
Ubuntu:
|
Ubuntu:
|
||||||
|
|
||||||
@ -187,7 +187,7 @@ You can check the status of the processes with `supervisorctl status`. Logs from
|
|||||||
|
|
||||||
```eval_rst
|
```eval_rst
|
||||||
.. note::
|
.. note::
|
||||||
Any time the code or your settings change you'll need to restart gunicorn and celery. ::
|
Any time the code or your settings change you'll need to restart Gunicorn and Celery. ::
|
||||||
|
|
||||||
supervisorctl restart myauth:
|
supervisorctl restart myauth:
|
||||||
```
|
```
|
||||||
@ -214,4 +214,4 @@ Some releases come with changes to settings: update your project's settings with
|
|||||||
|
|
||||||
Some releases come with new or changed models. Update your database to reflect this with `python /home/allianceserver/myauth/manage.py migrate`.
|
Some releases come with new or changed models. Update your database to reflect this with `python /home/allianceserver/myauth/manage.py migrate`.
|
||||||
|
|
||||||
Always restart celery and gunicorn after updating.
|
Always restart Celery and Gunicorn after updating.
|
||||||
|
@ -24,7 +24,7 @@ Apache needs to be able to read the folder containing your auth project's static
|
|||||||
|
|
||||||
Apache serves sites through defined virtual hosts. These are located in `/etc/apache2/sites-available/` on Ubuntu and `/etc/httpd/conf.d/httpd.conf` on CentOS.
|
Apache serves sites through defined virtual hosts. These are located in `/etc/apache2/sites-available/` on Ubuntu and `/etc/httpd/conf.d/httpd.conf` on CentOS.
|
||||||
|
|
||||||
A virtual host for auth need only proxy requests to your WSGI server (gunicorn if you followed the install guide) and serve static files. Examples can be found below. Create your config in its own file eg `myauth.conf`.
|
A virtual host for auth need only proxy requests to your WSGI server (Gunicorn if you followed the install guide) and serve static files. Examples can be found below. Create your config in its own file e.g. `myauth.conf`
|
||||||
|
|
||||||
### Ubuntu
|
### Ubuntu
|
||||||
|
|
||||||
@ -34,7 +34,7 @@ To proxy and modify headers a few mods need to be enabled.
|
|||||||
a2enmod proxy_http
|
a2enmod proxy_http
|
||||||
a2enmod headers
|
a2enmod headers
|
||||||
|
|
||||||
Create a new config file for auth eg `/etc/apache2/sites-available/myauth.conf` and fill out the virtual host configuration. To enable your config use `a2ensite myauth.conf` and then reload apache with `service apache2 reload`.
|
Create a new config file for auth e.g. `/etc/apache2/sites-available/myauth.conf` and fill out the virtual host configuration. To enable your config use `a2ensite myauth.conf` and then reload apache with `service apache2 reload`.
|
||||||
|
|
||||||
### CentOS
|
### CentOS
|
||||||
|
|
||||||
|
@ -10,12 +10,12 @@ Check out the full [Gunicorn docs](http://docs.gunicorn.org/en/latest/index.html
|
|||||||
|
|
||||||
```eval_rst
|
```eval_rst
|
||||||
.. note::
|
.. note::
|
||||||
If you're using a virtual environment (and I would encourage you to do so when hosting Alliance Auth), activate it now. `source /path/to/venv/bin/activate`.
|
If you're using a virtual environment, activate it now. ``source /path/to/venv/bin/activate``.
|
||||||
```
|
```
|
||||||
|
|
||||||
Install Gunicorn using pip, `pip install gunicorn`.
|
Install Gunicorn using pip, `pip install gunicorn`.
|
||||||
|
|
||||||
In your `myauth` base directory, try running `gunicorn --bind 0.0.0.0:8000 myauth.wsgi`. You should be able to browse to http://yourserver:8000 and see your Alliance Auth installation running. Images and styling will be missing, but dont worry, your web server will provide them.
|
In your `myauth` base directory, try running `gunicorn --bind 0.0.0.0:8000 myauth.wsgi`. You should be able to browse to http://yourserver:8000 and see your Alliance Auth installation running. Images and styling will be missing, but don't worry, your web server will provide them.
|
||||||
|
|
||||||
Once you validate its running, you can kill the process with Ctrl+C and continue.
|
Once you validate its running, you can kill the process with Ctrl+C and continue.
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# NGINX
|
# NGINX
|
||||||
|
|
||||||
## Overivew
|
## Overview
|
||||||
|
|
||||||
Nginx (engine x) is a HTTP server known for its high performance, stability, simple configuration, and low resource consumption. Unlike traditional servers (i.e. Apache), Nginx doesn't rely on threads to serve requests, rather using an asynchronous event driven approach which permits predictable resource usage and performance under load.
|
Nginx (engine x) is a HTTP server known for its high performance, stability, simple configuration, and low resource consumption. Unlike traditional servers (i.e. Apache), Nginx doesn't rely on threads to serve requests, rather using an asynchronous event driven approach which permits predictable resource usage and performance under load.
|
||||||
|
|
||||||
@ -12,7 +12,7 @@ You can read more about NGINX on the [NGINX wiki](https://www.nginx.com/resource
|
|||||||
|
|
||||||
If you're converting from Apache, here are some things to consider.
|
If you're converting from Apache, here are some things to consider.
|
||||||
|
|
||||||
Nginx is lightweight for a reason. It doesn't try to do everything internally and instead concentrates on just being a good HTTP server. This means that, unlike Apache, it wont automatically run PHP scripts via mod_php and doesn't have an internal WSGI server like mod_wsgi. That doesn't mean that it can't, just that it relies on external processes to run these instead. This might be good or bad depending on your outlook. It's good because it allows you to segment your applications, restarting Alliance Auth wont impact your PHP applications. On the other hand it means more config and more management of services. For some people it will be worth it, for others losing the centralised nature of Apache may not be worth it.
|
Nginx is lightweight for a reason. It doesn't try to do everything internally and instead concentrates on just being a good HTTP server. This means that, unlike Apache, it won't automatically run PHP scripts via mod_php and doesn't have an internal WSGI server like mod_wsgi. That doesn't mean that it can't, just that it relies on external processes to run these instead. This might be good or bad depending on your outlook. It's good because it allows you to segment your applications, restarting Alliance Auth wont impact your PHP applications. On the other hand it means more config and more management of services. For some people it will be worth it, for others losing the centralised nature of Apache may not be worth it.
|
||||||
|
|
||||||
```eval_rst
|
```eval_rst
|
||||||
+-----------+----------------------------------------+
|
+-----------+----------------------------------------+
|
||||||
@ -25,13 +25,20 @@ Nginx is lightweight for a reason. It doesn't try to do everything internally an
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Your .htaccess files wont work. Nginx has a separate way of managing access to folders via the server config. Everything you can do with htaccess files you can do with Nginx config. [Read more on the Nginx wiki](https://www.nginx.com/resources/wiki/start/topics/examples/likeapache-htaccess/)
|
Your .htaccess files won't work. Nginx has a separate way of managing access to folders via the server config. Everything you can do with htaccess files you can do with Nginx config. [Read more on the Nginx wiki](https://www.nginx.com/resources/wiki/start/topics/examples/likeapache-htaccess/)
|
||||||
|
|
||||||
## Setting up Nginx
|
## Setting up Nginx
|
||||||
|
|
||||||
Install Nginx via your preferred package manager or other method. If you need help just search, there are plenty of guides on installing Nginx out there.
|
Install Nginx via your preferred package manager or other method. If you need help just search, there are plenty of guides on installing Nginx out there.
|
||||||
|
|
||||||
Nginx needs to be able to read the folder containing your auth project's static files. On Ubuntu: `chown -R nginx:nginx /var/www/myauth/static`, and on CentOS: `chown -R nginx:nginx /var/www/myauth/static`
|
Nginx needs to be able to read the folder containing your auth project's static files. `chown -R nginx:nginx /var/www/myauth/static`.
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
.. tip::
|
||||||
|
Some specific distros may use www-data:www-data instead of nginx:nginx, causing static files (images, stylesheets etc) not to appear. You can confirm what user Nginx will run under by checking either its base config file `/etc/nginx/nginx.conf` for the "user" setting, or once Nginx has started `ps aux | grep nginx`.
|
||||||
|
Adjust your chown commands to the correct user if needed.
|
||||||
|
..
|
||||||
|
```
|
||||||
|
|
||||||
You will need to have [Gunicorn](gunicorn.md) or some other WSGI server setup for hosting Alliance Auth.
|
You will need to have [Gunicorn](gunicorn.md) or some other WSGI server setup for hosting Alliance Auth.
|
||||||
|
|
||||||
@ -57,7 +64,7 @@ server {
|
|||||||
|
|
||||||
location = /favicon.ico { access_log off; log_not_found off; }
|
location = /favicon.ico { access_log off; log_not_found off; }
|
||||||
|
|
||||||
location /static/ {
|
location /static {
|
||||||
alias /var/www/myauth/static;
|
alias /var/www/myauth/static;
|
||||||
autoindex off;
|
autoindex off;
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
# Discord
|
# Discord
|
||||||
## Overview
|
## Overview
|
||||||
Discord is a web-based instant messaging client with voice. Kind of like teamspeak meets slack meets skype. It also has a standalone app for phones and desktop.
|
Discord is a web-based instant messaging client with voice. Kind of like TeamSpeak meets Slack meets Skype. It also has a standalone app for phones and desktop.
|
||||||
|
|
||||||
|
Discord is very popular amongst ad-hoc small groups and larger organizations seeking a modern technology. Alternative voice communications should be investigated for larger than small-medium groups for more advanced features.
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
@ -25,11 +27,7 @@ Navigate to the [Discord site](https://discordapp.com/) and register an account,
|
|||||||
|
|
||||||
On the left side of the screen you’ll see a circle with a plus sign. This is the button to create a new server. Go ahead and do that, naming it something obvious.
|
On the left side of the screen you’ll see a circle with a plus sign. This is the button to create a new server. Go ahead and do that, naming it something obvious.
|
||||||
|
|
||||||
Now retrieve the server ID from the URL of the page you’re on. The ID is the first of the very long numbers. For instance my testing server’s url look like:
|
Now retrieve the server ID [following this procedure.](https://support.discordapp.com/hc/en-us/articles/206346498-Where-can-I-find-my-User-Server-Message-ID-)
|
||||||
|
|
||||||
https://discordapp.com/channels/120631096835571712/120631096835571712
|
|
||||||
|
|
||||||
with a server ID of `120631096835571712`
|
|
||||||
|
|
||||||
Update your auth project's settings file, inputting the server ID as `DISCORD_GUILD_ID`
|
Update your auth project's settings file, inputting the server ID as `DISCORD_GUILD_ID`
|
||||||
|
|
||||||
@ -49,22 +47,22 @@ Update your auth project's settings file with these pieces of information from t
|
|||||||
- From the App Bot Users panel, `DISCORD_BOT_TOKEN` is the Token
|
- From the App Bot Users panel, `DISCORD_BOT_TOKEN` is the Token
|
||||||
|
|
||||||
### Preparing Auth
|
### Preparing Auth
|
||||||
Before continuing it is essential to run migrations and restart gunicorn and celery.
|
Before continuing it is essential to run migrations and restart Gunicorn and Celery.
|
||||||
|
|
||||||
### Adding a Bot to the Server
|
### 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.
|
Once created, navigate to the services page of your Alliance Auth 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.
|
||||||
|
|
||||||
This adds a new user to your Discord server with a `BOT` tag, and a new role with the same name as your Discord application. Don't touch either of these. If for some reason the bot loses permissions or is removed from the server, click this button again.
|
This adds a new user to your Discord server with a `BOT` tag, and a new role with the same name as your Discord application. Don't touch either of these. If for some reason the bot loses permissions or is removed from the server, click this button again.
|
||||||
|
|
||||||
To manage roles, this bot role must be at the top of the hierarchy. Edit your Discord server, roles, and click and drag the role with the same name as your application to the top of the list. This role must stay at the top of the list for the bot to work. Finally, the owner of the bot account must enable 2 Factor Authentication (this is required from discord for kicking and modifying member roles). If you are unsure what 2FA is or how to set it up, refer to [this support page](https://support.discordapp.com/hc/en-us/articles/219576828). It is also recommended to force 2fa on your server (this forces any admins or moderators to have 2fa enabled to perform similar functions on discord).
|
To manage roles, this bot role must be at the top of the hierarchy. Edit your Discord server, roles, and click and drag the role with the same name as your application to the top of the list. This role must stay at the top of the list for the bot to work. Finally, the owner of the bot account must enable 2 Factor Authentication (this is required from Discord for kicking and modifying member roles). If you are unsure what 2FA is or how to set it up, refer to [this support page](https://support.discordapp.com/hc/en-us/articles/219576828). It is also recommended to force 2FA on your server (this forces any admins or moderators to have 2fa enabled to perform similar functions on discord).
|
||||||
|
|
||||||
Note that the bot will never appear online as it does not participate in chat channels.
|
Note that the bot will never appear online as it does not participate in chat channels.
|
||||||
|
|
||||||
### Linking Accounts
|
### 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.
|
Instead of the usual account creation procedure, for Discord to work we need to link accounts to Alliance Auth. 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 Alliance Auth with an OAuth code which is used to join the Discord server.
|
||||||
|
|
||||||
### Syncing Nicknames
|
### Syncing Nicknames
|
||||||
If you want users to have their Discord nickname changed to their in-game character name, set `DISCORD_SYNC_NAMES` to `True`
|
If you want users to have their Discord nickname changed to their in-game character name, set `DISCORD_SYNC_NAMES` to `True`
|
||||||
|
|
||||||
## Managing Roles
|
## 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.
|
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 use text and audio communications. Add more permissions to the roles as desired through the server management window.
|
||||||
|
@ -35,7 +35,7 @@ Change the following:
|
|||||||
- `DISCOUSE_HOSTNAME` should be `discourse.example.com` or something similar.
|
- `DISCOUSE_HOSTNAME` should be `discourse.example.com` or something similar.
|
||||||
- Everything with `SMTP` depends on your mail settings. [There are plenty of free email services online recommended by Discourse](https://github.com/discourse/discourse/blob/master/docs/INSTALL-email.md#recommended-email-providers-for-discourse) if you haven't set one up for auth already.
|
- Everything with `SMTP` depends on your mail settings. [There are plenty of free email services online recommended by Discourse](https://github.com/discourse/discourse/blob/master/docs/INSTALL-email.md#recommended-email-providers-for-discourse) if you haven't set one up for auth already.
|
||||||
|
|
||||||
To install behind apache/nginx, look for this section:
|
To install behind Apache/Nginx, look for this section:
|
||||||
|
|
||||||
...
|
...
|
||||||
## which TCP/IP ports should this container expose?
|
## which TCP/IP ports should this container expose?
|
||||||
@ -61,7 +61,7 @@ Uncomment this line:
|
|||||||
|
|
||||||
DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"
|
DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"
|
||||||
|
|
||||||
Restart docker:
|
Restart Docker:
|
||||||
|
|
||||||
service docker restart
|
service docker restart
|
||||||
|
|
||||||
@ -74,7 +74,7 @@ Now build:
|
|||||||
|
|
||||||
You will need to configure your web server to proxy requests to Discourse.
|
You will need to configure your web server to proxy requests to Discourse.
|
||||||
|
|
||||||
A minimal apache config might look like:
|
A minimal Apache config might look like:
|
||||||
|
|
||||||
<VirtualHost *:80>
|
<VirtualHost *:80>
|
||||||
ServerName discourse.example.com
|
ServerName discourse.example.com
|
||||||
@ -82,7 +82,7 @@ A minimal apache config might look like:
|
|||||||
ProxyPassReverse / http://0.0.0.0:7890/
|
ProxyPassReverse / http://0.0.0.0:7890/
|
||||||
</VirtualHost>
|
</VirtualHost>
|
||||||
|
|
||||||
A minimal nginx config might look like:
|
A minimal Nginx config might look like:
|
||||||
|
|
||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
@ -122,4 +122,4 @@ Navigate to `discourse.example.com` and log in. Back to the admin site, scroll d
|
|||||||
|
|
||||||
Save, now set `DISCOURSE_SSO_SECRET` in your auth project's settings file to the secure key you just put in Discourse.
|
Save, now set `DISCOURSE_SSO_SECRET` in your auth project's settings file to the secure key you just put in Discourse.
|
||||||
|
|
||||||
Finally run migrations and restart gunicorn and celery.
|
Finally run migrations and restart Gunicorn and Celery.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Alliance Market
|
# Alliance Market
|
||||||
|
|
||||||
## Dependencies
|
## Dependencies
|
||||||
Alliance Market requires php installed in your web server. Apache has `mod_php`, NGINX requires `php-fpm`.
|
Alliance Market requires PHP installed in your web server. Apache has `mod_php`, NGINX requires `php-fpm`.
|
||||||
|
|
||||||
## Prepare Your Settings
|
## Prepare Your Settings
|
||||||
In your auth project's settings file, do the following:
|
In your auth project's settings file, do the following:
|
||||||
@ -21,14 +21,14 @@ In your auth project's settings file, do the following:
|
|||||||
}
|
}
|
||||||
|
|
||||||
## Setup Alliance Market
|
## Setup Alliance Market
|
||||||
Alliance Market needs a database. Create one in mysql. Default name is `alliance_market`:
|
Alliance Market needs a database. Create one in MySQL/MariaDB. Default name is `alliance_market`:
|
||||||
|
|
||||||
mysql -u root -p
|
mysql -u root -p
|
||||||
create database alliance_market;
|
create database alliance_market;
|
||||||
grant all privileges on alliance_market . * to 'allianceserver'@'localhost';
|
grant all privileges on alliance_market . * to 'allianceserver'@'localhost';
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
To clone the repo, install packages:
|
Install required packages to clone the repository:
|
||||||
|
|
||||||
sudo apt-get install mercurial meld
|
sudo apt-get install mercurial meld
|
||||||
|
|
||||||
@ -36,7 +36,7 @@ Change to the web folder:
|
|||||||
|
|
||||||
cd /var/www
|
cd /var/www
|
||||||
|
|
||||||
Now clone the repo
|
Now clone the repository
|
||||||
|
|
||||||
sudo hg clone https://bitbucket.org/krojew/evernus-alliance-market
|
sudo hg clone https://bitbucket.org/krojew/evernus-alliance-market
|
||||||
|
|
||||||
@ -51,7 +51,7 @@ Change ownership to apache
|
|||||||
|
|
||||||
sudo chown -R www-data:www-data evernus-alliance-market
|
sudo chown -R www-data:www-data evernus-alliance-market
|
||||||
|
|
||||||
Enter
|
Enter directory
|
||||||
|
|
||||||
cd evernus-alliance-market
|
cd evernus-alliance-market
|
||||||
|
|
||||||
@ -67,7 +67,7 @@ Edit, changing the following:
|
|||||||
- `database_name` to `alliance_market`
|
- `database_name` to `alliance_market`
|
||||||
- `database_user` to your MySQL user (usually `allianceserver`)
|
- `database_user` to your MySQL user (usually `allianceserver`)
|
||||||
- `database_password` to your MySQL user password
|
- `database_password` to your MySQL user password
|
||||||
- email settings, eg gmail
|
- email settings, eg Gmail/Mailgun etc.
|
||||||
|
|
||||||
Edit `app/config/config.yml` and add the following:
|
Edit `app/config/config.yml` and add the following:
|
||||||
|
|
||||||
@ -101,7 +101,7 @@ Install SDE:
|
|||||||
|
|
||||||
Configure your web server to serve alliance market.
|
Configure your web server to serve alliance market.
|
||||||
|
|
||||||
A minimal apache config might look like:
|
A minimal Apache config might look like:
|
||||||
|
|
||||||
<VirtualHost *:80>
|
<VirtualHost *:80>
|
||||||
ServerName market.example.com
|
ServerName market.example.com
|
||||||
@ -113,7 +113,7 @@ A minimal apache config might look like:
|
|||||||
</Directory>
|
</Directory>
|
||||||
</VirtualHost>
|
</VirtualHost>
|
||||||
|
|
||||||
A minimal nginx config might look like:
|
A minimal Nginx config might look like:
|
||||||
|
|
||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
@ -125,7 +125,7 @@ A minimal nginx config might look like:
|
|||||||
location ~ \.php$ {
|
location ~ \.php$ {
|
||||||
try_files $uri =404;
|
try_files $uri =404;
|
||||||
fastcgi_pass unix:/tmp/php.socket;
|
fastcgi_pass unix:/tmp/php.socket;
|
||||||
fastcgi_index index.php;
|
fastcgi_index app.php;
|
||||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||||
include fastcgi_params;
|
include fastcgi_params;
|
||||||
}
|
}
|
||||||
@ -141,4 +141,4 @@ Add a user account through auth, then make it a superuser:
|
|||||||
|
|
||||||
Now edit your auth project's settings file and fill in the web URL to your market as well as the database details.
|
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.
|
Finally run migrations and restart Gunicorn and Celery.
|
||||||
|
@ -10,7 +10,7 @@ In your auth project's settings file, do the following:
|
|||||||
MUMBLE_URL = ""
|
MUMBLE_URL = ""
|
||||||
|
|
||||||
## Overview
|
## 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.
|
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.
|
||||||
|
|
||||||
## Dependencies
|
## Dependencies
|
||||||
The mumble server package can be retrieved from a repository we need to add, mumble/release.
|
The mumble server package can be retrieved from a repository we need to add, mumble/release.
|
||||||
@ -35,11 +35,11 @@ REQUIRED: To enable the ICE authenticator, edit the following:
|
|||||||
|
|
||||||
- `icesecretwrite=MY_CLEVER_PASSWORD`, obviously choosing a secure password
|
- `icesecretwrite=MY_CLEVER_PASSWORD`, obviously choosing a secure password
|
||||||
|
|
||||||
By default mumble operates on sqlite which is fine, but slower than a dedicated MySQL server. To customize the database, edit the following:
|
By default mumble operates on SQLite which is fine, but slower than a dedicated MySQL server. To customize the database, edit the following:
|
||||||
|
|
||||||
- uncomment the database line, and change it to `database=alliance_mumble`
|
- uncomment the database line, and change it to `database=alliance_mumble`
|
||||||
- `dbDriver=QMYSQL`
|
- `dbDriver=QMYSQL`
|
||||||
- `dbUsername=allianceserver` or whatever you called the AllianceAuth MySQL user
|
- `dbUsername=allianceserver` or whatever you called the Alliance Auth MySQL user
|
||||||
- `dbPassword=` that user’s password
|
- `dbPassword=` that user’s password
|
||||||
- `dbPort=3306`
|
- `dbPort=3306`
|
||||||
- `dbPrefix=murmur_`
|
- `dbPrefix=murmur_`
|
||||||
@ -48,7 +48,7 @@ To name your root channel, uncomment and set `registerName=` to whatever cool na
|
|||||||
|
|
||||||
Save and close the file (control + O, control + X).
|
Save and close the file (control + O, control + X).
|
||||||
|
|
||||||
To get mumble superuser account credentials, run the following:
|
To get Mumble superuser account credentials, run the following:
|
||||||
|
|
||||||
sudo dpkg-reconfigure mumble-server
|
sudo dpkg-reconfigure mumble-server
|
||||||
|
|
||||||
@ -85,9 +85,9 @@ The authenticator needs to be running 24/7 to validate users on Mumble. You shou
|
|||||||
Note that groups will only be created on Mumble automatically when a user joins who is in the group.
|
Note that groups will only be created on Mumble automatically when a user joins who is in the group.
|
||||||
|
|
||||||
## Making and Managing Channels
|
## 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.
|
ACL is really above the scope of this guide. Once Alliance Auth creates your groups, go ahead and follow one of the wonderful web guides available on how to set up channel ACL properly.
|
||||||
|
|
||||||
## Prepare Auth
|
## 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://`.
|
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.
|
Run migrations and restart Gunicorn and Celery to complete setup.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Openfire
|
# Openfire
|
||||||
|
|
||||||
Openfire is a jabber (XMPP) server.
|
Openfire is a Jabber (XMPP) server.
|
||||||
|
|
||||||
## Prepare Your Settings
|
## Prepare Your Settings
|
||||||
- Add `'allianceauth.services.modules.openfire',` to your `INSTALLED_APPS` list
|
- Add `'allianceauth.services.modules.openfire',` to your `INSTALLED_APPS` list
|
||||||
@ -18,7 +18,7 @@
|
|||||||
BROADCAST_SERVICE_NAME = "broadcast"
|
BROADCAST_SERVICE_NAME = "broadcast"
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
Openfire is a java-based xmpp server (jabber).
|
Openfire is a Java-based XMPP server (Jabber).
|
||||||
|
|
||||||
## Dependencies
|
## Dependencies
|
||||||
One additional package is required - openjdk8
|
One additional package is required - openjdk8
|
||||||
@ -35,24 +35,30 @@ CentOS:
|
|||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
### Download Installer
|
### Download Installer
|
||||||
Openfire is not available through repositories so we need to get a debian from the developer.
|
Openfire is not available through repositories so we need to get a package from the developer.
|
||||||
|
|
||||||
On your PC, naviage to the [Ignite Realtime downloads section](https://www.igniterealtime.org/downloads/index.jsp), and under Openfire select Linux, click on the debian file (2nd from bottom of list, ends with .deb).
|
On your PC, navigate to the [Ignite Realtime downloads section](https://www.igniterealtime.org/downloads/index.jsp), and under Openfire select Linux, click on the Ubuntu: Debian package (second from bottom of list, ends with .deb) or CentOS: RPM Package (no JRE bundled, as we have installed it on the host)
|
||||||
|
|
||||||
Retrieve the file location by copying the url from the “click here” link.
|
Retrieve the file location by copying the URL from the “click here” link, depending on your browser you may have a Copy Link or similar option in your right click menu.
|
||||||
|
|
||||||
In the console, ensure you’re in your user’s home directory: `cd ~`
|
In the console, ensure you’re in your user’s home directory: `cd ~`
|
||||||
|
|
||||||
Now download the package. Replace the link below with the link you got earlier.
|
Now download the package. Replace the link below with the link you got earlier.
|
||||||
|
|
||||||
wget https://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_4.1.1_all.deb
|
wget https://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_4.2.3_all.deb
|
||||||
|
|
||||||
Now install from the debian. Replace the filename with your file name (the last part of the download url is the file name)
|
Now install from the package. Replace the filename with your filename (the last part of the download URL is the file name)
|
||||||
|
|
||||||
sudo dpkg -i openfire_4.1.1_all.deb
|
Ubuntu:
|
||||||
|
|
||||||
|
sudo dpkg -i openfire_4.2.3_all.deb
|
||||||
|
|
||||||
|
CentOS:
|
||||||
|
|
||||||
|
sudo yum install -y openfire-4.2.3-1.noarch.rpm
|
||||||
|
|
||||||
### Create Database
|
### 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:
|
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
|
mysql -u root -p
|
||||||
create database alliance_jabber;
|
create database alliance_jabber;
|
||||||
@ -62,7 +68,7 @@ Performance is best when working from a SQL database. If you installed MySQL or
|
|||||||
### Web Configuration
|
### 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.
|
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.
|
||||||
|
|
||||||
Select your language. I sure hope it’s english if you’re reading this guide.
|
Select your language. I sure hope it’s English if you’re reading this guide.
|
||||||
|
|
||||||
Under Server Settings, set the Domain to `example.com` replacing it with your actual domain. Don’t touch the rest.
|
Under Server Settings, set the Domain to `example.com` replacing it with your actual domain. Don’t touch the rest.
|
||||||
|
|
||||||
@ -100,7 +106,7 @@ Select `Enabled`, and `Secret Key Auth`. Update your auth project's settings wit
|
|||||||
|
|
||||||
Navigate to the `Users/Groups` tab and select `Create New User` from the left navigation bar.
|
Navigate to the `Users/Groups` tab and select `Create New User` from the left navigation bar.
|
||||||
|
|
||||||
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.
|
Pick a username (e.g. `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.
|
Broadcasting requires a plugin. Navigate to the `plugins` tab, press the green plus for the `Broadcast` plugin.
|
||||||
|
|
||||||
@ -117,7 +123,7 @@ If you have troubles getting broadcasts to work, you can try setting the optiona
|
|||||||
|
|
||||||
### Preparing Auth
|
### Preparing Auth
|
||||||
|
|
||||||
Once all settings are entered, run migrations and restart gunicorn and celery.
|
Once all settings are entered, run migrations and restart Gunicorn and Celery.
|
||||||
|
|
||||||
### Group Chat
|
### Group Chat
|
||||||
Channels are available which function like a chat room. Access can be controlled either by password or ACL (not unlike mumble).
|
Channels are available which function like a chat room. Access can be controlled either by password or ACL (not unlike mumble).
|
||||||
|
@ -1,14 +1,10 @@
|
|||||||
# Service Permissions
|
# Service Permissions
|
||||||
```eval_rst
|
|
||||||
.. note::
|
|
||||||
New in 1.15
|
|
||||||
```
|
|
||||||
|
|
||||||
In the past, access to services was dictated by a list of settings in `settings.py`, granting access to each particular service for Members and/or Blues. This meant that granting access to a service was very broad and rigidly structured around these two states.
|
In the past, access to services was dictated by a list of settings in `settings.py`, granting access to each particular service for Members and/or Blues. This meant that granting access to a service was very broad and rigidly structured around these two states.
|
||||||
|
|
||||||
## Permissions based access
|
## Permissions based access
|
||||||
|
|
||||||
Instead of granting access to services by the previous rigid structure, access to services is now granted by the built in Django permissions system. This means that service access can be more granular, allowing only certain groups, for instance Corp CEOs, or even individual user access to each enabled service.
|
Instead of granting access to services by the previous rigid structure, access to services is now granted by the built in Django permissions system. This means that service access can be more granular, allowing only certain states, certain groups, for instance Corp CEOs, or even individual user access to each enabled service.
|
||||||
|
|
||||||
```eval_rst
|
```eval_rst
|
||||||
.. important::
|
.. important::
|
||||||
@ -34,4 +30,4 @@ If a user no longer has permission to access the service when this permissions c
|
|||||||
|
|
||||||
### Disabling user accounts
|
### Disabling user accounts
|
||||||
|
|
||||||
When you unset a user as active in the admin panel, all of that users service accounts will be immediately disabled or removed. This is due to the built in behaviour of Djangos permissions system, which will return False for all permissions if a users account is disabled, regardless of their actual permissions state.
|
When you unset a user as active in the admin panel, all of that users service accounts will be immediately disabled or removed. This is due to the built in behaviour of the Django permissions system, which will return False for all permissions if a users account is disabled, regardless of their actual permissions state.
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
# phpBB3
|
# phpBB3
|
||||||
|
|
||||||
and run migrations before continuing with this guide to ensure the service is installed.
|
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
phpBB is a free php-based forum. It’s the default forum for AllianceAuth.
|
phpBB is a free PHP-based forum.
|
||||||
|
|
||||||
## Dependencies
|
## Dependencies
|
||||||
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.
|
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
|
## Prepare Your Settings
|
||||||
In your auth project's settings file, do the following:
|
In your auth project's settings file, do the following:
|
||||||
@ -27,7 +25,7 @@ In your auth project's settings file, do the following:
|
|||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
### Prepare the Database
|
### Prepare the Database
|
||||||
Create a database to install phpbb3 in.
|
Create a database to install phpBB3 in.
|
||||||
|
|
||||||
mysql -u root -p
|
mysql -u root -p
|
||||||
create database alliance_forum;
|
create database alliance_forum;
|
||||||
@ -36,12 +34,12 @@ Create a database to install phpbb3 in.
|
|||||||
|
|
||||||
Edit your auth project's settings file and fill out the `DATABASES['phpbb3']` part.
|
Edit your auth project's settings file and fill out the `DATABASES['phpbb3']` part.
|
||||||
|
|
||||||
### Download Phpbb3
|
### 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.
|
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. Depending on your browser you may have a Copy Link or similar option in your right click menu.
|
||||||
|
|
||||||
In the console, navigate to your user’s home directory: `cd ~`
|
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
|
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
|
wget https://www.phpbb.com/files/release/phpBB-3.2.2.zip
|
||||||
|
|
||||||
@ -55,12 +53,19 @@ Now we need to move this to our web directory. Usually `/var/www/forums`.
|
|||||||
|
|
||||||
The web server needs read/write permission to this folder
|
The web server needs read/write permission to this folder
|
||||||
|
|
||||||
sudo chown -R www-data:www-data /var/www/forums
|
Apache: `sudo chown -R www-data:www-data /var/www/forums`
|
||||||
|
Nginx: `sudo chown -R nginx:nginx /var/www/forums`
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
.. 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
|
### Configuring Web Server
|
||||||
You will need to configure you web server to serve PHPBB3 before proceeding with installation.
|
You will need to configure you web server to serve PHPBB3 before proceeding with installation.
|
||||||
|
|
||||||
A minimal apache config file might look like:
|
A minimal Apache config file might look like:
|
||||||
|
|
||||||
<VirtualHost *:80>
|
<VirtualHost *:80>
|
||||||
ServerName forums.example.com
|
ServerName forums.example.com
|
||||||
@ -71,7 +76,7 @@ A minimal apache config file might look like:
|
|||||||
</Directory>
|
</Directory>
|
||||||
</VirtualHost>
|
</VirtualHost>
|
||||||
|
|
||||||
A minimal nginx config file might look like:
|
A minimal Nginx config file might look like:
|
||||||
|
|
||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
@ -117,7 +122,7 @@ Under Database Settings, set the following:
|
|||||||
|
|
||||||
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.
|
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 `Succesful Connection` and proceed.
|
You should see `Successful Connection` and proceed.
|
||||||
|
|
||||||
Enter administrator credentials on the next page.
|
Enter administrator credentials on the next page.
|
||||||
|
|
||||||
@ -140,4 +145,4 @@ You can allow members to overwrite the portrait with a custom image if desired.
|
|||||||

|

|
||||||
|
|
||||||
### Prepare Auth
|
### Prepare Auth
|
||||||
Once settings have been configured, run migrations and restart gunicorn and celery.
|
Once settings have been configured, run migrations and restart Gunicorn and Celery.
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
# SMF
|
# SMF
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
SMF is a free php-based forum.
|
SMF is a free PHP-based forum.
|
||||||
|
|
||||||
## Dependencies
|
## 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)
|
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
|
## Prepare Your Settings
|
||||||
In your auth project's settings file, do the following:
|
In your auth project's settings file, do the following:
|
||||||
@ -25,15 +25,16 @@ In your auth project's settings file, do the following:
|
|||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
### Download SMF
|
### 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/.
|
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
|
|
||||||
|
|
||||||
wget http://download.simplemachines.org/index.php?thanks;filename=smf_2-0-13_install.zip
|
Download using wget, replacing the URL with the URL for the package you just retrieved
|
||||||
|
|
||||||
|
wget https://download.simplemachines.org/index.php?thanks;filename=smf_2-0-15_install.zip
|
||||||
|
|
||||||
This needs to be unpackaged. Unzip it, replacing the file name with that of the file you just downloaded
|
This needs to be unpackaged. Unzip it, replacing the file name with that of the file you just downloaded
|
||||||
|
|
||||||
unzip smf_2-0-13_install.zip
|
unzip smf_2-0-15_install.zip
|
||||||
|
|
||||||
Now we need to move this to our web directory. Usually `/var/www/forums`.
|
Now we need to move this to our web directory. Usually `/var/www/forums`.
|
||||||
|
|
||||||
@ -41,7 +42,14 @@ Now we need to move this to our web directory. Usually `/var/www/forums`.
|
|||||||
|
|
||||||
The web server needs read/write permission to this folder
|
The web server needs read/write permission to this folder
|
||||||
|
|
||||||
sudo chown -R www-data:www-data /var/www/forums
|
Apache: `sudo chown -R www-data:www-data /var/www/forums`
|
||||||
|
Nginx: `sudo chown -R nginx:nginx /var/www/forums`
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
.. 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
|
### Database Preparation
|
||||||
SMF needs a database. Create one:
|
SMF needs a database. Create one:
|
||||||
@ -56,7 +64,7 @@ Enter the database information into the `DATABASES['smf']` section of your auth
|
|||||||
### Web Server Configuration
|
### Web Server Configuration
|
||||||
Your web server needs to be configured to serve Alliance Market.
|
Your web server needs to be configured to serve Alliance Market.
|
||||||
|
|
||||||
A minimal apache config might look like:
|
A minimal Apache config might look like:
|
||||||
|
|
||||||
<VirtualHost *:80>
|
<VirtualHost *:80>
|
||||||
ServerName forums.example.com
|
ServerName forums.example.com
|
||||||
@ -66,7 +74,7 @@ A minimal apache config might look like:
|
|||||||
</Directory>
|
</Directory>
|
||||||
</VirtualHost>
|
</VirtualHost>
|
||||||
|
|
||||||
A minimal nginx config might look like:
|
A minimal Nginx config might look like:
|
||||||
|
|
||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
@ -86,9 +94,6 @@ A minimal nginx config might look like:
|
|||||||
|
|
||||||
Enter the web address to your forums into the `SMF_URL` setting in your auth project's settings file.
|
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
|
### Web Install
|
||||||
Navigate to your forums address where you will be presented with an installer.
|
Navigate to your forums address where you will be presented with an installer.
|
||||||
|
|
||||||
@ -107,3 +112,6 @@ Under Database Settings, set the following:
|
|||||||
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.
|
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.
|
Follow the directions in the installer.
|
||||||
|
|
||||||
|
### Preparing Auth
|
||||||
|
Once settings are entered, apply migrations and restart Gunicorn and Celery.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Teamspeak 3
|
# TeamSpeak 3
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
Teamspeak3 is the most popular VOIP program for gamers.
|
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.
|
But have you considered using Mumble? Not only is it free, but it has features and performance far superior to Teamspeak3.
|
||||||
|
|
||||||
@ -28,18 +28,18 @@ In your auth project's settings file, do the following:
|
|||||||
}
|
}
|
||||||
|
|
||||||
### Download Installer
|
### 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.
|
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 recommend 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.
|
||||||
|
|
||||||
Download the server, replacing the link with the link you got earlier.
|
Download the server, replacing the link with the link you got earlier.
|
||||||
|
|
||||||
http://dl.4players.de/ts/releases/3.1.0/teamspeak3-server_linux_amd64-3.1.0.tar.bz2
|
http://dl.4players.de/ts/releases/3.1.1/teamspeak3-server_linux_amd64-3.1.1.tar.bz2
|
||||||
|
|
||||||
Now we need to extract the file.
|
Now we need to extract the file.
|
||||||
|
|
||||||
tar -xf teamspeak3-server_linux_amd64-3.1.0.tar.bz2
|
tar -xf teamspeak3-server_linux_amd64-3.1.0.tar.bz2
|
||||||
|
|
||||||
### Create User
|
### Create User
|
||||||
Teamspeak needs its own user.
|
TeamSpeak needs its own user.
|
||||||
|
|
||||||
sudo adduser --disabled-login teamspeak
|
sudo adduser --disabled-login teamspeak
|
||||||
|
|
||||||
@ -50,7 +50,7 @@ Now we move the server binary somewhere more accessible and change its ownership
|
|||||||
sudo chown -R teamspeak:teamspeak /usr/local/teamspeak
|
sudo chown -R teamspeak:teamspeak /usr/local/teamspeak
|
||||||
|
|
||||||
### Startup
|
### Startup
|
||||||
Now we generate a startup script so teamspeak comes up with the server.
|
Now we generate a startup script so TeamSpeak comes up with the server.
|
||||||
|
|
||||||
sudo ln -s /usr/local/teamspeak/ts3server_startscript.sh /etc/init.d/teamspeak
|
sudo ln -s /usr/local/teamspeak/ts3server_startscript.sh /etc/init.d/teamspeak
|
||||||
sudo update-rc.d teamspeak defaults
|
sudo update-rc.d teamspeak defaults
|
||||||
@ -68,12 +68,12 @@ Edit the settings you added to your auth project's settings file earlier, enteri
|
|||||||
- `TEAMSPEAK3_SERVERQUERY_USER` is `loginname` from that block of text it just spat out (usually `serveradmin`)
|
- `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
|
- `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
|
- `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://
|
- `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.
|
Once settings are entered, run migrations and restart Gunicorn and Celery.
|
||||||
|
|
||||||
### Generate User Account
|
### 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.
|
And now we can generate ourselves a user account. Navigate to the services in Alliance Auth for your user account and press the checkmark for TeamSpeak 3.
|
||||||
|
|
||||||
Click the URL provided to automatically connect to our server. It will prompt you to redeem the serveradmin token, enter the `token` from startup.
|
Click the URL provided to automatically connect to our server. It will prompt you to redeem the serveradmin token, enter the `token` from startup.
|
||||||
|
|
||||||
|
@ -37,4 +37,4 @@ The settings you created earlier now need to be filled out.
|
|||||||
|
|
||||||
`XENFORO_API_KEY` is the API key value you set earlier.
|
`XENFORO_API_KEY` is the API key value you set earlier.
|
||||||
|
|
||||||
Once these are entered, run migrations and restart gunicorn and celery.
|
Once these are entered, run migrations and restart Gunicorn and Celery.
|
||||||
|
@ -8,15 +8,15 @@ When installing Alliance Auth you are instructed to run the `allianceauth start`
|
|||||||
|
|
||||||
The first folder created is the root directory of your auth project. This folder contains:
|
The first folder created is the root directory of your auth project. This folder contains:
|
||||||
- the `manage.py` management script used to interact with Django
|
- the `manage.py` management script used to interact with Django
|
||||||
- a preconfigured `supervisor.conf` supervisor config for running celery (and optionally gunicorn) automatically
|
- a preconfigured `supervisor.conf` Supervisor config for running Celery (and optionally Gunicorn) automatically
|
||||||
- a `log` folder which contains log files generated by Alliance Auth
|
- a `log` folder which contains log files generated by Alliance Auth
|
||||||
|
|
||||||
### The myauth Subfolder
|
### The myauth Subfolder
|
||||||
|
|
||||||
Within your auth project root folder is another folder of the same name (a quirk of django project structures). This folder contains:
|
Within your auth project root folder is another folder of the same name (a quirk of Django project structures). This folder contains:
|
||||||
- a celery app definition in `celery.py` for registering tasks with the background workers
|
- a Celery app definition in `celery.py` for registering tasks with the background workers
|
||||||
- a web server gateway interface script `wsgi.py` for processing web requests
|
- a web server gateway interface script `wsgi.py` for processing web requests
|
||||||
- the root url config `urls.py` which Django uses to direct requests to the appropriate view
|
- the root URL config `urls.py` which Django uses to direct requests to the appropriate view
|
||||||
|
|
||||||
There are also two subfolders for `static` and `templates` which allow adding new content and overriding default content shipped with Alliance Auth or Django.
|
There are also two subfolders for `static` and `templates` which allow adding new content and overriding default content shipped with Alliance Auth or Django.
|
||||||
|
|
||||||
@ -35,15 +35,15 @@ The local settings file is referred to as "your auth project's settings file" an
|
|||||||
Your auth project comes with four log file definitions by default. These are created in the `myauth/log/` folder at runtime.
|
Your auth project comes with four log file definitions by default. These are created in the `myauth/log/` folder at runtime.
|
||||||
|
|
||||||
- `allianceauth.log` contains all `INFO` level and above logging messages from Alliance Auth. This is useful for tracking who is making changes to the site, what is happening to users, and debugging any errors that may occur.
|
- `allianceauth.log` contains all `INFO` level and above logging messages from Alliance Auth. This is useful for tracking who is making changes to the site, what is happening to users, and debugging any errors that may occur.
|
||||||
- `worker.log` contains logging messages from the celery background task workers. This is useful for monitoring background processes such as group syncing to services.
|
- `worker.log` contains logging messages from the Celery background task workers. This is useful for monitoring background processes such as group syncing to services.
|
||||||
- `beat.log` contains logging messages from the background task scheduler. This is of limited use unless the scheduler isn't starting.
|
- `beat.log` contains logging messages from the background task scheduler. This is of limited use unless the scheduler isn't starting.
|
||||||
- `gunicorn.log` contains logging messages from gunicorn workers. This contains all web-sourced messages found in `allianceauth.log` as well as runtime errors from the workers themselves.
|
- `gunicorn.log` contains logging messages from Gunicorn workers. This contains all web-sourced messages found in `allianceauth.log` as well as runtime errors from the workers themselves.
|
||||||
|
|
||||||
When asking for assistance with your auth project be sure to first read the logs, and share any relevant entries.
|
When asking for assistance with your auth project be sure to first read the logs, and share any relevant entries.
|
||||||
|
|
||||||
## Custom Static and Templates
|
## Custom Static and Templates
|
||||||
|
|
||||||
Within your auth project exists two folders named `static` and `templates`. These are used by Django for rendering web pages. Static refers to content Django does not need to parse before displaying, such as CSS styling or images. When running via a WSGI worker such as gunicorn static files are copied to a location for the web server to read from. Templates are always read from the template folders, rendered with additional context from a view function, and then displayed to the user.
|
Within your auth project exists two folders named `static` and `templates`. These are used by Django for rendering web pages. Static refers to content Django does not need to parse before displaying, such as CSS styling or images. When running via a WSGI worker such as Gunicorn static files are copied to a location for the web server to read from. Templates are always read from the template folders, rendered with additional context from a view function, and then displayed to the user.
|
||||||
|
|
||||||
You can add extra static or templates by putting files in these folders. Note that changes to static requires running the `python manage.py collectstatic` command to copy to the web server directory.
|
You can add extra static or templates by putting files in these folders. Note that changes to static requires running the `python manage.py collectstatic` command to copy to the web server directory.
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ It's probably a permissions issue. Ensure your current user can write to the vir
|
|||||||
|
|
||||||
### Failed to configure log handler
|
### Failed to configure log handler
|
||||||
|
|
||||||
Make sure the log directory is write-able by the allianceserver user: `chmown -R allianceserver:allianceserver /path/to/myauth/log/`, then restart the auth supervisor processes.
|
Make sure the log directory is writeable by the allianceserver user: `chmown -R allianceserver:allianceserver /path/to/myauth/log/`, then restart the auth supervisor processes.
|
||||||
|
|
||||||
### Groups aren't syncing to services
|
### Groups aren't syncing to services
|
||||||
|
|
||||||
@ -40,3 +40,11 @@ Now start the worker again with `supervisorctl start myauth:worker`
|
|||||||
### Proxy timeout when entering email address
|
### Proxy timeout when entering email address
|
||||||
|
|
||||||
This usually indicates an issue with your email settings. Ensure these are correct and your email server/service is properly configured.
|
This usually indicates an issue with your email settings. Ensure these are correct and your email server/service is properly configured.
|
||||||
|
|
||||||
|
### No images are available to users accessing the website
|
||||||
|
|
||||||
|
This is due to a permissions mismatch, check the setup guide for your web server. Additionally ensure the user who owns /var/www/myauth/static is the same user as running your webserver, as this can be non-standard.
|
||||||
|
|
||||||
|
### Unable to execute 'gunicorn myauth.wsgi' or ImportError: No module named 'myauth.wsgi'
|
||||||
|
|
||||||
|
Gunicorn needs to have context for its running location, `/home/alllianceserver/myauth/gunicorn myauth.wsgi` will not work, instead `cd /home/alllianceserver/myauth` then `gunicorn myauth.wsgi` is needed to boot Gunicorn. This is handled in the Supervisor config, but this may be encountered running Gunicorn manually for testing.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user