I have fresh install of Drupal 7 on a CentOS 6 server viewable on the internet, and a development site on a CentOS 6 server at home. Selinux is not running on either server.
If I install a module and theme (admin_menu and tapestry) using Drush on the active server, everything works as expected. The theme is rendering correctly, and the screenshot as well in 'Appearance', and the admin_menu is seen at the top of the screen when logged in.
However if I upload the modules and themes from my development server using Drush or ftp, and then activate the tapestry (or any) theme which is not in core, it will not render, and the admin_menu disappears. Also the Tapestry theme has no screenshot, only the image box where it should be.
Caching is enabled, caches cleared, update.php has been run.
The permissions on the themes and modules are identical on both sites.

It would seem that anything I ftp or Drush up to the the server is not correctly recognised.
I have tried putting the correct folder in RewriteBase in .htaccess, but it has no effect.

Surely Drush is designed to make it easy to migrate sites using rsync and sql-sync??

Any Idea where I am going wrong?

Comments

FrancisGreaves’s picture

Turned out to be permissions across the site.
Once I reset them correctly as follows (from root directory of site)

chmod -Rv 0755 .
chmod -Rv g-s .
chmod -Rv u-s .
chmod -Rv -t .
setfacl -Rv -b .
find . -type f -exec chmod 0644 "{}" \;

Everything woke up!