Thanks Graham!

This really helped me a lot.

On Thursday, February 13, 2014 4:08:07 PM UTC-6, Graham Dumpleton wrote:
>
> It is hard to give advice given you haven't shown what revised 
> configuration you were using when trying to use the Alias directive. Would 
> have to mostly guess what you were trying.
>
> In short though, especially if you are trying to stick static assets for 
> both at the root of the site, simply use different sub URLs for each sites 
> static assets.
>
> Even better, since you are mounting the web applications themselves at a 
> sub URL, use a sub URL of the mount point for each site for the static 
> assets. For example:
>
> WSGIScriptAlias /irwin/ /var/www/irwin/vorac-site/
> Alias /irwin/static/ /var/www/irwin/vorac-site/
>
> WSGIScriptAlias /stephanopoulos/ /var/www/stephanopoulos/vorac-site/
> Alias /stephanopoulos/static/ /var/www/stephanopoulos/vorac-site/
>
> The Alias directive takes precedence over the WSGIScriptAlias for those 
> sub URLs.
>
> Your web application should then make sure it uses relative URLs to access 
> static assets, or properly do URL reconstruction for embedded URLs which 
> takes into consider the web application mount point:
>
> http://www.python.org/dev/peps/pep-3333/#url-reconstruction
>
> Any decent web framework will provide some inbuilt function or template 
> tag for reconstructing URLs for other URLs in the site properly so that the 
> mount point doesn't have to be hardwired into your application code.
>
> Graham
>
> On 12/02/2014, at 5:52 PM, J_Irwin13 <[email protected] <javascript:>> 
> wrote:
>
> Hello Graham,
>
> Thank you for your reply. You have suggested that I could use Alias 
> directives to selectively overlay static assets required for other sites.
> I tried to use the Alias directive, but then this will force the two wsgi 
> apps to use the same static file folder. Would you please elaborate to me
> what you mean by 'selectively overlay static assets'? I am having a hard 
> time understanding how this is achievable by the Alias directive.
>
>
> On Tuesday, February 11, 2014 3:55:14 PM UTC-6, Graham Dumpleton wrote:
>>
>> You can't have more than one DocumentRoot directive inside of a 
>> VirtualHost. If you do only the last one is used. The results are not 
>> merged.
>>
>> You would have to choose only one to use and then use Alias directives to 
>> selectively overlay static assets required for other sites. The alternative 
>> is to use a cascading set of mod_rewrite rules to allow static assets from 
>> multiple directories to be merged.
>>
>> For further ideas see:
>>
>>
>> http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines#Hosting_Of_Static_Files
>>
>> http://stackoverflow.com/questions/4679258/merging-two-folder-with-mod-rewrite-in-htaccess
>>
>> http://serverfault.com/questions/69938/how-can-i-make-apache-look-in-2-separate-directories-with-one-common-url
>>
>> You will of course need to adapt any rewrite rules to your specific needs.
>>
>> Graham
>>
>> On 12/02/2014, at 8:12 AM, J_Irwin13 <[email protected]> wrote:
>>
>> Hi all, 
>>
>> I am currently working on a cherrypy project on a remote server with 
>> Apache with mod_wsgi installed.
>> I have already been working on a wsgi application on this server and am 
>> trying to add another one.
>> In order to add a new wsgi application, I have made a small change to the 
>> server Apache config file:
>>
>> <VirtualHost *:80>
>> ServerAdmin webmaster@localhost
>> ServerAlias mtron.dyndns.org
>> DocumentRoot /var/www
>> <Directory />
>> Options FollowSymLinks
>> AllowOverride None
>> </Directory>
>> <Directory /var/www/>
>> Options Indexes FollowSymLinks MultiViews
>> AllowOverride All
>> Order allow,deny
>> allow from all
>> </Directory>
>>
>> DocumentRoot /var/www/irwin/vorac-site/
>>         <Directory /var/www/irwin/vorac-site/>
>>                 Options Indexes FollowSymLinks MultiViews
>>                 AllowOverride All
>>                 Order allow,deny
>>                 Allow from all
>>         </Directory>
>>         WSGIScriptAlias /irwin/ /var/www/irwin/vorac-site/
>>
>> DocumentRoot /var/www/stephanopoulos/vorac-site/
>>         <Directory /var/www/stephanopoulos/vorac-site/>
>>                 Options Indexes FollowSymLinks MultiViews
>>                 AllowOverride All
>>                 Order allow,deny
>>                 Allow from all
>>         </Directory>
>>         WSGIScriptAlias /stephanopoulos/ 
>> /var/www/stephanopoulos/vorac-site/
>>
>> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
>> <Directory "/usr/lib/cgi-bin">
>> AllowOverride None
>> Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
>> Order allow,deny
>> Allow from all
>> </Directory>
>>
>> ErrorLog ${APACHE_LOG_DIR}/error.log
>>
>> # Possible values include: debug, info, notice, warn, error, crit,
>> # alert, emerg.
>> LogLevel warn
>>
>> CustomLog ${APACHE_LOG_DIR}/access.log combined
>>
>>     Alias /doc/ "/usr/share/doc/"
>>     <Directory "/usr/share/doc/">
>>         Options Indexes MultiViews FollowSymLinks
>>         AllowOverride None
>>         Order deny,allow
>>         Deny from all
>>         Allow from 127.0.0.0/255.0.0.0 ::1/128
>>     </Directory>
>> </VirtualHost>
>>
>> The wsgi app i have been working on is colored in *green* and located on 
>> /var/www/irwin/vorac-site/ on the server.
>> The new wsgi app that I added is colored in *blue* and located on 
>> /var/www/stephanopoulos/vorac-site/ on the server.
>>
>> As you can see, the applications are located in different subfolders of 
>> /var/www. In both folders, there is a folder called 'public'
>> that contains a folder called 'js' for javascript files.
>>
>> When I tried opening the new app in my browser, I did not notice anything 
>> at first (The new app is a fork of the other app)
>> The problem is that when I add new javascript files or changes to my old 
>> app (/var/www/irwin/vorac-site/), any changes I make
>> seem to be ignored. After doing a few experiments, I realized that the 
>> old app was looking for javascripts in the directory of the new
>> app. The following apache log message seems to support this:
>>
>> [Tue Feb 11 00:46:23 2014] [error] [client 62.251.63.200] File does not 
>> exist: /var/www/*stephanopolous/vorac-site*/public/js/pos_lib.js, 
>> *referer*: http://mtron.dyndns.org/ <http://oprime.dyndns.org/>*irwin*
>> /index
>>
>> Where pos_lib.js is a new javascript file I had added to 
>> /var/www/irwin/vorac-site/public/js.
>>
>> Furthermore, I have temporarily added another line after the new 
>> additions:
>>
>>  Alias /public /var/www/irwin/vorac-site/public
>>
>> Now the js files are properly updated for the irwin site, but the same 
>> updates are obviously applied to the stephanopolous site, which is not what 
>> I need.
>> I need the server to be configured such that the apps will only look for 
>> static files such as javascript files in their respective 'public' folders, 
>> not sharing any resources.
>>
>> I have tried to look for similar situations on this newsgroup and on 
>> stackoverflow, but have had no luck doing so. My guess as to what is wrong 
>> is that since
>> WSGIScriptAlias /stephanopoulos/ /var/www/stephanopoulos/vorac-site/ was 
>> added last, it made it so that all wsgi apps will look for static
>> files in this folder. Can anyone help me solve this problem?
>>
>>
>>
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "modwsgi" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/modwsgi.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "modwsgi" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <javascript:>.
> To post to this group, send email to [email protected] <javascript:>
> .
> Visit this group at http://groups.google.com/group/modwsgi.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"modwsgi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/modwsgi.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to