Opened 15 years ago
Last modified 11 years ago
#40 closed task (FIXED)
Document how to run without dev environment
| Reported by: | Sebastian Spaeth | Owned by: | Sam Kleinman |
|---|---|---|---|
| Priority: | minor | Milestone: | 0.1.0 |
| Component: | documentation | Keywords: | |
| Cc: | Parent Tickets: |
Description
The current docs show nicely how to set up a dev environment, however it is not clear how to set up the thing in a non-dev way (I guess that is the "deployment" docs, right?)
Here are some things to consider when writing this. I got it up and running in Ubuntu Maverick in a non-dev way. I had to install some things with "pip" and used the distribution packages whenever possible.
So stuff that needs documentation:
paster running on port 80 is not possible without having the whole thing running as root. Which will then require to also have celeryd running as root, as it needs to delete files that paster put there. I solved this in a very hackish way with "Capabilities" on Linux. Downside is, I had to grant /usr/bin/python the permission to access ports <1024. I achieved this with
sudo setcap 'cap_net_bind_service=+ep' /usr/bin/python2.6
(not saying we should recommend that to anyone. I guess we will propose to run this as a local user on a nonpriviledged port and proxy it through nginx or so.
Anyway, it runs beautiful as www-data on my server now.
Attachments (2)
Change History (8)
comment:1 by , 15 years ago
| Owner: | set to |
|---|---|
| Priority: | Low → Normal |
comment:2 by , 15 years ago
Some more random notes on how I got it to run with nginx & fcgi & flup rather than paster:
Assume mediagoblin checkout in /home/spaetz/src/mediagoblin Install python-flup. Put index.py into /var/www/mediagoblin/index.py
- Have mongodb started
- start celeryd: sudo -u www-data CELERY_CONFIG_MODULE=mediagoblin.celery_setup.from_celery celeryd
- Start mediagoblin as fcgi: "sudo -u www-data spawn-fcgi index.py -p 8000" (use -n for not backgrounding so you can ctrl-c it)
- Start nginx forwarding fcgi from port 8000: (will attache site config)
Works...
comment:3 by , 15 years ago
| Component: | → Documentation |
|---|---|
| Milestone: | → 0.1.0 |
| Owner: | set to |
This waters down to "write documentation on how to deploy mediagoblin". That's something we should have in the manual for 0.1.0. Given that, I'm assigning to Sam and re-targeting.
Sam: You probably want to get help from Chris and whoever else Chris thinks would help out.
comment:4 by , 15 years ago
When we suggest how to do deployments, I'd actually like to do Virtualenv rather than buildout as we're doing it now.
(btw, the OpenHatch people have been changing to do that for both deployment and development.... might be a good idea for us to follow that lead...)
comment:5 by , 15 years ago
| Status: | New → Closed |
|---|
Marking this as closed, as we basically got this happening in deployment documentation in the sphinx docs.
Future work on this should happen in #567
comment:6 by , 14 years ago
The original url for this bug was http://bugs.foocorp.net/issues/311 .
Relations:
#237: related

You're right--this is what the deployment howto is for.
Deployment definitely won't use paster. Much like PyBlosxom, we're using Paste for hacking, but GNU MediaGoblin is a WSGI application and thus should be set up using a WSGI application runner like mod_wsgi or something like that. I don't think we should work on this right now, but we definitely have to work this out when we get closer to an alpha release.
So to summarize:
Sometime when we're closer to an alpha, we should work out ideal configurations for deployment and document them in the deployment howto.
I'm going to unassign myself.