Search code examples
phpapachevhostssuexec

Apache setup for multiple sites with common files


I have approx 50 sites that all use the exact same files other than CSS and IMAGES, i currently duplicate the files each time i create a new site and upload different css and images.

What I want do so set up each vhost to have the same DocumentRoot then add AliasMatch for the css and images folders e.g:

#Common Files VHOST
<VirtualHost xxx.xxx.xxx.xxx:80>
    ServerName commonfiles.com
    ServerAlias www.commonfiles.com
    DocumentRoot /home/commonfiles/public_html
</VirtualHost>

#Sample vhost for 1 of the 50 sites.
<VirtualHost xxx.xxx.xxx.xxx:80>
    ServerName mytest.com
    ServerAlias www.mytest.com
    DocumentRoot /home/commonfiles/public_html
    ......
    AliasMatch /css/(.*) /home/ftpuser/public_html/mycss/$1
</VirtualHost>

The alias works perfectly for the bespoke files but the common files cant be accessed because of permission errors:

[Mon Nov 16 09:31:01 2009] [crit] [client xxx.xxx.xxx.xxx] (13)Permission denied: /home/commonfiles/public_html/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

This is the current server setup which I think may be part of the problem (Previous Server Admin Set this up):

  • Apache(Apache/2.2.14 (Unix)
  • PHP 5.2.11
  • CentOS 4.8 i686 standard
  • PHP 5 Handler is dso
  • Apache suEXEC is on

Any suggestions?


Solution

  • It appears that by default the the public_html folder has permissions of 750, I changed to 755 and updated the open_basedir restrictions and all started to work great.

    I just have to make sure that I can still have a .htaccess per site.