18 Commits

Author SHA1 Message Date
Sunil Mohan Adapa
e2ca5e0f12 Rewrite Apache configuration files
- Don't hijack the entire SSL site for sake of Plinth.

- Serve both HTTP and HTTPS sites with default configuration.

- plinth-ssl configuration only make SSL compulsory.

- Document modules required for configuration to work properly.

- Don't disable default site during FreedomBox setup run.  This is no
  longer required.
2014-11-30 15:11:50 +05:30
Sunil Mohan Adapa
1b6969a8a6 Rethink how proxied headers are handled
- Request Apache to send X-Forwarded-Proto header.

- Use X-Forwarded-Proto header to understand original protocol
  requested.

- Use X-Forwarded-Host header to understand original host requested.

- Allow any incoming host header so that FreedomBox can have any
  hostname and when user requests for Plint with that hostname, it
  works.

- Don't depend on Apache to rewrite the Location: header.  Instead use
  the original host and original scheme to set proper Location: header.
2014-11-30 15:11:50 +05:30
Sunil Mohan Adapa
eec249d006 Don't preserve Host header during Apache proxying
When Apache proxy forwards a request it usually makes the request to the
backend server with a new Host: header but sends the original host
information using a special header X-FORWARDED-HOST: header.  It is a
common practise.  The backend can be make the choice of which header to
use based on the knowledge that it is running behind a proxy server.

Since hostname of a FreedomBox machine could be anyting and it could
change during the operation of Plinth, having a list of incoming Host:
header values is not going to be easy in Plinth.  If Apache were not to
force override this header, managing list of Host: header values will
become easiler in Plinth.  If Plinth indeed wants to know the original
host name by which user refferred to it, it can use the
X-FORWARDED-HOST: header which is the norm in these situtations.
2014-11-30 15:11:50 +05:30
Sunil Mohan Adapa
5d79ad6dc5 Don't service static files directly from Apache
We are allowing modules to bring their own static content.  If we need
to configure Apache to serve static URLs directly, Apache will have know
all the static URLs generated by all the modules.  If these details are
provided, it will likely effect our modularity.

The current static URL given in Apache configuration is anyway
incorrect.
2014-11-30 15:11:50 +05:30
Sunil Mohan Adapa
1e317cfb37 Allow more local IP addresses in Apache configuration 2014-11-30 15:11:50 +05:30
Sunil Mohan Adapa
5b969d9d30 Explicitly write license headers for each source file
The package license (AGPL3+) implicitly indicates the license of each
file.  However, it is desirable to have license headers in each file.
This is the case for many prominent projects like GNU project, Mozilla
etc.
2014-11-30 14:49:49 +05:30
Sunil Mohan Adapa
cc549fff61 Load modules using explict paths instead of config file name 2014-10-04 13:41:27 +05:30
Sunil Mohan Adapa
9e0d08e49d Move enabled modules list to configuration directory 2014-10-04 13:41:26 +05:30
Sunil Mohan Adapa
42d05bfe1f Use Django models to store variables
- Remove dependency on withsqlite and use Django models.
  This avoids depending on a module that is not available in PyPi.
  Withsqlite does not have Python3 support. It does not work when
  we choose a different database backend. Atleast partly duplicates
  what Django models are meant for.

- Check and update database schema on every run so that
  newly added modules can add tables and old ones can update.
2014-09-10 12:35:35 +05:30
Sunil Mohan Adapa
f243dfa3ab Allow running from working directory 2014-08-31 16:32:11 +05:30
Sunil Mohan Adapa
4625bc55df Remove unused user_dir config variable 2014-08-31 16:23:50 +05:30
Sunil Mohan Adapa
9d296a6270 Update name of PID file to plinth.pid 2014-08-31 13:09:37 +05:30
Sunil Mohan Adapa
8a6bf129f3 Fix file_root in installed plinth.config 2014-08-31 13:09:14 +05:30
Sunil Mohan Adapa
33f8015835 Make the help module read documentation directory from config 2014-08-31 13:07:00 +05:30
Sunil Mohan Adapa
e6dbcdccaa Move all misc files under misc directory 2014-08-30 09:38:24 +05:30
James Valleroy
31ffed9323 Remove users database and folder. The user db will be generated in firstboot. 2013-11-20 20:45:17 -05:00
James Vasile
d082538aee move to sqlite3 + json dict storage for users 2012-02-19 15:07:13 -05:00
James Vasile
35071d7212 ... 2011-02-22 13:32:45 -05:00