update / improve docs

This commit is contained in:
Thomas Waldmann 2014-11-15 15:46:14 +01:00
parent 86625876e0
commit 1697941ad0
4 changed files with 40 additions and 18 deletions

View File

@ -70,6 +70,14 @@ To create and initialize the database, use::
python manage.py migrate python manage.py migrate
Create the superuser account
----------------------------
To create the user who is administrator of the service, use::
python manage.py createsuperuser
Start the development server Start the development server
---------------------------- ----------------------------
@ -81,9 +89,8 @@ Start the development server
Nameserver Nameserver
---------- ----------
Now as the server is running, you can log in using the database administrator Now as the server is running, you can log in using the superuser account you
account you created in the manage migrate step and use "admin" from the menu just created and use "admin" from the menu to access Django's admin interface.
to start Django's admin.
You'll need to configure at least 1 nameserver / 1 zone to accept dynamic updates, You'll need to configure at least 1 nameserver / 1 zone to accept dynamic updates,
see the "Domains" section in the "user" part of the manual. see the "Domains" section in the "user" part of the manual.
@ -131,12 +138,12 @@ django apps (wsgi apps) with the webserver you use.
Django has nice generic documentation about this, see there: Django has nice generic documentation about this, see there:
https://docs.djangoproject.com/en/1.6/howto/deployment/ https://docs.djangoproject.com/en/1.7/howto/deployment/
Even if you do not follow or fully read the deployment guide, make sure that Even if you do not follow or fully read the deployment guide, make sure that
you at least read the checklist: you at least read the checklist:
https://docs.djangoproject.com/en/1.6/howto/deployment/checklist/ https://docs.djangoproject.com/en/1.7/howto/deployment/checklist/
HTTP Basic Auth HTTP Basic Auth
@ -288,32 +295,33 @@ You need to run some commands regularly, we show how to do that on Linux (or
other POSIX OSes) using user cronjobs (use crontab -e to edit it). Make sure other POSIX OSes) using user cronjobs (use crontab -e to edit it). Make sure
it runs as the same user as the nsupdate.info wsgi application:: it runs as the same user as the nsupdate.info wsgi application::
PYTHONPATH=/srv/nsupdate.info
DJANGO_SETTINGS_MODULE=local_settings DJANGO_SETTINGS_MODULE=local_settings
# reinitialize the test user: # reinitialize the test user:
50 2 * * * django-admin.py testuser 50 2 * * * $HOME/env/bin/python $HOME/env/bin/django-admin.py testuser
# reset the fault counters: # reset the fault counters:
55 2 * * * django-admin.py faults --flag-abuse=20 --reset-client --notify-user 55 2 * * 6 $HOME/env/bin/python $HOME/env/bin/django-admin.py faults --flag-abuse=150 --reset-client --notify-user
# clear expired sessions from the database, use your correct settings module: # clear expired sessions from the database, use your correct settings module:
0 3 * * 1 django-admin.py clearsessions 0 3 * * * $HOME/env/bin/python $HOME/env/bin/django-admin.py clearsessions
# clear outdated registrations: # clear outdated registrations:
0 3 * * 2 django-admin.py cleanupregistration 30 3 * * * $HOME/env/bin/python $HOME/env/bin/django-admin.py cleanupregistration
Dealing with abuse Dealing with abuse
------------------ ------------------
In the regular jobs example in the previous section, In the regular jobs example in the previous section,
--flag-abuse=20 means that it'll set the abuse flag if the client fault counter --flag-abuse=150 means that it'll set the abuse flag if the client fault counter
is over 20 (and, for these cases, it'll also reset the fault counter back to 0). is over 150 (and, for these cases, it'll also reset the fault counter back to 0).
--reset-client additionally sets all client fault counters back to 0, so all --reset-client additionally sets all client fault counters back to 0, so all
counts are just "per day". counts are just "per week".
--notify-user will send an email notification to the creator of the host if we --notify-user will send an email notification to the creator of the host if we
set the abuse flag for it. The email will contain instructions for the user set the abuse flag for it. The email will contain instructions for the user
about how to fix the problem. about how to fix the problem.
So, if you run this daily, it means that more than 20 client faults per day are So, if you run this weekly, it means that more than 150 client faults per week are
considered abuse (e.g. if someone runs a stupid cronjob to update the IP instead considered abuse (e.g. if someone runs a stupid cronjob to update the IP instead
of a well-behaved update client). of a well-behaved update client).
@ -321,7 +329,7 @@ Hosts with the abuse flag set won't accept updates, but the user will be able to
see the abuse flag (as ABUSE on the web interface and also their update client see the abuse flag (as ABUSE on the web interface and also their update client
should show it somehow), fix the problem on the client side and reset the abuse should show it somehow), fix the problem on the client side and reset the abuse
flag via the web interface. If the problem was not really fixed, then it will flag via the web interface. If the problem was not really fixed, then it will
set the abuse flag again the next day. set the abuse flag again the next week.
This procedure should make sure that users of the service run sane and correctly This procedure should make sure that users of the service run sane and correctly
working update clients while being able to fix issues on their own without working update clients while being able to fix issues on their own without

View File

@ -27,7 +27,11 @@ Translations are done on Transifex - please collaborate there to avoid double wo
https://www.transifex.com/projects/p/nsupdateinfo/ https://www.transifex.com/projects/p/nsupdateinfo/
Translation update workflow (start from a clean workdir): Please make sure to configure your notification settings so that you are
notified when the translation project is updated (so you can react quickly and
keep your translation fresh).
Translations update workflow (start from a clean workdir):
:: ::
@ -35,6 +39,8 @@ Translation update workflow (start from a clean workdir):
tx pull tx pull
# update the translations with changes from the source code: # update the translations with changes from the source code:
django-admin.py makemessages -a django-admin.py makemessages -a
# compile the translations to .mo files
django-admin.py compilemessages
# push updated translation files back to transifex: # push updated translation files back to transifex:
tx push -s -t tx push -s -t

View File

@ -16,7 +16,8 @@ set to True, it will suggest you better use the https site and link there.
Additionally, the service administrator can implement a redirect from the Additionally, the service administrator can implement a redirect from the
http to the https site within the webserver configuration for the WWW_HOST. http to the https site within the webserver configuration for the WWW_HOST.
The redirect should **not** be implemented for WWW_IPV4_HOST and WWW_IPV6_HOST The redirect should **not** be implemented for WWW_IPV4_HOST and WWW_IPV6_HOST
as it is unknown whether all update clients can deal with a redirect. as it is unknown whether all update clients can deal with a redirect (and
support TLS).
For the router / update client configuration examples we show when creating a For the router / update client configuration examples we show when creating a
update secret, we use update URLs with https: (and we also tell why it might update secret, we use update URLs with https: (and we also tell why it might

View File

@ -13,7 +13,7 @@ update client.
Usually this kind of software is built-in in your internet router (search for "dynamic DNS", "DDNS", "dyndns" on Usually this kind of software is built-in in your internet router (search for "dynamic DNS", "DDNS", "dyndns" on
its user interface). its user interface).
Alternatively, you can also run a software on a PC / server (like ddclient for Linux). Alternatively, you can also run a software on a PC / server (like ddclient or inadyn for Linux).
Or even just use your browser to update your IP via the web interface of the service. Or even just use your browser to update your IP via the web interface of the service.
@ -352,9 +352,16 @@ Here are some clients that likely qualify:
- good working, reliable - good working, reliable
- the official version is IPv4 only, IPv6 support needs a patched version - the official version is IPv4 only, IPv6 support needs a patched version
- Linux & other POSIX systems - Linux & other POSIX systems
* inadyn (>= 1.99.11)
- we offer configuration help for it, just copy & paste
- good working, reliable
- IPv4 only
- Linux & other POSIX systems
* python-dyndnsc * python-dyndnsc
- IPv4 and v6 support - still alpha/beta, but works
- IPv4 and good IPv6 support
- Mac OS X, Linux and FreeBSD - Mac OS X, Linux and FreeBSD
* whatever your router / gateway / firewall has for dyndns / ddns * whatever your router / gateway / firewall has for dyndns / ddns