Move documentation into repository (#613)

This commit is contained in:
Basraah
2017-01-06 15:11:24 +10:00
committed by Adarnof
parent 8e64fe145e
commit 9ad61c1f4c
33 changed files with 2303 additions and 0 deletions

View File

@@ -0,0 +1,297 @@
# Changelog
## From now on all changelogs will be included as release notes.
https://github.com/R4stl1n/allianceauth/releases
### 547
Oct 16
Golly this is a big one. Upgrading takes a bit of work. [For full instructions click here.](https://github.com/R4stl1n/allianceauth/pull/547#issue-183247630)
- Update django version to 1.10
- Remove member/blue permissions
- implement user states
- implement Django's messaging framework for site feedback
- remove pathfinder support
- remove fleet fits page
- remove wormhole tracker
- do not store service passwords
- supervisor configs for celery tasks and authenticator
- buttons on admin site to sync service groups
- show number of notifications
- fix all button css
- rewrite and centralize API checks
- bulk mark read / delete for notifications
- replace hard-coded urls with reverse by name
- python 3 compatibility
- correct navbar active link with translated urls
### 468
June 12
- XenForo integration added
- Discord integration updated to use OAuth and official API
- FleetUp fixes for empty responses
### 441
May 27
- Added option to require new API keys
- Reduces threat of stolen keys being used to create accounts
- Requires two new settings:
- `REJECT_OLD_APIS`, default `False`
- `REJECT_OLD_APIS_MARGIN`, default 50
### 423
May 9
- Added statistics to fleet activity tracking
- Capture teamspeak error codes in logs from failed account creation
### 401
Apr 29
- Added FleetUp integration
- Added Fleet Activity Tracking links
- settings.py has new entries and will have to be updated
### 394
Apr 17
- Added Discourse integration
- Added Pathfinder integration
- settings.py has new entries and will have to be updated
### 386
Apr 15 2016
- Corrected Teamspeak group sync triggers
- Modified username sanitization to reduce username collisions
### 369
Apr 7 2016
- Added Evernus Alliance Market Integration
- Requires libffi-devel (centos) or libffi-dev (ubuntu) and pip install bcrypt
### 365
Apr 6 2016
- Added SMF2 Forums integration
- Requires a settings.py file update for existing installs
### 360
Apr 4 2016
- Added a countdown / local time to the fleet operations timers
- Fixed the corporation structure timers so the countdown shows up correctly
### 340
Mar 31 2016
- Added Support for IP Board 4 / IP Suite 4
- You must update settings.py accordingly if updating form a previous version.
- only allows for the member group to sync. Additional groups must be manually added
- Fixed a bug with corporation stats not showing correct users and numbers
### 328
Mar 24 2016
- Added Enhancements to the SRP Management
- Users can now enable and disable srp links.
- The Approve and Reject buttons will show up depending on the srp status.
- Fixed an issue where SRP Requests were not getting the proper status assigned.
### 321
Mar 23 2016
- Added Ship types and kill board data to the SRP management.
- These are automatically pulled from zKillboard.
- zKillboard is the only killboard links that the SRP Manager Accepts Now.
### 314
Mar 22 2016
- Revamp of the Human Resources Application and Management System
- see the [wiki page](https://github.com/R4stl1n/allianceauth/wiki/HRApplications) for how to use the new system
- a completely untested conversion script exists. If you want to view your old models, contact Adarnof to try it out
- Moved Error Handling for the API Keys to the API Calls to better handle API server outages
- Removed the infamous database update task
- implemented a receiver to update service groups as they change
To remove the database update task from the scheduler, navigate to your django admin site, and delete the run_databaseUpdate model from the periodic tasks. Restart celery.
Mumble now uses an ICE authenticator. This requires an additional dependency. Please install `libbz2-dev` and `libssl-dev` prior to running the update script:
sudo apt-get install libbz2-dev libssl-dev
Now run the update script.
Old Mumble accounts are incompatible. Users will need to recreate them (sorry). To clear the old ones out:
python manage.py shell
from services.tasks import disable_mumble
disable_mumble()
To set up the authenticator, follow the [Mumble setup guide.](../installation/services/mumble.md)
Optional: you can delete the entire mumble database block in settings.py
### 304
Mar 8 2016
- Repurposed Signature Tracker for Wormhole Use. Combat sites are a ever changing thing therefore removed.
- Increased run_databaseUpdate time to 10 minutes to address stability problems for larger alliances.
### 296
Feb 27 2016
- corrected an issue with populating corp stats for characters with missing api keys
- moved log files to dedicated folder to allow apache access so it can rotate them
- merged Corp Stats and Member Tracking apps
- `corp_stats` and `corputils` permissions have been depreciated
- assign either of `corp_apis` or `alliance_apis` to get access to Corp Stats app
- `corp_apis` populates APIs of user's main corp
- `alliance_apis` populates APIs of user's main alliance
### 289
Feb 25 2016
- Changed the start time format on the fleet operations board to use the 24 hour format
- Fixed an issue when updating the fleet operations timers the date time picker would not work.
### 286
Feb 23 2016
- Added ability to remove notifications
### 278
Feb 18 2016
- notifications for events:
- api failed validation during refresh
- group request accepted/rejected
- corp application accepted/rejected
- services disabled
- logging notifications include traceback
- automatically assign alliance groups of the form "Alliance_NAME"
- parallel corp model updates via celery broker for performance improvements
- new functions to clear service info for decommissioning a service
settings.py will need to be updated to include the new settings.
### 265
Feb 13 2016
- prototype notification system
- logging errors as notifications based on new permission `logging_notifications`
The logging configuration in settings.py has changed. Please update.
### 263
Feb 12 2016
- revamped `run_corp_update` function which actually works
- fixed group syncing in discord and openfire
### 259
Feb 11 2016
- Added ability to edit structure timers
- Added ability to edit fleet operations timers
- Added ability to edit Signatures
### 245
Feb 7 2016
- ability to toggle assigning corp groups
- users able to manually trigger api refresh
Two new settings in [settings.py](../installation/auth/settings.md) - `MEMBER_CORP_GROUPS` and `BLUE_CORP_GROUPS` - be sure to add them.
### 226
Jan 31 2016
Been a while since one of these was written so a big list.
- corrected user permission caching for Phpbb3
- open groups which don't require application approval
- additional weblink data for TS3 to encourage proper usernames
- corp-restricted timers
- signature tracker
- tolerate random 221 errors from EVE api servers till CCP FoxFour gets it sorted
- new corp member auditing app
- fleet operation timers
- revamped member status checking and assignment
Loads of new permissions. See the readme for descriptions.
Need to install new requirements - `sudo pip install -r requirements.txt`
Incompatible with Python2.6 or older. Please update. Please. It's 2016 people.
Settings.py got nuked. Backup your current settings.py, copy the example, and repopulate.
New caching directory for requests - if you're using apache to serve the site, `cache/` needs to be writable by the webserver. Easiest way is to `chown -R www-data:www-data cache` from within the allianceauth install dir.
### 145
Jan 6 2016
- complete logging system for all apps
- custom service passwords
- Discord token caching to prevent locking out users
- Jabber broadcast group restrictions
- Password reset email contains domain
- Index page only renders forums/killboard/media if url specified
- timestamps on hrapplication comments
- corrected corp/alliance model creation logic
- corrected typecasting of access masks during api checks
- prevent TS3 from attempting to sync groups if not installed
New permissions - see readme.
Need to install new requirements.
Settings.py has changed. Make a new one from the example.
### 118
Dec 2 2015
- add timers by time remaining
- Discord support
- corrected celerytask logic
- handle many 500s thrown in views
New settings.py again. Need to reinstall requirements.
### 107
Nov 28 2015
- added broadcast plugin support for openfire
- timer addition by remaining time, not fixed date
- corrected alliance model deletion logic
- corrected name rendering on templates
Openfire setup guide has been updated for the new plugin.
### 102
Nov 25 2015
- variable API requirements
- api access mask validation during refresh
- support for customization of templates
- celery task resource reduction
- vagrant support
All templates and staticfiles have been moved. If you've customized any of these, make a backup before pulling changes.
New command `python manage.py collectstatic` added to install guide. Should be run after every update.
New settings.py template. Make a backup of the old one, copy the example, and populate.
### 87
Nov 15 2015
A couple quality-of-life improvements.
- corrected an error in the Teamspeak3 Manager improperly parsing responses
- added the ability to hide groups from the web interface
- added a feature for phpbb avatars to be set to the character portrait
New permissions for the `HiddenGroup` model only affect the admin site (default model permissions)
The Phpbb3 setup guide has been updated to reflect avatars.
### 72
Nov 5th 2015
On November 5th we performed two major pulls from Adarnofs and Kaezons forks.
Improvements include:
- ability to deploy for either corp or alliance
- improved logic for member status transitions
- group syncing to TS3
- template corrections
Migration to the new version is a bit trickier because of changes to settings.py - it's easiest to archive the old one, make a copy of the new template, and repopulate it.

View File

@@ -0,0 +1,41 @@
# CloudFlare
CloudFlare offers free SSL and DDOS mitigation services. Why not take advantage of it?
## Setup Protection
Youll need to register an account on [CloudFlares site.](https://www.cloudflare.com/)
Along the top bar, select `Add Site`
Enter your domain name. It will scan records and let you know you can add the site. Continue setup.
On the next page you should see an A record for yourdomain.com pointing at your server IP. If not, manually add one:
A yourdomain.com my.server.ip.address Automatic TTL
Add the record and ensure the cloud under Status is orange. If not, click it. This ensures traffic gets screened by CloudFlare.
If you want forums or kb on a subdomain, and want these to be protected by CloudFlare, add an additional record for for each subdomain in the following format, ensuring the cloud is orange:
CNAME subdomain yourdomain.com Automatic TTL
CloudFlare blocks ports outside 80 and 443 on hosts it protects. This means, if the cloud is orange, only web traffic will get through. We need to reconfigure AllianceAuth to provide services under a subdomain. Configure these subdomains as above, but ensure the cloud is not orange (arrow should go around a grey cloud).
## Redirect to HTTPS
Now we need to configure the https redirect to force all traffic to https. Along the top bar of CloudFlare, select `Page Rules`. Add a new rule, Pattern is yourdomain.com, toggle the `Always use https` to ON, and save. Itll take a few minutes to propagate.
![infographic](http://i.stack.imgur.com/VUBvo.jpg)
## Update Auth URLs
Edit settings.py and change the following values:
- FORUM_URL = `os.environ.get('AA_FORUM_URL', "http://forums.mydomain.com")` if forums are on a subdomain
- IPBOARD_ENDPOINT = `os.environ.get('AA_IPBOARD_ENDPOINT', 'http://forums.mydomain.com/ipboard/interface/board/index.php')` if forums are on a subdomain
- JABBER_URL = `os.environ.get('AA_JABBER_URL', "jabber.yourdomain.com")`
- OPENFIRE_ADDRESS = `os.environ.get('AA_OPENFIRE_ADDRESS', "http://jabber.yourdomain.com:9090")`
- MUMBLE_URL = `os.environ.get('AA_MUMBLE_URL', "mumble.yourdomain.com")`
- TEAMSPEAK3_PUBLIC_URL = `os.environ.get('AA_TEAMSPEAK3_PUBLIC_URL', 'ts.yourdomain.com')`
And there we have it. Youre DDOS-protected with free SSL.

11
docs/maintenance/index.md Normal file
View File

@@ -0,0 +1,11 @@
# Maintenance
```eval_rst
.. toctree::
:maxdepth: 1
changelog
troubleshooting
cloudflare
```

View File

@@ -0,0 +1,50 @@
# Troubleshooting
## Something broken? Stuck on an issue? Can't get it set up?
Start here:
- read the [documentation](https://github.com/R4stl1n/allianceauth/wiki)
- check the [issues](https://github.com/R4stl1n/allianceauth/issues?utf8=%E2%9C%93&q=is%3Aissue) - especially closed ones
- check the [forums](https://forums.eveonline.com/default.aspx?g=posts&t=383030)
No answer?
- open an [issue](https://github.com/R4stl1n/allianceauth/issues)
- harass us on [gitter](https://gitter.im/R4stl1n/allianceauth)
- post to the [forums](https://forums.eveonline.com/default.aspx?g=posts&t=383030)
## Common Problems
### `pip install -r requirements.txt` is failing
Most commonly, your repositories did not include the `requests` package. Install it and try again: `sudo pip install requests`
Otherwise it's usually a missing dependency. Check [the list](../installation/auth/dependencies.md), reinstall, and try again.
### I'm getting an error 500 trying to connect to the website on a new install
Read the apache error log: `sudo nano /var/log/apache2/error.log`
If it talks about failing to import something, google its name and install it.
If it whines about being unable to configure logger, make sure the log directory is write-able: `chmod -R 777 /home/allianceserver/allianceauth/log`, then reload apache.
### Groups aren't syncing to services
Make sure the background processes are running: `ps aux | grep celery` should return more than 1 line. More lines if you have more cores on your server's processor. If there are more than two lines starting with `SCREEN`, kill all of them with `kill #` where `#` is the process ID (second column), then restart with [these background process commands](../installation/auth/quickstart.md) from the allianceauth directory. You can't start these commands as root.
If that doesn't do it, try clearing the worker queue. First kill all celery processes as described above, then do the following:
sudo rabbitmqctl stop_app
sudo rabbitmqctl reset
sudo rabbitmqctl start_app
python manage.py celeryd --purge
Press control+C once.
python manage.py celeryd --discard
Press control+C once.
Now start celery again with [these background process commands.](../installation/auth/quickstart.md)
While debugging, it is useful to see if tasks are being executed. The easiest tool is [flower](http://flower.readthedocs.io/). Install it with this: `sudo pip install flower`, then start it with this: `celery flower --broker=amqp://guest:guest@localhost:5672//`. To view the status, navigate to your server IP, port 5555.