[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [GMG-Devel] Fixed the apache config example in the wiki
From: |
Christopher Allan Webber |
Subject: |
Re: [GMG-Devel] Fixed the apache config example in the wiki |
Date: |
Tue, 11 Dec 2012 22:32:03 -0600 |
User-agent: |
mu4e 0.9.9-dev6; emacs 24.0.92.1 |
New solution! I'm happy with this one!
<VirtualHost *:80>
Options +ExecCGI
# Accept up to 16MB requests
FcgidMaxRequestLen 16777216
ServerName mediagoblin.example.org
Alias /mgoblin_static/ /path/to/mediagoblin/mediagoblin/static/
Alias /mgoblin_media/ /path/to/mediagoblin/user_dev/media/public/
ScriptAlias / /path/to/mediagoblin/mg.fcgi/
</VirtualHost>
Christopher Allan Webber writes:
> Apparently by "I fixed things" I should have said "actually I completely
> and totally broke them."
>
> But the example on the wiki for fcgid does not work, it appears. At the
> very least, I tested on a friend's server with the following:
>
> /mgoblin_media/media_entries/nonexistant/
>
> I get:
>
> The resource could not be found.
> The resource at http://DOMAIN.org/mgoblin_media/media_entries/nonexistant/
> could not be found
> WSGI Server
>
> This suggests it's being routed through paste/python, which it shouldn't
> have to do... it should go through apache!
>
> However, admittedly I tend to get really confused by apache config options.
>
> It does look like everything is being forced through mg.fcgi though. I'm
> not really sure what the right solution is. :\
>
> Basically this:
> RewriteEngine On
> RewriteRule ^(mgoblin_static|mgoblin_media)($|/) - [L]
> RewriteCond %{REQUEST_FILENAME} !-f
> RewriteRule ^/(.*)$ /mg.fcgi/$1 [QSA,L]
>
> *should* be more like:
>
> RewriteCond %{REQUEST_URI} !^/(mgoblin_static|mgoblin_media)/
> RewriteRule ^/(.*)$ /mg.fcgi/$1 [QSA,L]
>
> ... I think. However, that doesn't work either, for entirely different
> reasons: it seems like the aliases to /mgoblin_static/ and
> /mgoblin_media/ are not working.
>
> Additionally, the wiki says:
>
> <Directory /mgoblin_static>
> Order allow,deny
> Allow from all
> </Directory>
>
> <Directory /mgoblin_media>
> Order allow,deny
> Allow from all
> </Directory>
>
> Shouldn't that be Location, not Directory?
>
> Does someone with better apache/fcgid chops have any idea how to resolve
> this? :)
>
> Additionally, I came up with an alternative recipe:
>
> <VirtualHost *:80>
> Options +ExecCGI
>
> ServerName mediagoblin.example.org
>
> Alias /mgoblin_static/ /srv/mediagoblin/mediagoblin/static/
> Alias /mgoblin_media/ /srv/mediagoblin/user_dev/media/public/
>
> Alias /mgoblin.fcgi /srv/mediagoblin/mg.fcgi
>
> # Rewrite all URLs to fcgi, except for static and media urls
>
> RewriteEngine On
> RewriteCond %{REQUEST_URI} !^/(mgoblin_static|mgoblin_media)/
> RewriteRule ^/(.*)$ /mgoblin.fcgi/$1 [PT,L]
>
> FcgidMaxRequestLen 16777216
>
> </VirtualHost>
>
> This works, but the problem with this though is that it ends up
> generating urls like:
>
> /mgoblin.fcgi/u/cwebber/
>
> instead of:
>
> /u/cwebber/
>
> I think this is related to our supporting of mounting mediagoblin at
> subdirectories. It might also have something to do with SCRIPT_NAME,
> which is something that always confuses me on how to do right.
>
> Thoughts?????
> - Chris
>
> Christopher Allan Webber writes:
>
>> Yo,
>>
>> If you're currently deploying via the apache config example in the wiki,
>> *plese* see the updated example on the wiki.
>>
>> I've updated the rewrite rules to be like:
>>
>> # Rewrite all URLs to fcgi, except for static and media urls
>> RewriteEngine On
>> RewriteRule ^/(mgoblin_static|mgoblin_media)/ - [L]
>> RewriteCond %{REQUEST_FILENAME} !-f
>> RewriteRule ^/(.*)$ /mg.fcgi/$1 [QSA,L]
>>
>> The first RewriteRule used to be different, and I discovered that on my
>> friend's server that it was not actually serving the media directly via
>> apache at all.. it was passing it through python first! Which is WAY
>> LESS EFFICIENT than is reasonable!
>>
>> So, update your configs! :)
>> - Chris
>>
>> _______________________________________________
>> devel mailing list
>> address@hidden
>> http://lists.mediagoblin.org/listinfo/devel