Mediagoblin: Difference between revisions

From Bibliotheca Anonoma
No edit summary
No edit summary
Line 1: Line 1:
a quick and dirty guide, better docs and maybe puppet config later
== Installation ==
== Installation ==


Line 6: Line 8:
# Set up uWSGI with Nginx [http://nathanielca.se/fossrit/deploying-mediagoblin-1-fastcgi-vs-uwsgi.html as you see in this guide.]
# Set up uWSGI with Nginx [http://nathanielca.se/fossrit/deploying-mediagoblin-1-fastcgi-vs-uwsgi.html as you see in this guide.]


Though actually, instead of the config seen in the guide, use this one (since the guide puts the site under {{ic|domain.com/mediagoblin/}}, which is not what we want.)
Make sure to install {{ic|nginx-full}} on Debian/Ubuntu, or {{ic|nginx-all-modules}} on CentOS. Then add the following [http://uwsgi-docs.readthedocs.io/en/latest/Nginx.html as stated in this guide:]
 
{{hc|/etc/nginx/uWSGI_params|<nowiki>
uwsgi_param QUERY_STRING $query_string;
uwsgi_param REQUEST_METHOD $request_method;
uwsgi_param CONTENT_TYPE $content_type;
uwsgi_param CONTENT_LENGTH $content_length;
uwsgi_param REQUEST_URI $request_uri;
uwsgi_param PATH_INFO $document_uri;
uwsgi_param DOCUMENT_ROOT $document_root;
uwsgi_param SERVER_PROTOCOL $server_protocol;
uwsgi_param REMOTE_ADDR $remote_addr;
uwsgi_param REMOTE_PORT $remote_port;
uwsgi_param SERVER_ADDR $server_addr;
uwsgi_param SERVER_PORT $server_port;
uwsgi_param SERVER_NAME $server_name;
</nowiki>}}
 
Though actually, instead of the config seen in the guide, use this one (since the guide has a typo for uwsgi_pass, and puts the site under {{ic|domain.com/mediagoblin/}}, which is not what we want.)


{{hc|/etc/nginx/conf.d/mediagoblin.conf|<nowiki>location / {
{{hc|/etc/nginx/conf.d/mediagoblin.conf|<nowiki>location / {

Revision as of 04:39, 8 July 2017

a quick and dirty guide, better docs and maybe puppet config later

Installation

Note: If you have SELinux, temporarily set it to Enforcing mode. After installation, a special rule can be set to allow Mediagoblin to function.
  1. follow Deploying guide using python3, up to the FastCGI and Nginx part where you stop, because flup doesn't work on python3 and uWSGI is better.
  2. Set up uWSGI with Nginx as you see in this guide.

Make sure to install nginx-full on Debian/Ubuntu, or nginx-all-modules on CentOS. Then add the following as stated in this guide:

/etc/nginx/uWSGI_params
uwsgi_param QUERY_STRING $query_string;
uwsgi_param REQUEST_METHOD $request_method;
uwsgi_param CONTENT_TYPE $content_type;
uwsgi_param CONTENT_LENGTH $content_length;
uwsgi_param REQUEST_URI $request_uri;
uwsgi_param PATH_INFO $document_uri;
uwsgi_param DOCUMENT_ROOT $document_root;
uwsgi_param SERVER_PROTOCOL $server_protocol;
uwsgi_param REMOTE_ADDR $remote_addr;
uwsgi_param REMOTE_PORT $remote_port;
uwsgi_param SERVER_ADDR $server_addr;
uwsgi_param SERVER_PORT $server_port;
uwsgi_param SERVER_NAME $server_name;

Though actually, instead of the config seen in the guide, use this one (since the guide has a typo for uwsgi_pass, and puts the site under domain.com/mediagoblin/, which is not what we want.)

/etc/nginx/conf.d/mediagoblin.conf
location / {
   include uWSGI_params;
   uwsgi_pass 127.0.0.1:26543;

   # our understanding vs nginx's handling of script_name vs
   # path_info don't match :)
   uwsgi_param SCRIPT_NAME "";
   uwsgi_modifier1 30;
}

Notes

  1. If you have SELinux, see this guide to make it allow uWSGI sockets.