bcfg2 -vqed update messed up my pressflow multisite

Events happening in the community are now at Drupal community events on www.drupal.org.
Posted by christowm on June 20, 2011 at 6:45am

I am running a mercury 1.1 installation with a multisite setup. Everything has been running fine so far. However today I modified server_tuneables (I placed a 96 MByte limit on Tomcat - all other entries stayed blank) and then I ran bcfg2 -vqed to update all the settings. Once bcfg2 finished I ran into several problems with my install.

The first thing that happened was that all the sites other than the default installation could not be accessed. Whenever I tried to get to any URL for the additional sites I received a "403 Forbidden" error message. I looked at the default file within the /etc/apache2/sites-available directory and I noticed that the Directory setting for /var/www was set as follows:

 <Directory /var/www/>
 Options Indexes FollowSymLinks MultiViews
 AllowOverride All
 Order deny,allow
 Deny from all
 Allow from 127.0.0.0/255.0.0.0 ::1/128
 </Directory>

The only way that I could enable access again to all my sites was to change the default file. I modified the entry as follows:

 <Directory /var/www/>
 Options Indexes FollowSymLinks MultiViews
 AllowOverride All
 Order allow,deny
 allow from all
 Allow from 127.0.0.0/255.0.0.0 ::1/128
 </Directory>

Now the sites were again accessible. But I don't believe that this is the correct setup. Could someone tell me what the right settings are for a default mercury installation with multisite setup? What should the apache configuration be?

The next problem I ran into once the sites were again accessible was that no changes that I made to any settings on the additional sites was being saved. No matter what change I wanted to make on the additional sites (modify modules, change or add content, etc.) nothing was being saved. There were no error messages, and nothing that would indicate why no changes that I made on the site were being saved. I tried all sorts of modifications on the server configs for hours but no matter what I did the additional sites would simply not store any changes (the main site never exhibited any of these problems).

Ultimately the only way that I was able to "fix" this was to disable varnish. Once I turned off varnish, and allowed Apache to listen on port 80, everything worked again and I could save any changes that I made to the site. Obviously that's not an ideal situation. Would anyone have any ideas why varnish would prevent me from saving changes that are being made to the additional sites? Any help on this would be greatly appreciated. Thanks a lot.

Mitch

Categories:

Comments

your actual site is running on :8080

Posted by travisc on June 20, 2011 at 8:03pm

I'm pretty sure the changes you made to your drupal site were successful, it's just when using varnish on the standard port http://yoursite.com:80 your not going to be able to see your updates without flushing the varnish cache, which basically requires restarting varnish.

When your making updates and you want to see your changes immediately use port :8080 (http://yoursite.com:8080)

I'm not sure if there is a better way to refresh the varnish cache other then
$ /etc/init.d/varnish restart.

I've been thinking about merging a bunch of sites onto one Mercury server, but maybe we need better multisite documentation for mercury/varnish in this configuration?

I thought about that...

Posted by christowm on June 21, 2011 at 3:53am

HI Travis,

I thought about that too and I had restarted Varnish a couple of times. Also, the updates worked just fine before I ran the update. If this is a Varnish cache issue then why would the "default" site work without a hitch? The update problem only happens on the additional sites that were set up, but not on the default site. Why would varnish cache only affect the additional site? Is there a way to troubleshoot this?

Regards,
Mitch

Figured out part of the problem

Posted by christowm on June 22, 2011 at 4:59pm

Ok, so I figured one part out. It looks like the bcfg2 update merged its template code with the existing vhost file. The two commands about allow and deny were in conflict. Here is the new setting that works as designed.

<Directory /var/www/>
 Options Indexes FollowSymLinks MultiViews
 AllowOverride All
 Order allow,deny
 Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

So I removed the "Deny All and only kept the Allow from 127. This ensures that Apache only listens for traffic from Varnish.

Mercury

Group organizers

Group categories

Post Type

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

AltStyle によって変換されたページ (->オリジナル) /