Add apache configuration template, improved documentation
authorkaliko <kaliko.jack@azylum.org>
Sat, 23 Feb 2013 13:12:26 +0000 (14:12 +0100)
committerkaliko <kaliko.jack@azylum.org>
Sat, 23 Feb 2013 13:12:26 +0000 (14:12 +0100)
INSTALL.rst
doc/apache.conf.dist [new file with mode: 0755]

index e287907..9787c8f 100644 (file)
@@ -1,35 +1,59 @@
 Requirements
 ------------
 
+ - The code : http://git.kaliko.me/?p=scrobblerserver.git
  - Django 1.4 https://docs.djangoproject.com/en/1.4/
- - Web Server apache httpd
+ - Web Server apache with wsgi module
+
+Default setup uses sqlite, no database application required, it's fine if you
+have a couple of users, switch to something else otherwise.
+
 
 Setup
 -----
 
 FIRST.
 
-In "./scrobblerserver/settings.py" set these variables to reflect your installation.
-        ROOT_FOLDER (the folder holding manage.py file)
+Please set the SECRET_KEY in "./scrobblerserver/settings.py" (use a random
+string – the longer, the better)
+
+You may want to tune some other variables in "./scrobblerserver/settings.py",
+defaults might be ok though.
+For instance :
+        ROOT_FOLDER
         ADMINS
         TIME_ZONE
-        SECRET_KEY  (set this to a random string – the longer, the better)
 
-Default database is set to use sqlite within ROOT_FOLDER + './var/db.sqlite'
-You may change it.
+Default database is set to use sqlite within ROOT_FOLDER + './var/db.sqlite'.
+
 
 THEN.
+
 run django-admin to create admin user and deploy database:
         ``./manage.py syncdb``
 
+*Pay attention:*
+    ROOT_FOLDER + './var/db.sqlite' should be writable by the process running the application.
+    On Debian and most derivatives, www-data user should be able to read/write ./var/db.sqlite.
+
 
 Deployment
 ----------
+*NOTA BENE*:
+    Because of the authentication method implemented (Basic HTTP), the
+    credentials are passed as plaintext and could be intercepted.
+    I guess it might be fine on a private network at home though.
+    Otherwise, please, use SSL/TLS (ie HTTPS) connection to ensure
+    confidentiality of credentials.
+
 
-The author is debuging/testing/running its own instance with apache web server/mod_wsgi.
+The author is debugging/testing/running its own instance with apache web server/mod_wsgi.
 Other methods should work as well, do not hesitate to report so.
 
 wsgi Deployment is documented online with Django project:
     https://docs.djangoproject.com/en/1.4/
 
+Apache:
+~~~~~~~
+Use doc/apache.conf.dist as template, adapt path to your install locations.
 
diff --git a/doc/apache.conf.dist b/doc/apache.conf.dist
new file mode 100755 (executable)
index 0000000..0f999b4
--- /dev/null
@@ -0,0 +1,20 @@
+# Let's say:
+#     * you extract scrobblerserver source whithin /path/to/source/
+#     * you will serve the scrobbler at http://example.org/scs
+#     * you may have create a dedicated virtualenv (w/ django 1.4) in /path/to/venvs/scserver_venv
+
+# WSGIScriptAlias is responsible of the location "http://example.org/scs"
+WSGIScriptAlias /scs /path/to/source/scrobblerserver/scrobblerserver/wsgi.py
+
+# WSGI Python Path
+WSGIPythonPath /path/to/source/python/scrobblerserver
+# If you get django 1.4 inside a virtualenv, use the folowing:
+#WSGIPythonPath /path/to/source/python/scrobblerserver:/path/to/venvs/scserver_venv/lib/python2.x/site-packages
+
+# Set up for directory holding wsgi.py
+<Directory /path/to/source/scrobblerserver/scrobblerserver>
+               <Files wsgi.py>
+                               Order deny,allow
+                               Allow from all
+               </Files>
+</Directory>