bcfg2 -vqed update messed up my pressflow multisite

Events happening in the community are now at Drupal community events on www.drupal.org.
christowm's picture

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

Comments

your actual site is running on :8080

travisc's picture

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...

christowm's picture

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

christowm's picture

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: